Ограничения портала в кэше squid - PullRequest
0 голосов
/ 09 января 2019

Я немного озадачен ограничениями портала Squid. Я использую прокси Squid в качестве основного шлюза между локальной сетью и Интернетом. Это позволяет http и https трафик. Трафик в интернет, не проходящий через squid, блокируется. SSL-бампинг не активен и не планируется внедрять, так как я хочу отказаться от установки сертификатов на клиентах.

Я хочу отобразить портал в первый раз, когда клиент отправляет запрос в Интернет (или подключается к сети). В качестве PoC я использовал функциональность squid "Portal Splash Pages":

acl localserver dstdomain <internal_server_IP>
http_access allow localserver

external_acl_type splash_page ttl=10 concurrency=100 %SRC /usr/lib64/squid/ext_session_acl -t 7200 -b /usr/libexec/squid/sessions
acl existing_users external splash_page
deny_info http://<internal_server_IP>/tos.html existing_users
http_access deny !existing_users

Это прекрасно работает для любого HTTP-трафика. Однако любой трафик HTTPS отображает ошибку, которая гласит, что соединение было закрыто без отображения портала авторизации.

Насколько я понимаю, этого следует ожидать, так как браузер будет работать только тогда, когда ему предложено SSL-рукопожатие, и будет отклонять любые другие ответы (например, перенаправление в приведенном выше примере). С точки зрения безопасности это имеет большой смысл.

Есть ли какой-нибудь способ отобразить портал в автономном режиме независимо от установленного соединения? Я узнал, что не могу перенаправить трафик HTTPS. Есть ли способ вмешаться до того, как был сделан запрос CONNECT, кроме столкновения SSL / MITM? Или просто невозможно отобразить портал в неволе в среде, подобной этой, для пользователей, открывающих соединения HTTPS?

...