Настройка SSL Bumping в сервисе Squid
03 июля 2024
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, выполните следующие действия:
- Убедитесь, что используемый сервис Squid поддерживает необходимые опции. Для этого выполните команду:
squid -v
Параметр
configure options
должен содержать значения--enable-ssl-crtd и --with-openssl
. - Скопируйте SSL-сертификат в формате PEM в файл /etc/squid/bump.crt.
- Скопируйте приватный ключ в формате PEM в файл /etc/squid/bump.key.
- Сгенерируйте файл параметров для алгоритма Diffie-Hellman. Для этого выполните команду:
openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048
- Настройте права на использование файла 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*
- CentOS, Red Hat Enterprise Linux или SUSE Linux Enterprise Server:
- Определите версию сервиса Squid, используемую на вашем сервере. Для этого выполните команду:
squid -v
Информация об используемой версии отобразится в формате
Squid Cache: Version <версия>
. - Остановите сервис Squid, если он запущен. Для этого выполните команду:
service squid stop
- Если вы используете сервис Squid версии 3.5.х, выполните следующие действия:
- Создайте каталог для базы данных сертификатов и инициализируйте базу данных. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- 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
- CentOS или Red Hat Enterprise Linux:
- В конфигурационном файле /etc/squid/squid.conf выполните следующие изменения:
- В конец файла добавьте следующие директивы в зависимости от используемой операционной системы:
- 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
- Замените директиву 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
- В конец файла добавьте следующие директивы в зависимости от используемой операционной системы:
- Создайте каталог для базы данных сертификатов и инициализируйте базу данных. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- Если вы используете сервис Squid версии 4.х, выполните следующие действия:
- Создайте каталог для базы данных сертификатов и инициализируйте базу данных. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- 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
- CentOS или Red Hat Enterprise Linux:
- В конфигурационном файле /etc/squid/squid.conf выполните следующие изменения:
- Добавьте в начало файла или перед первой директивой http_access следующие директивы:
acl intermediate_fetching transaction_initiator certificate-fetching
http_access allow intermediate_fetching
- Добавьте в конец файла следующие директивы в зависимости от используемой операционной системы:
- 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
- Замените директиву 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
- Добавьте в начало файла или перед первой директивой http_access следующие директивы:
- Создайте каталог для базы данных сертификатов и инициализируйте базу данных. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- Перезагрузите сервис Squid. Для этого выполните команду:
service squid restart
Настройка SSL Bumping в сервисе Squid будет завершена.