Настройка сервиса Squid для Kerberos-аутентификации

21 сентября 2026

ID 166440

Если вы настраиваете аутентификацию с доменом, в названии которого содержится корневой домен .local, то для корректной работы Kerberos-аутентификации требуется выполнить предварительные действия в операционной системе.

Чтобы настроить сервис Squid для Kerberos-аутентификации:

  1. Скопируйте файл squid.keytab в директорию /etc/squid/.
  2. Настройте доступ к keytab-файлу. Для этого выполните следующие команды в зависимости от используемой операционной системы:
    • Red Hat Enterprise Linux, Rocky Linux, РЕД ОС, Альт Сервер:

      chown squid:squid /etc/squid/squid.keytab

      chmod 400 /etc/squid/squid.keytab

    • Ubuntu, Debian, Astra Linux Special Edition:

      chown proxy:proxy /etc/squid/squid.keytab

      chmod 400 /etc/squid/squid.keytab

    По умолчанию владельцем файла krb5.keytab является суперпользователь.

  3. Добавьте в начало файла /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=10

      auth_param negotiate keep_alive on

      acl authenticated_user proxy_auth REQUIRED

      http_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=10

      auth_param negotiate keep_alive on

      acl authenticated_user proxy_auth REQUIRED

      http_access deny !authenticated_user

  4. Если вы хотите включить запись событий в журнал в режиме отладки, в файле /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.

  5. Если вы хотите отключить Replay cache, выполните следующие действия в зависимости от используемой операционной системы:
    • Для Red Hat Enterprise Linux, Rocky Linux или РЕД ОС добавьте в файл /etc/sysconfig/squid строку:

      KRB5RCACHETYPE=none

    • Для Альт Сервер добавьте в файл /etc/default/squid строку:

      KRB5RCACHETYPE=none

    • Для Ubuntu, Debian, Astra Linux Special Edition:
      1. Создайте файл /etc/systemd/system/squid.service.d/override.conf следующего содержания:

        [Service]

        Environment=KRB5RCACHETYPE=none

      2. Выполните команду:

        systemctl daemon-reload

    По умолчанию Replay cache включен.

    Replay cache обеспечивает более надежную защиту, но может снижать производительность приложения.

  6. Перезагрузите сервис Squid. Для этого выполните команду:

    systemctl restart squid

  7. На компьютерах локальной сети организации в параметрах браузера укажите полное доменное имя (FQDN) сервера с сервисом Squid в качестве прокси-сервера.

Сервис Squid будет настроен для использования Kerberos-аутентификации.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!