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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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.088 секунд. Запросов: 25.