Назад | Перейти на главную страницу

Шифрует ли SSL также адрес DNS?

Если я сделаю HTTP-запрос:

https://hello.domain.com

будет ли соединение шифровать адрес домена (hello.domain.com)? Таким образом, анализ трафика по-прежнему не позволяет угадать запрошенный DNS-адрес.

Примечание. Я говорю о DNS-адресе, а не о разрешенном IP-адресе.

Нет.

Чтобы веб-браузер мог определить IP-адрес какого-либо хоста, скажем, example.com, он должен найти это в DNS, и это отдельное соединение не зашифровано.

Таким образом, SSL / TLS не обеспечивает полной защиты от злонамеренных интернет-провайдеров. Такой злоумышленник все еще может определить, к какому сайту веб-браузер хочет получить доступ, даже если он не может прочитать фактические данные.

Кроме того, текущие реализации TLS всегда будут отправлять полное доменное имя сервера в виде открытого текста для поддержки Индикация имени сервера. Таким образом, злонамеренному интернет-провайдеру даже не нужно смотреть ваши DNS-запросы.

Нет, IP-адрес не будет зашифрован.

Я собирался написать простой пример, используя версию для почтового отделения / конверта, но понял, что только для DNS / HTTPS это стало более запутанным.

Ты можешь видеть http://www.tcpipguide.com/free/t_IPDatagramEncapsulation.htm чтобы получить представление об инкапсуляции.

На изображении ниже, используя ваш пример, будет зашифровано только сообщение верхнего уровня. Все остальные уровни не зашифрованы.

SSL / TLS передает имя хоста (не URL-адрес) в незашифрованном виде во время рукопожатия. URL-адрес (https://domainname.com/bla бла бла ...) зашифровано.

Но сниффер всегда сможет получить информацию об IP и портах. Потому что без этого ваш пакет не может быть доставлен.

Если вам нужно полное шифрование, вам следует подумать об использовании VPN-туннеля с правильной настройкой DNS. Это как минимум защитит вас от прослушивания в вашей локальной сети.

HTTP-запрос выглядит так:

GET /index.html HTTP/1.1
Host: www.domain.com

Для отправки запроса браузер должен сначала разрешить имя домена (в этом случае он должен получить IP-адрес www.domain.com), подключиться к IP-адресу и отправить запрос. Если вы используете https, то содержимое запроса будет зашифровано и его нельзя будет прослушать. Однако запрос к DNS-серверу не будет зашифрован, поэтому можно определить, какие сайты вы просматриваете. Если вы просматриваете http-сайты с использованием HTTP-прокси или VPN, ваш браузер не будет отправлять запросы DNS, поэтому невозможно будет сказать, какие сайты вы просматриваете, или проанализировать ваш трафик.