Содержание страницы
Заметки в процессе установки
Добавление исключений для важных порталов и сервисов
Добавление исключений для SSL Bumping может потребоваться в следующих случаях:
- Программное обеспечение использует протокол, отличный от HTTPS (например, SSH, RDP, VPN)
- Программное обеспечение или веб-ресурс использует протокол WebSockets или HTTP/2.0
- Для доступа к веб-ресурс используются национальные алгоритмы шифрования (GOST, SM2)
- Программное обеспечение использует привязку серверного сертификата (pinning)
- Программное обеспечение или веб-ресурс требует аутентификацию по клиентскому SSL-сертификату
Настройка Squid для исключения выбранных ресурсов
Создание и редактирование списка ресурсов, где не будет использоваться подмена сертификатов (SSL Bump).
Создадим несколько файлов
- whitelist.list – список ресурсов, где не будет использоваться подмена сертификатов (SSL Bump), например банковские платежные системы, мессенджеры и прочее
- blacklist.list – cписок ресурсов, которые заблокированы
- devnet.list – перечень локальных IP адресов и локальных имен, где подмена сертификата может негативно сказывается, например интерфейс управления СХД, FC-коммутаторами и подобным оборудованием
Для добавления в исключения домена со всеми поддоменами, укажите точку в начале значения например: .domain.com
touch /etc/squid/rules/whitelist.list
nano /etc/squid/rules/whitelist.list
Эти строки должны располагаться перед финальной директивой ssl_bump stare all
acl whitelist dstdomain "/etc/squid/rules/whitelist.list"
ssl_bump splice whitelist
Для доменных имен вместо dstdomain можно использовать blacklist ssl::server_name
acl whitelist dstdomain "/etc/squid/rules/whitelist.list"
acl blacklist ssl::server_name "/etc/squid/rules/blacklist.list"
acl devnet dstdomain "/etc/squid/rules/devnet.list"
Пересылать все запросы на указанные ресурсы не используя кэш прокси сервера
К таким ресурсам будут относится 2 списка whitelist и devnet
Добавим соответствующее правило
# no cache
always_direct allow whitelist devnet
Добавим соответствующие действия SSL Bumping
Ничего не делаем с запросами к ресурсам, перечисленным в списке whitelist (у нас уже должно быть описано acl whitelist dstdomain <domain list>). Это можно делать как по соображениям безопасности, так и в случае возникновения проблем при использовании ssl-bump с конкретными сайтами.
ssl_bump splice whitelist
Закрываем соединение с ресурсами из списка blacklist
ssl_bump terminate blacklist
С запросами ко всем остальными сайтам — на этапе SslBump1 смотрим на открытую информацию, на последующих этапах — влезаем в трафик
ssl_bump peek step1
ssl_bump bump all
ssl_bump splice devnet
ssl_bump splice whitelist
ssl_bump terminate blacklist
Текущая конфигурация
Итоговый конфигурационный файл squid.conf должен выглядеть примерно так
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#FIX: sites do not deliver intermediate certificate: certificate issuer (CA) not known
#allow fetching of missing intermediate certificates
acl intermediate_fetching transaction_initiator certificate-fetching
http_access allow intermediate_fetching
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
include /etc/squid/conf.d/*.conf
http_access allow localhost
http_access deny all
# not bump
http_port 8443 tcpkeepalive=60,30,3
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/ssl/squid.pem cipher=DEFAULT:@SECLEVEL=1 options=NO_TLSv1,NO_SSLv3 tls-dh=prime256v1:/etc/squid/ssl/dhparam.pem
tls_outgoing_options min-version=1.1 cipher=DEFAULT:@SECLEVEL=1 options=NO_TLSv1,NO_SSLv3 flags=DONT_VERIFY_PEER
#allow connection even with certificate validation errors
sslproxy_cert_error allow all
acl devnet dstdomain "/etc/squid/rules/devnet.list"
acl whitelist ssl::server_name "/etc/squid/rules/whitelist.list"
acl blacklist ssl::server_name "/etc/squid/rules/blacklist.list"
# no cache
always_direct allow whitelist devnet
acl step1 at_step SslBump1
ssl_bump peek step1
# localhost
ssl_bump splice localhost
# White list
ssl_bump splice devnet
ssl_bump splice whitelist
# Black list
ssl_bump terminate blacklist
#
ssl_bump bump all
ssl_bump stare all
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslcrtd_children 5
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|?) 0 0% 0
refresh_pattern . 0 20% 4320
Дополнительные настройки
- Как установить и настроить Squid 4.XX
- Фильтрация ресурсов — черный и белые списки
- Модульная конфигурация Squid 4.XX
- Аутентификация пользователей в Squid 4.XX – Kerberos, NTLM и Basic
- Мониторинг пользовательской активности Squid 4.XX – SqStat
-
Отчетность пользовательской активности Squid 4.XX – LightSquid
Дополнительная информация