Настройка сервиса Squid для Kerberos-аутентификации
21 сентября 2026
ID 166440
Если вы настраиваете аутентификацию с доменом, в названии которого содержится корневой домен .local, то для корректной работы Kerberos-аутентификации требуется выполнить предварительные действия в операционной системе.
Чтобы настроить сервис Squid для Kerberos-аутентификации:
- Скопируйте файл squid.keytab в директорию /etc/squid/.
- Настройте доступ к keytab-файлу. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- Red Hat Enterprise Linux, Rocky Linux, РЕД ОС, Альт Сервер:
chown squid:squid /etc/squid/squid.keytabchmod 400 /etc/squid/squid.keytab - Ubuntu, Debian, Astra Linux Special Edition:
chown proxy:proxy /etc/squid/squid.keytabchmod 400 /etc/squid/squid.keytab
По умолчанию владельцем файла krb5.keytab является суперпользователь.
- Red Hat Enterprise Linux, Rocky Linux, РЕД ОС, Альт Сервер:
- Добавьте в начало файла /etc/squid/squid.conf следующие параметры в зависимости от используемой операционной системы:
- Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:
auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s HTTP/<имя сервера с сервисом Squid>@<realm-имя домена Active Directory в верхнем регистре>auth_param negotiate children 100 startup=0 idle=10auth_param negotiate keep_alive onacl authenticated_user proxy_auth REQUIREDhttp_access deny !authenticated_user - Ubuntu, Debian, Astra Linux Special Edition, Альт Сервер:
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s HTTP/<имя сервера с сервисом Squid>@<realm-имя домена Active Directory в верхнем регистре>auth_param negotiate children 100 startup=0 idle=10auth_param negotiate keep_alive onacl authenticated_user proxy_auth REQUIREDhttp_access deny !authenticated_user
- Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:
- Если вы хотите включить запись событий в журнал в режиме отладки, в файле /etc/squid/squid.conf добавьте параметр
-dв первую строку:- Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:
auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<имя сервера с сервисом Squid>@<realm-имя домена Active Directory в верхнем регистре> - Ubuntu, Debian, Astra Linux Special Edition, Альт Сервер:
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<имя сервера с сервисом Squid>@<realm-имя домена Active Directory в верхнем регистре>
Отладочные события будут записаны в файл /var/log/squid/cache.log.
- Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:
- Если вы хотите отключить Replay cache, выполните следующие действия в зависимости от используемой операционной системы:
- Для Red Hat Enterprise Linux, Rocky Linux или РЕД ОС добавьте в файл /etc/sysconfig/squid строку:
KRB5RCACHETYPE=none - Для Альт Сервер добавьте в файл /etc/default/squid строку:
KRB5RCACHETYPE=none - Для Ubuntu, Debian, Astra Linux Special Edition:
- Создайте файл /etc/systemd/system/squid.service.d/override.conf следующего содержания:
[Service]Environment=KRB5RCACHETYPE=none - Выполните команду:
systemctl daemon-reload
- Создайте файл /etc/systemd/system/squid.service.d/override.conf следующего содержания:
По умолчанию Replay cache включен.
Replay cache обеспечивает более надежную защиту, но может снижать производительность приложения.
- Для Red Hat Enterprise Linux, Rocky Linux или РЕД ОС добавьте в файл /etc/sysconfig/squid строку:
- Перезагрузите сервис Squid. Для этого выполните команду:
systemctl restart squid - На компьютерах локальной сети организации в параметрах браузера укажите полное доменное имя (FQDN) сервера с сервисом Squid в качестве прокси-сервера.
Сервис Squid будет настроен для использования Kerberos-аутентификации.