Автор Тема: Помогите настроить аутентификацию SQUID через LDAP  (Прочитано 57464 раз)

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Доброе время суток! Помогите настроить аутентификацию SQUID через OpenLDAP (отдельный сервер). Оба сервера на Linux CentOS 6.4
С чего начать и куда смотреть, получилось только настроить по pam_ldap.conf, он авторизует всех юзеров, а нужно по определенной ветке proxy.
Заранее спасибо!

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 456
    • Просмотр профиля
Здрасвствуйте! Вы читали этот материал? Там много разных решений по отбору по критериям как при аутенитификации, так и при авторизации пользователей  squid, учётки которых хранятся в каталоге. Если у Вас другая задача, опишите её подробнее (чего Вы уже добились и что нужно получить), решение найдём.

Егор

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Добрый день! Да читал, получилось только
auth_param basic program /usr/lib64/squid/squid_ldap_auth -b "ou=r77,ou=users,dc=fssprus,dc=ru" -H ldap://10.77.4.10:389 только так авторизует, но нам нужно по конкретной группе cn=proxy, которая находится cn=proxy,ou=r77,ou=groups,dc=fssprus,dc=ru.

В LDAP группа, по которой должен проходить отбор.
cn=proxy
gidNumber=1005
memberUid=ubushaev@r77
objectClass=posixGroup
                  top

Я в этом деле новичок, мне кажется, что группа создана некорректно. Подскажите

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 456
    • Просмотр профиля
Если у Вас POSIX-группа, то этот случай тоже рассматривался в статье. Посмотрите.

Егор

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Posix не получается, делаю как всё написано в инструкции, и мне не нравится то, что нужно указывать наименование группы вместо пароля,
в процессе настройки мы поняли, что нам нужно настроить по memberOf, не получается создать группу с objectClass=groupOfUniqueNames, для этого метода авторизации

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
/usr/lib64/squid/squid_ldap_group -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' -f '(&(objectClass=posixAccount)(cn=%g)(memberUid=%u))' -d -H ldap://10.77.4.10:389
ubushaev@r77 proxy
Connected OK
group filter '(&(objectClass=posixAccount)(cn=proxy)(memberUid=ubushaev@r77))', searchbase 'ou=r77,ou=groups,dc=fssprus,dc=ru'
squid_ldap_group WARNING, LDAP search error 'No such object'
ERR

Также с posixGroup
/usr/lib64/squid/squid_ldap_group -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' -f '(&(objectClass=posixGroup)(cn=%g)(memberUid=%u))' -d -H ldap://10.77.4.10:389
ubushaev@r77 proxy
Connected OK
group filter '(&(objectClass=posixGroup)(cn=proxy)(memberUid=ubushaev@r77))', searchbase 'ou=r77,ou=groups,dc=fssprus,dc=ru'
squid_ldap_group WARNING, LDAP search error 'No such object'
ERR

« Последнее редактирование: 16 Январь 2015, 10:13:37 от ubushan »

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 456
    • Просмотр профиля
Покажите, пожалуйста, точный LDIF Вашей группы, вывод команды:

# ldapsearch -x -LLL -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' 'cn=proxy'

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
ldapsearch -x -LLL -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' 'cn=proxy'
No such object (32)
Хотя в JXplorer всё есть
см.скрин

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 456
    • Просмотр профиля
Проблема с ACL? Попробуйте выполнить ldapsearch от имени той учётки, что и графический клиент:

# ldapsearch -x -LLL -D 'some_dn' -W -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' 'cn=proxy'

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
От пользователя:
ldapsearch -x -LLL -D 'uid=ubushaev@r77,ou=r77,ou=users,dc=fssprus,dc=ru' -W -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' 'cn=proxy'
Enter LDAP Password:
dn: cn=proxy,ou=r77,ou=groups,dc=fssprus,dc=ru
cn: proxy
objectClass: posixGroup
objectClass: top
memberUid: ubushaev@r77
gidNumber: 1005

« Последнее редактирование: 16 Январь 2015, 10:52:09 от ubushan »

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 456
    • Просмотр профиля
А так:

# ldapsearch -x -LLL -D 'uid=ubushaev@r77,ou=r77,ou=users,dc=fssprus,dc=ru' -W -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' '(&(objectClass=posixGroup)(cn=proxy)(memberUid=ubushaev@r77))'

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
А так:

# ldapsearch -x -LLL -D 'uid=ubushaev@r77,ou=r77,ou=users,dc=fssprus,dc=ru' -W -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' '(&(objectClass=posixGroup)(cn=proxy)(memberUid=ubushaev@r77))'

ldapsearch -x -LLL -D 'uid=ubushaev@r77,ou=r77,ou=users,dc=fssprus,dc=ru' -W -b 'ou=r77,ou=groups,dc=fssprus,dc=ru' '(&(objectClass=posixGroup)(cn=proxy)(memberUid=ubushaev@r77))'
Enter LDAP Password:
dn: cn=proxy,ou=r77,ou=groups,dc=fssprus,dc=ru
cn: proxy
objectClass: posixGroup
objectClass: top
memberUid: ubushaev@r77
gidNumber: 1005

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 456
    • Просмотр профиля
Ну тогда два варианта: либо разрешаете анонимный доступ на чтение каталога, либо прописываете в хелпере аутентификацию для выполнения LDAP-поиска (смотрите параметры -D -W (-w) в man squid_ldap_group), только желательно не под своей учёткой, а заведите отдельную с правами только на чтение.

Егор

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Ну тогда два варианта: либо разрешаете анонимный доступ на чтение каталога, либо прописываете в хелпере аутентификацию для выполнения LDAP-поиска (смотрите параметры -D -W (-w) в man squid_ldap_group), только желательно не под своей учёткой, а заведите отдельную с правами только на чтение.

Егор

А как завести учетку? например с учетным именем squid.

ubushan

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Вообщем пользователя создал, как ему теперь права назначить на "только чтение"