Author Topic: NTLM авторизация клиентов на прокси-сервере  (Read 6454 times)

mravil

  • Zen Samurai
  • ****
  • Posts: 410
  • Karma: +27/-4
  • В чужую сеть со своим протоколом не лезь!
    • View Profile
Вдруг кому пригодится...
Настроил NT авторизацию клиентов на проксе.
Настраивал следующим образом:
1) Установил winbind, завел сервер в домен под учеткой администратора домена (обязятельно, иначе сквид упадет);
2) добавил в тег ACL конфига /usr/share/zentyal/stubs/squid/squid.conf.mas строчки
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMAIN\\group
auth_param ntlm keep_alive off
http_access allow SSL_ports
4) Перезапустил squid и теперь юзверы авторизованные в PDC автоматически авторизуются на прокси

PIN

  • Zen Apprentice
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Можно поподробней пункт 1
Я читал что для NTLM авторизации еще и самба нужна или я неправ ?
Как настроить чтоб была не для всех юзеров а только для тех которые в AD являются членами определенной группы (к примеру в AD создать группу internet и присвоить туда юзверей из домена кому нужен инет с полным доступом на скачку, и еще одну группу к примеру web и присвоить туда юзверей с ограниченным доступом, например без возможности качать exe, zip и тп). Кто то подобное настраивал?
И еще я читал что при kerberos авторизации юзверей в WIN домене нет необходимости ставить winbind, samba и заводить саму проксю в домен, интересует это решение именно на kerberos авторизации, может кто помочь разъяснить как это сделать в сборке zentyal ?
Вот http://habrahabr.ru/blogs/voip/137124/ интересная статья про авторизацию доменных юзверей с  Asterisk и OpenFire, реализовать бы такое для zentyal.

mravil

  • Zen Samurai
  • ****
  • Posts: 410
  • Karma: +27/-4
  • В чужую сеть со своим протоколом не лезь!
    • View Profile
winbind установлен только ради ntlm_auth. Забыл написать, что Зенчел выступает в роли контроллера домена, на нем и авторизуемся. Фильтрация настраивается через веб-морду, там не сложно. Керберос авторизацию настраивать не пробовал, так как нет у меня виндовых серверов с AD. По поводу статьи - была у меня такая затея, запустить jabber сервер на отдельной машине, тот что в Зенчеле скуп на настройки.

mravil

  • Zen Samurai
  • ****
  • Posts: 410
  • Karma: +27/-4
  • В чужую сеть со своим протоколом не лезь!
    • View Profile
Работа над ошибками. Так получилось, что на новом сервере моя же инструкция меня подвела - не заработала авторизация. Исправляю свою ошибку, просьба сильно не ругать.
1) установили winbind
Code: [Select]
apt-get install winbind
2) вводим сервер в домен
Code: [Select]
net rpc join -U admin
где admin - администратор домена
3) Даем права доступа группе proxy к каталогу winbindd_privileged как указано тут http://forum.ubuntu.ru/index.php?topic=52689.msg388797#msg388797
4) Находим строки в файле /usr/share/zentyal/stubs/squid/squid.conf.mas
Code: [Select]
auth_param basic realm Zentyal HTTP proxy
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b  ou=Users,<% $dn %>  -u uid  -h ldap://127.0.0.1:<% $ldapport %>
и заменяем на следующее
Code: [Select]
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMAIN\\group
auth_param ntlm children 100
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
authenticate_ttl 20 minutes
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=DOMAIN\\group
auth_param basic children 100
auth_param basic realm Zentyal HTTP proxy
#auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b  ou=Users,<% $dn %>  -u uid  -h ldap://127.0.0.1:<% $ldapport %>
DOMAIN - это ваш домен Samba
group - группа, пользователям которой разрешен доступ в интернет
Почему-то без этой строчки невозможно ходить по https, требует повторной авторизации
Code: [Select]
http_access allow SSL_ports
5) Перезапускаем демон прокси
Code: [Select]
service winbind-ch.sh start
service zentyal squid restart