LINUX.ORG.RU
решено ФорумAdmin

Как настроить SQUID с поддержкой HTTPS?

 , , ,


0

1

Сейчас HTTP мгновенно открывается, а при попытке открыть HTTPS сайты, выдаёт:

SEC_ERROR_UNKNOWN_ISSUER
SQUID.CONF
######################################
# Обслуживаемые прокси-сервером сети #
######################################
reload_into_ims on
max_filedesc 4096
acl localnet src 192.168.0.0/24	# RFC1918 possible internal network
tcp_outgoing_address 0.0.0.0 localnet
#################################################
# Правила какие порты разрешены прокси-сервером #
#################################################
# Порт SSL для подключений по HTTPS-протоколу
acl SSL_ports port 443
acl SSL_ports port 8443
# Список портов, к которым разрешен доступ через прокси-сервер по протоколу HTTP
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 8443 # https v2
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
################################################################
# Пути к файлам запрещающих, разрешающих определенные действия #
################################################################
# Путь к списку IP-адресов пользователей, без ограничения скорости
acl Users_Speed_Unlimit src "/etc/squid/lists/Users_Speed_Unlimit.txt"
# Путь к списку IP-адресов пользователей, с ограничением скорости 1Mb
acl Users_Speed_1000 src "/etc/squid/lists/Users_Speed_1000.txt"
# Путь к списку IP-адресов пользователей, с ограничением скорости 512кб/с
acl Users_Speed_512 src "/etc/squid/lists/Users_Speed_512.txt"
# Путь к списку IP-адресов пользователей, с ограничением скорости 256 кб/с
acl Users_Speed_256 src "/etc/squid/lists/Users_Speed_256.txt"
#Запрещаем интернет
acl Users_Speed_50 src "/etc/squid/lists/Users_Speed_50.txt"
# Списки запрещенных сайтов, банеров и типов файлов
acl BlackList url_regex -i "/etc/squid/acl/BlackList"
#acl BlackList dstdomain "/etc/squid/acl/BlackList"
acl Banners url_regex -i "/etc/squid/acl/Banners"
acl REGEX_ADS dstdomain "/etc/squid/acl/REGEX_ADS"
acl filetypes url_regex -i "/etc/squid/acl/filetypes"
# Путь к белому списку сайтов
#acl WhiteList url_regex -i "/etc/squid/acl/WhiteList"
acl WhiteList dstdomain "/etc/squid/acl/WhiteList"
#########################
# Параметры DNS записей #
#########################
# Список DNS серверов(IP адреса), которые будут использоваться вместо тех, что определены в /etc/resolv.conf файле
#dns_nameservers 127.0.0.1
dns_nameservers 8.8.8.8
##################
#Определяем радио#
##################
acl media rep_mime_type -i ^audio/*
acl media rep_mime_type -i ^video/*
#################
#Блокируем радио#
#################
http_reply_access deny media
########################################
# Правила ограничений доступа клиентов #
########################################
# Запретить доступ к портам, отсутствующим в списке выше
http_access deny !Safe_ports
# Запретить метод CONNECT не на SSL-порт
http_access deny CONNECT !SSL_ports
# Разрешить только локальное управление кэшем
http_access allow localhost manager
http_access deny manager
# Не ограничивать локальный доступ с сервера
http_access allow localhost
# Не ограничивать доступ администраторам
#http_access allow BlackList Users_Speed_Unlimit
http_access allow Users_Speed_Unlimit
# Блокировать интернет конкретным пользователям
http_access deny Users_Speed_50 !WhiteList
# Блокировать запрещенные сайты
http_access deny BlackList
http_access deny Banners
http_access deny REGEX_ADS
#Разрешать доступ в интернет пользователям
http_access allow Users_Speed_1000
http_access allow Users_Speed_512
http_access allow Users_Speed_256
#http_access deny Users_Speed_50
# Блокирует все, что не было разрешено выше
http_access deny all
icp_access deny all

host_verify_strict on

# Кол-во пулов
delay_pools 5
# Первый пул и его класс
delay_class 1 1
# Второй пул и его класс
delay_class 2 2
# Третий пул и его класс
delay_class 3 2
# Четвертый пул и его класс
delay_class 4 2
# Пятый пул и его класс
delay_class 5 2

# Доступ к пулу 1 пользователей из списка Users_Speed_Unlimit
delay_access 1 allow Users_Speed_Unlimit
# Остальных не пропускаем в этот пул
delay_access 1 deny all
# Доступ к пулу 2 пользователей из списка Users_Speed_1000
delay_access 2 allow Users_Speed_1000
# Остальных не пропускаем в этот пул
delay_access 2 deny all
# Доступ к пулу 3 пользователей из списка Users_Speed_512
delay_access 3 allow Users_Speed_512
# Остальных не пропускаем в этот пул
delay_access 3 deny all
# Доступ к пулу 4 пользователей из списка Users_Speed_256
delay_access 4 allow Users_Speed_256
# Остальных не пропускаем в этот пул
delay_access 4 deny all
# Доступ к пулу 5 пользователей из списка Users_Speed_50
delay_access 5 deny Users_Speed_50
# Остальных не пропускаем в этот пул
delay_access 5 deny all
# Первому пулу без ограничения размера буфера и скорости (Users_Speed_Unlimit)
delay_parameters 1 -1/-1
# Второму пулу ограничиваем размер буфера и скорость в 1000 кБ/с (Users_Speed_1000)
delay_parameters 2 -1/-1 1000000/1000000
# Третьему пулу ограничиваем размер буфера и скорость в 512 кБ/с (Users_Speed_512)
delay_parameters 3 -1/-1 64000/64000
# Четвертому пулу ограничиваем размер буфера и скорость в 256 кБ/с(Users_Speed_256)
delay_parameters 4 -1/-1 32000/32000
# Четвертому пулу ограничиваем размер буфера и скорость в 50 кБ/с (Users_Speed_50)
delay_parameters 5 -1/-1 6250/6250
#############################################
# Правила подключений клиентов к прокси-серверу#
#############################################
# Подключения через прозрачный порт HTTP
http_port 3128 intercept options=NO_SSLv3:NO_SSLv2
# Подключение через указания прокси-сервера на стороне клиента HTTP
##http_port 3130 options=NO_SSLv3:NO_SSLv2
# Подключение по HTTPS через прозрачный порт с параметрами подставки сертификата
#https_port 3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/ssl/squidCA.pem
##https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/ssl/myCA.pem key=/etc/squid/ssl/myCA.pem
#https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB options=NO_SSLv3 connection-auth=on cert=/etc/squid/ssl/myCA.pem key=/etc/squid/ssl/myCA.pem

http_port 3130 ssl-bump  \
  cert=/etc/squid/ssl/squidCA.pem \
  generate-host-certificates=on dynamic_cert_mem_cache_size=4MB options=NO_SSLv3:NO_SSLv2

#https_port 3129 ssl-bump intercept \
#  cert=/etc/squid/ssl/squidCA.pem \
#  generate-host-certificates=on dynamic_cert_mem_cache_size=4MB connection-auth=off options=ALL:NO_SSLv3:NO_SSLv2

https_port 3129 cert=/etc/squid/ssl/btrz.cert key=/etc/squid/ssl/btrz.private ssl-bump intercept generate-host-certificates=on version=1 options=NO_SSLv2,NO_SSLv3,SINGLE_DH_USE

# Устанавливаем защищенное соединение и считываем заголовок HTTP
#acl step1 at_step SslBump1
#ssl_bump peek step1
ssl_bump stare all
ssl_bump bump all

# Принимаем сертификаты, даже если они не прошли проверку.
always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/spool/squid_ssldb -M 4MB
sslcrtd_children 5

# Укажем список блокируемых ресурсов (в файле домены вида .domain.com) и правила блокировки их
acl blocked ssl::server_name "/etc/squid/acl/BlackList"
# Закрываем соединение, если клиент заходит на ресурс указанные в blocked
ssl_bump terminate blocked
ssl_bump splice all
#sslcrtd_children 5
#sslcrtd_children 8 startup=1 idle=1

#########################################
# Дополнительные параметры конфигурации #
#########################################
# Путь для дискового кеширования
#cache_dir aufs /var/spool/squid 500 49 256
cache_dir aufs /var/spool/squid 40000 16 256
cache_mem 100 MB
# Путь сохранения дампов аварийного завершения
coredump_dir /var/spool/squid
# Время жизни объектов для протоколов FTP и GOPHER
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
# Время жизни объектов для протоколов HTTP
refresh_pattern -i ^http: 100 50% 1440
# Нулевое время жизни для динамического контента
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
# Время жизни по умолчанию
refresh_pattern . 0 20% 4320
#maximum_object_size 61440 KB
maximum_object_size 50 MB
#minimum_object_size 3 KB
quick_abort_min 0 KB
quick_abort_max 0 KB
cache_swap_low 90
cache_swap_high 95
# Максимальный размер объекта, сохраняемого в оперативной памяти
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
# Количество ротаций лог-файлов (0 - отключена ротация, 15 - максимальное количество)
logfile_rotate 10
log_icp_queries off
client_db off
buffered_logs on
half_closed_clients off
memory_pools off
# E-mail адрес Cache менеджера, для отправки уведомлений и отображении в страницах ошибок
cache_mgr it@61baza.ru
#debug_options ALL,9
#######################
# Кеширование рекламы #
#######################
refresh_pattern http://ad\.                        43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://ads\.                       43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://adv\.                       43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://click\.                     43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://count\.                     43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://counter\.                   43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://engine\.                    43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://img\.readme\.ru             43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://userpic\.livejournal\.com   43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern \.ru/bf-analyze                    43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern \.ru/bf-si                         43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /advs/                             43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /banners/                          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /cgi-bin/iframe/                   43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache

# Подключения через прозрачный порт HTTP
http_port 3128 intercept options=NO_SSLv3:NO_SSLv2

Сам точно понимаешь что сделал?

Intecept proxy, он же прозрачный прокси - решение для тех, чьи вкусы весьма специфичны. И потребуется установка сертификата на _все_ клиентские хосты. О чём тебе и намекает браузер

SSL bump вообще называется «squid in the middle». Угадай почему

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

З.Ы. hint: стандартно настроеный squid ( без извращений с ssl bump, в обычном, а не прозрачном, режиме ), прекрасно работает с https. Из коробки, в любом дистрибутиве

router ★★★★★ ()

Все блокирует по https но как заблокировать скачивание файлов?

например exe? соцсети блокирует прекрасно, но например гуглю «скачать opera portable» и по первому же результату в выдаче спокойно качаюй файл https://www.opera.com/ru/computer/thanks?ni=stable_portable&os=windows

добавление .opera.com результата не дает на сайт оперы зайти не могу, зато скачать - легко

anonymous ()