Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: помогите прикрутить squid к ldap  (Прочитано 2587 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fordiegolg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
помогите прикрутить squid к ldap
« : 13 Января 2012, 18:22:56 »
OC Ubuntu Server 10.04.03 x86 squid 2.7
AD Win2k8r2

задача прикрутить Squid с аутентификацией через АД

попытаюсь расписать корни проблемы:
в АД есть контейнер Users (создается по умолчанию)и например (я сам сделал) так называемое подразделение (organization units)с именем Contacts

поиск по Users проходит вот так
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "cn=Users,dc=domain,dc=company" -h domain.company

поиск по подразделению проходит вот так
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "ou=Contacts,dc=domain,dc=company" -h domain.company

к сожалению в squid можно подставит только одну запись поиска
вопрос: как объеденить два вида поиска в один фильтр? чтоб и в контейнере Users искало и в подразделении Conatacts

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: помогите прикрутить squid к ldap
« Ответ #1 : 13 Января 2012, 18:54:35 »
Самое очевидное что напрашивается это или запихать поиск по АД в скрипт, который использовать в конфиге кальмара, или использовать идентификацию по группе.

Оффлайн fordiegolg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: помогите прикрутить squid к ldap
« Ответ #2 : 13 Января 2012, 22:46:25 »
сделал в АД группу internet, присвоил нескольким пользователям эту группу
в сквид добавил
auth_param basic program /usr/lib/squid/squid_ldap_group -d -v 3 -R -b "dc=domain,dc=company" -f "(&(cn=%v)(memberOf=CN=%a,CN=Users,DC=domain,DC=company))" -D ldap -w "Qwertyu1" -h domain.company

теперь когда браузер просит авторизоваться необходимо ввести логин учетной записи в домене АД а вместо пароля имя группы!!!
как запилить чтоб спрашивал пароль от учетной записи? Или аутентификация по группе предполагает вместо пароля от учетки набирать имя группы? То есть как бы все правильно работает?

Пользователь решил продолжить мысль 13 Января 2012, 23:16:32:
и еще один вопрос к гуру.

проверка проходит на отлично
adminalpha@Alpha:~$ /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "dc=domain,dc=company" -h domain.company
test Qwertyu1
OK

а если добавить строку в сквид
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "dc=domain,dc=company" -h domain.company

то когда браузер запрашивает аутентификацию почему то не принимает пароль!!! если добавить cn=Users (как в примере в первом посте) то все прокатывает.... но тогда касяк: пользователь должен находится в АД в контейнере Users
« Последнее редактирование: 13 Января 2012, 23:18:00 от fordiegolg »

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: помогите прикрутить squid к ldap
« Ответ #3 : 13 Января 2012, 23:51:41 »
Вообще man великая сила :D
-s base|one|sub
search scope when performing user DN searches specified by the -f option. Defaults to 'sub'.
base object only, one level below the base object or subtree below the base object
Не пробовали?

Оффлайн fordiegolg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: помогите прикрутить squid к ldap
« Ответ #4 : 14 Января 2012, 09:22:34 »
drako не могли бы вы показать как использовать параметр -s на моем примере что то я никак не разберусь куда его вставлять

Пользователь решил продолжить мысль 14 Января 2012, 09:30:49:
пробовал все три параметра

adminalpha@Alpha:~$ /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -s base -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "dc=domain,dc=company" -h domain.company
test Qwertyu1
ERR Success

adminalpha@Alpha:~$ /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -s one -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "dc=domain,dc=company" -h domain.company
test Qwertyu1
ERR Success

adminalpha@Alpha:~$ /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -s sub -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -b "dc=domain,dc=company" -h domain.company
test Qwertyu1
ERR Success

с такими параметрами вообще не ищет :(
« Последнее редактирование: 14 Января 2012, 09:30:49 от fordiegolg »

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: помогите прикрутить squid к ldap
« Ответ #5 : 14 Января 2012, 11:32:35 »
В отличие от Вас, мне ман в интернете надо искать, а у Вас он под рукой. Следуя логике, -s должно стоять после -f.

Оффлайн fordiegolg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: помогите прикрутить squid к ldap
« Ответ #6 : 14 Января 2012, 11:49:06 »
вот с таким параметром удалось пройти проверку
adminalpha@Alpha:~$ /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -s sub -f "(&(objectClass=person)(sAMAccountName=%s))" -s sub -u sAMAccountName -b "dc=domain,dc=company" -h domain.company
test Qwertyu1
OK

после добавления в сквид строки
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -R -D ldap -w "Qwertyu1" -f "(&(objectClass=person)(sAMAccountName=%s))" -s sub -u sAMAccountName -b "dc=domain,dc=company" -h domain.company
все заработало!!!
теперь сквид принемает аутентификацию если пользователь находится в контейнере Users так и в подразделении Contacts

DRAKO ОГРОМНОЕ СПАСИБО!!!
« Последнее редактирование: 14 Января 2012, 11:55:19 от fordiegolg »

 

Страница сгенерирована за 0.026 секунд. Запросов: 22.