Squid/AD-auth

Материал из ALT Linux Wiki

В этой статье будет рассмотрена настройка прозрачной Kerberos-аутентификации прокси-сервера Squid с возможностью использования единой точки входа.
Для работы необходима настроенная Kerberos-область. Создайте keytab-файл с принципалом HTTP (Создание SPN и Keytab файла).
Данный keytab-файл должен быть доступен для чтения пользователю squid.
Проверим полученный keytab-файл:

# kinit -kV -p HTTP/sqserver.domg.testg@DOMG.TESTG -t /etc/squid/squid.keytab
Using default cache: persistent:0:krb_ccache_95Lkl2t
Using principal: HTTP/sqserver.domg.testg@DOMG.TESTG
Using keytab: /etc/squid/squid.keytab
Authenticated to Kerberos 5

Удалим полученный билет:

# kdestroy

Укажем прокси-серверу путь к keytab-файлу, для этого в файл /etc/sysconfig/squid добавим следующие строки:

KRB5_KTNAME=/etc/squid/squid.keytab
export KRB5_KTNAME

Далее настроим kerberos-аутентификацию конфигурационном файле /etc/squid/squid.conf:

auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d -s HTTP/sqserver.domg.testg@DOMG.TESTG
auth_param negotiate children 20 startup=0 idle=1
auth_param negotiate keep_alive on

Параметр -d указан для отладки, после окончательной настройки его можно убрать.
Далее к спискам контроля доступа добавим следующий ACL:

acl auth proxy_auth REQUIRED

Этот означает всех пользователей прошедших аутентификацию.
В заключении разрешаем доступ к прокси-серверу аутентифицированным пользователям:

http_access allow auth

Перезапускаем прокси-сервер:

# systemctl restart squid
Внимание! На клиентских машинах адрес прокси сервера должен быть указан в FQDN-формате (sqserver.domg.testg)