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

13 декабря 2023

ID 166244

Инструкция используется, если программа 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:

      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:

        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:

        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:

        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:

        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 на следующую:

        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

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

    service squid restart

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

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