LINUX.ORG.RU

Прозрачный Squid с фильтрацией https

 


1

1

Установил squid 4.0.17 на debian 8.6 из этой статьи https://habrahabr.ru/post/272733/. Со следующим конфигом работает фильтрация http и https:

  • dns_nameservers 127.0.0.1
  • acl localnet src 192.168.0.0/16
  • acl inet url_regex -i «/etc/squid/allowed_servers.acl»
  • 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
  • http_access deny !Safe_ports
  • http_access deny CONNECT !SSL_ports
  • http_access allow localhost manager
  • http_access deny manager
  • http_access allow !inet localnet
  • http_access allow localhost
  • http_access deny all
  • http_port 3128 intercept #options=NO_SSLv3:NO_SSLv2
  • http_port 3130 #options=NO_SSLv3:NO_SSLv2
  • https_port 3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth =off cert=/etc/squid/cert/squidCA.pem
  • always_direct allow all
  • sslproxy_cert_error allow all
  • #sslproxy_flags DONT_VERIFY_PEER
  • acl blocked ssl::server_name «/etc/squid/blocked_https.txt»
  • acl step1 at_step SslBump1
  • ssl_bump peek step1
  • #терминируем соединение, если клиент заходит на запрещенный ресурс
  • ssl_bump terminate !blocked
  • ssl_bump splice all
  • sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
  • 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
  • cache_dir aufs /var/spool/squid 20000 49 256 # Каталог для хранения кэша размер ом
  • maximum_object_size 61440 KB # Максимальный размер объекта, записываемого в кэш
  • minimum_object_size 3 KB
  • cache_swap_low 90
  • cache_swap_high 95
  • maximum_object_size_in_memory 512 KB
  • memory_replacement_policy lru

С таким конфигом https блокируются все сайты, кроме указанных в файле blocked_https.txt и http блокируются сайты прописанные в файле allowed_servers.acl, а остальные все открыты.

Если,меняю, правило http_access allow !inet localnet на http_access allow inet localnet: http блокируются все, кроме тех которые указаны в файле, но тогда https перестает вообще открываться, выдает ошибку сертификата в firefox-SEC_ERROR_UNKNOWN_ISSUER, chrome -NET::ERR_CERT_AUTHORITY_INVALID.

Как сделать, чтоб http и https блокировали все сайты, кроме указанных в файлах?

Потому что за подмену сертификата надо ломать пальцы.

Radjah ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.