Настройка SSL Bumping в сервисе Squid
18 января 2019
ID 166244
Чтобы настроить SSL Bumping в сервисе Squid, выполните следующие действия:
- Убедитесь, что используемый сервис Squid поддерживает необходимые опции. Для этого выполните команду:
squid -vПараметр
configure optionsдолжен содержать значения--enable-ssl-crtd и --with-openssl. - Перейдите в директорию сервиса Squid. Для этого выполните команду:
cd /etc/squid - Создайте самоподписанный SSL-сертификат. Для этого выполните команду:
openssl req -new -newkey rsa:2048 -days <количество дней действия сертификата> -nodes -x509 -keyout squidCA.pem -out squidCA.pemОтобразится предложение заполнить поля самоподписанного SSL-сертификата.
- Заполните поля самоподписанного SSL-сертификата.
- Создайте доверенный сертификат для импорта в браузер. Для этого выполните команду:
openssl x509 -in squidCA.pem -outform DER -out squid.der - Импортируйте файл squid.der в браузеры пользователей локальных компьютеров.
Способ импорта файла squid.der в браузер зависит от типа браузера.
- Настройте права на использование файла самоподписанного сертификата. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- CentOS, Red Hat Enterprise Linux или SUSE Linux Enterprise Server:
chown squid:squid squidCA.pemchmod 400 squidCA.pem - Ubuntu или Debian:
chown proxy:proxy squidCA.pemchmod 400 squidCA.pem
- CentOS, Red Hat Enterprise Linux или SUSE Linux Enterprise Server:
- Создайте директорию для будущих сертификатов. Для этого выполните следующие команды в зависимости от используемой операционной системы:
- CentOS или Red Hat Enterprise Linux:
mkdir -p /var/lib/squid/usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_dbchown -R squid:squid /var/lib/squid - Ubuntu:
mkdir -p /var/lib/squid/usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_dbchown -R proxy:proxy /var/lib/squid - SUSE Linux Enterprise Server:
mkdir -p /var/lib/squid/usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_dbchown -R squid:squid /var/lib/squid - В операционной системе Debian сервис Squid по умолчанию не поддерживает SSL Bumping. Если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping, вам требуется создать директорию для будущих сертификатов с помощью следующих команд:
mkdir -p /var/lib/squid<путь, указанный при компиляции>/ssl_crtd -c -s /var/lib/squid/ssl_dbchown -R <пользователь, указанный при компиляции>:<группа, указанная при компиляции> /var/lib/squid
- CentOS или Red Hat Enterprise Linux:
- Измените параметры сервиса Squid. Для этого в файле /etc/squid/squid.conf выполните следующие действия:
- Замените
http_port 3128наhttp_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/squidCA.pem. - Добавьте в конец файла следующие строки:
- CentOS или Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error deny all - Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error deny all - SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error deny all - Debian (если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping):
sslcrtd_program <путь, указанный при компиляции>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error deny all
- CentOS или Red Hat Enterprise Linux:
- Если вы хотите исключить из проверки сертификаты для доверенных доменов, добавьте следующие строки:
- CentOS или Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allacl BrokenButTrustedServers dstdomain <example.com>sslproxy_cert_error allow BrokenButTrustedServerssslproxy_cert_error deny all - Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allacl BrokenButTrustedServers dstdomain <example.com>sslproxy_cert_error allow BrokenButTrustedServerssslproxy_cert_error deny all - SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allacl BrokenButTrustedServers dstdomain <example.com>sslproxy_cert_error allow BrokenButTrustedServerssslproxy_cert_error deny all - Debian (если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping):
sslcrtd_program <путь, указанный при компиляции>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allacl BrokenButTrustedServers dstdomain <example.com>sslproxy_cert_error allow BrokenButTrustedServerssslproxy_cert_error deny all
- CentOS или Red Hat Enterprise Linux:
- Если вы хотите отключить проверку сертификатов для всех доменов, добавьте следующие строки:
- CentOS или Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error allow allsslproxy_flags DONT_VERIFY_PEER - Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error allow allsslproxy_flags DONT_VERIFY_PEER - SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error allow allsslproxy_flags DONT_VERIFY_PEER - Debian (если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping):
sslcrtd_program <путь зависит от настроек при компиляции>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MBsslcrtd_children 5ssl_bump server-first allsslproxy_cert_error allow allsslproxy_flags DONT_VERIFY_PEER
- CentOS или Red Hat Enterprise Linux:
- Замените
- Перезагрузите сервис Squid. Для этого выполните команду:
service squid restart
Настройка SSL Bumping в сервисе Squid будет завершена.