Я нахожусь в сети, которая защищена Cyberroam в моем университете. Недавно они внесли некоторые изменения в свою политику безопасности и «заблокировали» facebook.com.

Я привык думать, что блокировка сайтов https невозможна, поскольку соединение зашифровано.

Q1. Как они этого добились? Q2. Можно ли каким-либо образом получить доступ к facebook.com по этому соединению?

Я получаю сообщение об ошибке: This connection is untrusted. This site uses HTTP Strict Transport Security (HSTS) to specify that Firefox only connect to it securely. As a result, it is not possible to add an exception for this certificate.

Спасибо

1 ответ1

1

TLS в HTTPS защищает HTTP-запрос, но не защищает нижние уровни. То есть веб-сайт HTTPS по-прежнему может быть заблокирован путем проверки заголовка "Указание имени сервера" TLS (та же функция, которая используется для виртуального хостинга HTTPS) или по IP-адресу (если клиент не запрашивает какой-либо конкретный сервер через SNI TLS). ), оба из которых отправляются за пределы туннеля TLS.


Тем не менее, Cyberroam в вашем случае не делает ни; он использует подход кувалдой - он перехватывает все рукопожатия HTTPS, дешифрует соединение, делая вид, что это клиент, проверяет его и повторно шифрует его, используя собственный сертификат TLS. Так что вместо одного рукопожатия TLS ...

  • веб-сервер ⇆ браузер

... теперь у вас есть два:

  • веб-сервер ⇆ межсетевой экран (притворяется браузером)

  • брандмауэр (притворяется сервером) ⇆ браузер

По сути, ваш брандмауэр выполняет атаку «человек посередине» против вас.


Поскольку брандмауэр, очевидно, не имеет реального сертификата TLS Facebook, он генерирует свой собственный.

Теперь, как правило, поскольку веб-сервер имеет нераспознанный сертификат, браузер спросит вас, хотите ли вы игнорировать это или предпочитаете работать в безопасности. (В корпоративных средах сертификат брандмауэра может быть даже предустановлен на все рабочие станции.)

Однако когда вы в последний раз посещали Facebook, его сервер сообщил браузеру, используя HSTS, что он должен быть заблокирован в «безопасном» режиме. То есть, пока HSTS активен для сайта Facebook, браузер всегда будет использовать HTTPS, даже если вы пытались зайти на этот сайт через http:// , и он не позволит вам переопределить ошибки плохого сертификата, такие как у вас. потому что нет никакого способа отличить Cyberroam от реальной злонамеренной атаки.

Кроме того, Firefox и Chrome даже жестко закодировали информацию о сертификатах для некоторых веб-сайтов (включая Google и Facebook), поэтому даже если ваша ОС доверяла поддельному сертификату, вы все равно не смогли бы посетить Google, потому что браузер знает, что «только власти X и Y» и никто другой не может выдавать сертификаты для google.com ". (Я думаю, это называется закрепление сертификата, или предварительная загрузка, или что-то такое?)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .