Как может любая компания "заменить свой DNS и смотреть netflix из другой страны" работать с HTTPS-трафиком?
Есть много сервисов, таких как "unblock-us.com", которые позволяют использовать гео-ограниченные сервисы из других стран. Настройка всегда одна и та же: просто замени DNS и все.
У меня вопрос: как это работает?
Для HTTP-трафика это очень просто - DNS должен вернуть IP-адрес какого-либо сервера, который находится в нужной географической области, принимает HTTP-запросы и перенаправляет их на сервер, известный из заголовка HOST.
Для HTTPS-трафика - HTTP-трафик отправляется по SSL, поэтому теоретически любой прокси-сервер может видеть только то, что кто-то отправил большую часть зашифрованных данных с неизвестным назначением. Как это работает?
2 ответа
Служба Smart DNS не должна беспокоиться о фактическом содержании запроса. Он просто перенаправляет все соединение как есть. Конечно, для этого требуется соотношение 1:1 между перенаправленным доменным именем и IP-адресом.
Если вы хотите получить доступ netflix.com
сервер Smart DNS "подделывает" ответ и направляет вас, скажем, 1.2.3.4
, Этот сервер находится в США, чтобы обмануть Netflix. Это просто меняет некоторые заголовки на трафик, в то время как посредник между фактическим netflix.com
серверы и ваш компьютер. Для Netflix, похоже, что он общается с 1.2.3.4
,
Сервер знает, что при поступлении трафика 1.2.3.4
Это для Netflix. Там может быть другой адрес, 1.2.3.5
, для Youtube.
Большинство современных программных средств способны дешифровать и повторно шифровать трафик SSL, настроив прокси-сервер как посредника. Таким образом, цепочка доверия сертификатов SSL/TLS действительно нарушена, но немного более изощренна, поэтому пользователь даже не знает об этом.
В моем случае я использовал Squid3
сделать аналогичную конфигурацию для прозрачного прокси, и есть функция под названием Squid-in-the-middle SSL Bump
который в резюме делает это. Это (как вы увидите по этой ссылке) влечет за собой некоторые моральные и даже юридические проблемы, поскольку это может быть незаконным в зависимости от того, в какой стране / штате вы живете. Однако имейте в виду, что когда прокси-сервер генерирует динамический сертификат, он должен быть принят пользователем в любом случае.
Есть очень хорошая ссылка, которая подробно описывает это, и ее легко прочитать, поэтому я надеюсь, что она поможет вам понять, как создаются такие прозрачные прокси.