Настройка SSL Bumping в сервисе Squid

Инструкция используется, если приложение Kaspersky Web Traffic Security установлено из RPM- или DEB-пакета на готовую операционную систему. Для приложения Kaspersky Web Traffic Security, установленного из ISO-файла, ручное изменение конфигурационных файлов встроенного прокси-сервера не предусмотрено.

Рекомендуется настроить SSL Bumping в сервисе Squid для обработки шифрованных соединений. Если SSL Bumping не настроен, то прокси-сервер не может вмешаться в процесс установки шифрованного соединения. В этом случае модули защиты Kaspersky Web Traffic Security (Антивирус и Анти-Фишинг) не могут проверить данные, передаваемые внутри шифрованного канала связи. Это снижает уровень защиты IT-инфраструктуры организации.

Для работы SSL Bumping требуется SSL-сертификат и приватный ключ в формате PEM. Вы можете создать новый самоподписанный SSL-сертификат или использовать готовый (например, SSL-сертификат, выданный центром сертификации организации).

Если приватный ключ защищен паролем, его нужно предварительно расшифровать.

Чтобы настроить SSL Bumping в сервисе Squid:

  1. Убедитесь, что используемый сервис Squid поддерживает необходимые опции. Для этого выполните команду:

    squid -v

    Параметр configure options должен содержать значения --enable-ssl-crtd и --with-openssl.

  2. Скопируйте SSL-сертификат в формате PEM в файл /etc/squid/bump.crt.
  3. Скопируйте приватный ключ в формате PEM в файл /etc/squid/bump.key.
  4. Сгенерируйте файл параметров для алгоритма Diffie-Hellman. Для этого выполните команду:

    openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048

  5. Настройте права на использование файла SSL-сертификата. Для этого выполните следующие команды в зависимости от используемой операционной системы:
    • CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Rocky Linux, РЕД ОС:

      chown squid:squid /etc/squid/bump*

      chmod 400 /etc/squid/bump*

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

      chown proxy:proxy /etc/squid/bump*

      chmod 400 /etc/squid/bump*

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

    squid -v

    Информация об используемой версии отобразится в формате Squid Cache: Version <версия>.

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

    service squid stop

  8. Если вы используете сервис Squid версии 3.5.х, выполните следующие действия:
    1. Создайте каталог для базы данных сертификатов и инициализируйте базу данных. Для этого выполните следующие команды в зависимости от используемой операционной системы:
      • CentOS, Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R squid:squid /var/lib/squid

      • SUSE Linux Enterprise Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R squid:squid /var/lib/squid

      • Ubuntu или Debian:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R proxy:proxy /var/lib/squid

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

          sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

          sslproxy_cert_error allow all

          ssl_bump stare all

        • SUSE Linux Enterprise Server:

          sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

          sslproxy_cert_error allow all

          ssl_bump stare all

        • Ubuntu или Debian:

          sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

          sslproxy_cert_error allow all

          ssl_bump stare all

      2. Замените директиву http_port на следующую:

        http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/etc/squid/bump.crt key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,NO_SSLv2,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

  9. Если вы используете сервис Squid версии 4.х и и выше, выполните следующие действия:
    1. Создайте каталог для базы данных сертификатов и инициализируйте базу данных. Для этого выполните следующие команды в зависимости от используемой операционной системы:
      • CentOS, Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib64/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R squid:squid /var/lib/squid

      • SUSE Linux Enterprise Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/sbin/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R squid:squid /var/lib/squid

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

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R proxy:proxy /var/lib/squid

    2. В конфигурационном файле /etc/squid/squid.conf выполните следующие изменения:
      1. Добавьте в начало файла или перед первой директивой http_access следующие директивы:

        acl intermediate_fetching transaction_initiator certificate-fetching

        http_access allow intermediate_fetching

      2. Добавьте в конец файла следующие директивы в зависимости от используемой операционной системы:
        • CentOS, Red Hat Enterprise Linux, Rocky Linux, РЕД ОС:

          sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

          sslproxy_cert_error allow all

          ssl_bump stare all

        • SUSE Linux Enterprise Server:

          sslcrtd_program /usr/sbin/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

          sslproxy_cert_error allow all

          ssl_bump stare all

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

          sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

          sslproxy_cert_error allow all

          ssl_bump stare all

      3. Замените директиву http_port на одну из следующих, в зависимости от версии Squid:
        • Squid версии 4.x или 5.x:

          http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

        • Squid версии 6.x и выше:

          http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3 tls-dh=/etc/squid/bump_dhparam.pem

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

    service squid restart

Настройка SSL Bumping в сервисе Squid будет завершена.

В начало