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

13 декабря 2023

ID 166440

Инструкция используется, если программа Kaspersky Web Traffic Security установлена из rpm- или deb-пакета на готовую операционную систему.

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

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

  1. Если вы используете операционные системы CentOS версии 8.x или Red Hat Enterprise Linux версии 8.x, настройте политику использования криптографичеких алгоритмов. Для этого выполните команду:

    update-crypto-policies --set LEGACY

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

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

      chmod 400 /etc/squid/squid.keytab

    • Ubuntu, Debian или Альт Сервер:

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

      chmod 400 /etc/squid/squid.keytab

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

  4. Добавьте в начало файла /etc/squid/squid.conf следующие параметры в зависимости от используемой операционной системы:
    • CentOS или Red Hat Enterprise 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

    • SUSE Linux Enterprise Server:

      auth_param negotiate program /usr/sbin/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 или Альт Сервер:

      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

  5. Если вы хотите включить запись событий в журнал в режиме отладки, в файле /etc/squid/squid.conf добавьте параметр -d в первую строку:
    • CentOS или Red Hat Enterprise Linux:

      auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<имя сервера с сервисом Squid>@<realm имя домена Active Directory>

    • SUSE Linux Enterprise Server:

      auth_param negotiate program /usr/sbin/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<имя сервера с сервисом Squid>@<realm имя домена Active Directory в верхнем регистре>

    • Ubuntu, Debian или Альт Сервер:

      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.

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

      KRB5RCACHETYPE=none

    • Для Ubuntu версии 18.04.х, Debian версии 9.х или Альт Сервер добавьте в файл /etc/default/squid строку:

      KRB5RCACHETYPE=none

    • Для SUSE Linux Enterprise Server версии 15.х или Debian версии 10.х:
      1. Создайте файл /etc/systemd/system/squid.service.d/override.conf следующего содержания:

        [Service]

        Environment=KRB5RCACHETYPE=none

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

        systemctl daemon-reload

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

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

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

    service squid restart

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

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

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