Я уже много часов искал способ настроить прозрачный прокси для SSL (не Squid). Общий ответ: я не могу, но я знаю есть несколько способов, хотя. Моя цель только следующая:
На следующей странице говорится, что я могу передавать трафик без изменений, но не сказано, как именно: Iptables https прозрачный прокси с Privoxy?
На следующей странице показано правило iptables для 443, которое я сам не смог заставить работать: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:proxy
На следующей странице рассказывается, как заставить это работать только с Squid: http://www.rahulpahade.com/content/squid-transparent-proxy-over-ssl-https
РЕДАКТИРОВАТЬ: Один человек говорит здесь: Как мне использовать IPTABLES для создания сквозной передачи HTTPS (443) вокруг Squid? «Лучшее, что вы можете сделать, это заблокировать прямой доступ к порту 443 и сообщить вашим пользователям, что если они хотят использовать HTTPS, они должны настроить свой браузер для использования прокси». Но я просто знаю, как полностью заблокировать 443, чтобы тогда он не работал под прокси.
Если вы хотите отфильтровать доменные имена, у вас есть два возможных способа: вы можете взять имя из метода CONNECT, выданного клиентом, если он знает, что он должен использовать прокси-сервер для соединений HTTPS, и отфильтровать его (Squids поддерживает это Кстати). Или, если вы действительно действительно нужно сделать это прозрачно, вам нужно будет изучить (зашифрованные) заголовки запроса.
Если вы хотите видеть зашифрованные заголовки запросов, вам нужен ключ. Если вы хотите иметь ключ, вам нужен сертификат, который: а) доверяет клиенту как «правильный» сертификат и б) удостоверяет все возможные хосты (подстановочные знаки - все).
Итак, что вам нужно сделать, это
В основном, если вам нужно прозрачное прокси, это связано с тем, что вы не хотите или не можете перенастраивать клиентов для использования прокси. Если это относится и к вашему запросу, у вас, вероятно, не будет возможности устанавливать сертификаты на клиентов и отмечать их как «доверенные». Так что даже несмотря на то, что существует технический способ прозрачного SSL-проксирования, я подозреваю, что вы выиграете не так много.
Я знаю, что это старый вопрос, но если OP хочет только внести в черный / белый список определенные доменные имена, им вообще не нужно использовать прокси, они могут просто использовать черный список на основе DNS.
Любой другой домен будет разрешен. Весь веб-трафик SSL или иным образом будет проходить через шлюз без изменений.
Редактировать: Поскольку OP готов заставить пользователей просматривать свои списки, он может заблокировать другие методы доступа к DNS. Таким образом, если пользователь попытается использовать один из этих заблокированных методов DNS, веб-сайты просто не будут работать. он же 'Мой путь или шоссе'
Для DNS-over-HTTPS, упомянутого @wheeler, вы можете просто заблокировать регулярные поисковые запросы DNS на такие сайты, как https://dns.google.com и https://cloudflare-dns.com/dns-query и https://doh.cleanbrowsing.org/doh/family-filter/. Хотя это быстро станет неприемлемым, так как все больше и больше услуг будут подключены к сети.
Вам также может понадобиться способ блокировки типов MIME, таких как application / dns-udpwireformat, для других разрабатываемых методов DNS.
Делегат может работать как Человек посередине прокси для HTTPS.
Для прозрачного режима Встроенный IPS (Suricata, Snort) система может помочь вам заблокировать ssl-сайты.
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Setting_up_IPSinline_for_Linux
Блокировать правила SSL-сайта для конкретного пользователя:
drop ip any 443 -> 192.168.3.x any (content:".facebook.com"; msg:"Simplewall block facebook.com ";sid:7;rev:1;)
drop ip any 443 -> 192.168.3.204 any (content:".youtube"; msg:"Simplewall block youtube.com" ;sid:4;rev:1;)
Блокировать правила загрузки файлов на основе расширений:
drop ip any any -> 192.168.3.63 any (msg:"File exe block"; fileext:"exe"; filestore ;sid:1;rev:1;)
drop ip any ssl -> 192.168.3.63 any (msg:"File mp3 block"; fileext:"mp3"; filestore ;sid:11;rev:1;)
drop ip any ssl -> 192.168.3.63 any (msg:"File pdf block"; fileext:"pdf"; filestore ;sid:21;rev:1;)
Попробуйте это с SimpleWall
Очень просто добавить правило блокировки с помощью веб-интерфейса Simplewall.
Вы также можете добавить правила в Simplewall => Content Filter
используйте те же правила для IPS вместе с фильтром содержимого http.