Настройка SSL Bumping в сервисе Squid
Чтобы настроить
в сервисе 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.pem
chmod 400 squidCA.pem
- Ubuntu или Debian:
chown proxy:proxy squidCA.pem
chmod 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_db
chown -R squid:squid /var/lib/squid
- Ubuntu:
mkdir -p /var/lib/squid
/usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -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_db
chown -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_db
chown -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 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- Debian (если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping):
sslcrtd_program <путь, указанный при компиляции>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_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 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- Debian (если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping):
sslcrtd_program <путь, указанный при компиляции>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_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 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- Debian (если сервис Squid был скомпилирован с включенной поддержкой SSL Bumping):
sslcrtd_program <путь зависит от настроек при компиляции>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- CentOS или Red Hat Enterprise Linux:
- Замените
- Перезагрузите сервис Squid. Для этого выполните команду:
service squid restart
Настройка SSL Bumping в сервисе Squid будет завершена.