Первое и самое важное, это то что нужно настроить именно прозрачный прокси, без необходимости каких либо манипуляций с браузером у сотрудников, потому как контора большая (есть ПК и на Linux и на Wundows), второе это то что нет необходимости глубоко лезть в трафик, нужно про кто куда заходит, то есть на какие сайта заходят сотрудники. С HTTP всё ок, работает и в прозрачном и в не прозрачном режиме. А вот HTTPS работает только если указать прокси в настройках браузера.
Я перепробовал уже кучу вариантов, и с сертификатами и без. Последний вариант, когда в прозрачном режиме, браузер открывает только http, squid пишет логи, sarg все это отображает. А, https при завороте его на squid перестаёт работать.
Браузер выдаёт ошибку: ssl_error_rx_record_too_long
Про неё много пишут, если поискать, но подходящего решения так и не нашёл.
В логах squid вот такая ошибка: NONE_NONE/400 3642 - error:invalid-request - HIER_NONE/- text/html при попытке открыть что либо по https.
При этом http открывается и вот так отображается в логах squid (например): TCP_MISS_ABORTED/000 0 GET
kakoysegodnyadennedeli.ru/favicon.ico - ORIGINAL_DST/81.176.226.68 -
В общем буду раз любым предложениям и рекомендациям.
Сейчас остановился вот на таком конфиге Squid
spoilerroot@squid:/etc/squid# cat squid.conf | grep -v "^#" | grep -v "^$"
acl localnet src 10.168.0.0/24 # 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
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3129
http_port 3128 transparent
#intercept тоже пробовал
coredump_dir /var/cache/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
И вот такой iptables
spoilerroot@squid:/etc/squid# iptables-save
# Generated by iptables-save v1.8.7 on Thu Sep 8 16:27:33 2022
*filter
:INPUT DROP [89894:18307366]
:FORWARD DROP [172:200195]
:OUTPUT ACCEPT [53544:27055027]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 10.168.0.0/24 -p tcp -m multiport --ports 53 -j ACCEPT
-A INPUT -s 10.168.0.0/24 -p udp -m multiport --ports 53 -j ACCEPT
-A INPUT -s 10.168.0.0/24 -p udp -m multiport --ports 80 -j ACCEPT
-A INPUT -s 10.168.0.0/24 -p tcp -m multiport --ports 80 -j ACCEPT
-A INPUT -s 10.168.0.0/24 -p tcp -m multiport --ports 3128 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -s 10.168.0.0/24 -p tcp -m multiport --ports 110,5190,25,21 -j ACCEPT
-A FORWARD -s 10.168.0.0/24 -p tcp -m multiport --ports 443,80,8080 -j ACCEPT
COMMIT
# Completed on Thu Sep 8 16:27:33 2022
# Generated by iptables-save v1.8.7 on Thu Sep 8 16:27:33 2022
*nat
:PREROUTING ACCEPT [955122:800367290]
:INPUT ACCEPT [5033:333707]
:OUTPUT ACCEPT [1669:160742]
:POSTROUTING ACCEPT [1668:159242]
-A PREROUTING -s 10.168.0.0/24 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
-A PREROUTING -s 10.168.0.0/24 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.168.0.1:3128
(два разных варианта, пробовал оба для 443 порта)
-A POSTROUTING
-A POSTROUTING -s 10.168.0.0/24 -j MASQUERADE
(-A POSTROUTING -p tcp -m tcp --dport 443 -j MASQUERADE - пробовал добавить, не помогло, потом убрал)
COMMIT
# Completed on Thu Sep 8 16:27:33 2022