Войти

Авторизуйтесь для управления подпиской

Bessy Connect

4 мин чтения

SNI и ECH: как блокируют по имени сайта и что меняет шифрование заголовка

SNI (Server Name Indication) — поле в первом пакете защищённого соединения, где браузер открытым текстом сообщает, к какому домену он обращается. Шифрование начинается после, поэтому имя сайта видно любому оборудованию на пути ещё до того, как появилась защита. ECH (Encrypted Client Hello) — механизм, который это поле прячет. Ниже — как работает блокировка по SNI, что именно меняет ECH и почему его включение иногда ухудшает ситуацию.

Почему имя сайта видно, если соединение зашифровано

Потому что в момент отправки SNI шифровать ещё нечем. Рукопожатие TLS начинается с сообщения ClientHello, где клиент перечисляет поддерживаемые алгоритмы и указывает домен. Сервер по этому имени выбирает нужный сертификат — на одном IP-адресе живут тысячи сайтов, и без SNI он не знал бы, чей сертификат отдавать. Общий ключ появляется только на следующем шаге.

Отсюда практическое следствие: адрес страницы, пароли и содержимое запроса действительно скрыты, а имя домена — нет. Это то, чего не говорят инструкции «включите DoH и станете невидимы»: приватный DNS закрывает запрос к DNS, но SNI уходит следом и открытым текстом.

Как выглядит блокировка по SNI

Оборудование читает ClientHello, сравнивает домен со списком и обрывает соединение до того, как оно установлено. Технически это дешевле всех остальных способов: не нужно ни расшифровки, ни анализа поведения — достаточно сопоставления строки.

| Способ | Что читает | Чем обходится | |---|---|---| | По IP-адресу | адрес назначения | сменой адреса, CDN | | По DNS | запрос имени | DoH/DoT | | По SNI | домен в ClientHello | ECH, туннель | | По сигнатуре протокола | форма пакетов | протоколом без сигнатуры |

Механику предыдущих строк разбирают отдельно: что такое DPI и что такое ТСПУ.

Что делает ECH и откуда берётся ключ

ECH шифрует ClientHello целиком, включая SNI. Открытым остаётся только внешнее имя — общее для всех сайтов за одним провайдером, чаще всего имя самого CDN. Наблюдатель видит соединение с «облаком», но не видит, какой из размещённых там сайтов запрошен.

Ключ для этого шифрования клиент берёт из DNS: у домена публикуется запись типа HTTPS с параметром ech. Отсюда два условия, без которых ECH просто не включится:

  1. DNS-запрос должен идти по DoH или DoT. Если запрос идёт открытым текстом, наблюдатель прочитает имя оттуда, и прятать SNI уже бессмысленно.
  2. Сайт должен быть за провайдером, который ECH поддерживает. Одной настройки браузера мало: у домена должна быть опубликована запись с ключом.

По публичным примечаниям к релизам, поддержка есть в Firefox начиная со 118-й версии и в Chrome начиная со 117-й — обе вышли осенью 2023 года.

Почему включение ECH иногда делает хуже

Потому что редкое становится заметным. Пока ECH использует небольшая доля соединений, само его наличие — отличительный признак, по которому фильтрующая система может работать так же, как работала по домену: не разбирая, что внутри, обрывать всё, что выглядит как ECH.

Так уже было с предшественником. ESNI, ранняя версия этого механизма, по сообщениям исследовательских групп была отсечена в Китае в 2020 году — целиком, как класс. Похожие сообщения о блокировке ECH-соединений появлялись и позже, применительно к другим странам.

Отсюда вывод, неудобный для коротких советов: ECH — правильный механизм, но он решает задачу приватности от провайдера, а не задачу обхода блокировок. В сети, где его отсекают, галочка в браузере даёт обратный эффект.

Что это значит для ВПН

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

Здесь два подхода расходятся. Классический ВПН прячет домен, но обнаруживает себя рисунком пакетов. VLESS с маскировкой Reality выполняет рукопожатие с реальным популярным сайтом и подставляет его SNI — то есть не прячет имя, а показывает правдоподобное. Для фильтрации это выглядит как обычный заход на обычный сайт, и сопоставление со списком доменов проходит штатно. Разбор механики — Reality и VLESS простыми словами, а что из этого следует в жёстких регионах — BessyConnect в Иране, России и Китае.

Что сделать практически

  • Включите DoH или DoT в браузере и на устройстве. Без этого ECH не активируется, а имена доменов утекают в открытом виде: приватный DNS.
  • Проверьте, нет ли утечки DNS мимо туннеля. Это самая частая причина, по которой список сайтов уходит провайдеру при включённом ВПН: утечки DNS.
  • Не рассчитывайте на ECH как на средство обхода. Он уменьшает то, что видит провайдер в обычной сети, и не помогает там, где блокировки жёсткие.
  • Если задача — доступ, а не только приватность, работает туннель с протоколом без собственной сигнатуры: как обойти блокировки.

Частые вопросы

Что такое SNI простыми словами? Это поле в первом пакете защищённого соединения, где браузер открытым текстом называет домен, к которому подключается. Оно нужно серверу, чтобы выбрать правильный сертификат, и видно всем на пути, потому что отправляется до появления шифрования.

Скрывает ли HTTPS имя сайта? Нет. HTTPS скрывает адрес страницы, параметры запроса и содержимое, но само доменное имя уходит в SNI открытым текстом. Скрыть его может ECH или туннель.

Чем ECH отличается от ESNI? ESNI шифровал только поле с именем и был ранней версией механизма; ECH шифрует ClientHello целиком и заменил его. ESNI считается устаревшим.

Достаточно ли включить ECH, чтобы обойти блокировку? Нет. ECH уменьшает то, что видит провайдер, но в сетях с жёсткой фильтрацией соединения с ECH могут отсекаться целиком — именно потому, что их мало и они заметны.

Виден ли SNI при включённом ВПН? Провайдеру — нет: рукопожатие с сайтом происходит на выходном сервере. Провайдер видит только соединение с адресом сервера и решает уже по признакам самого протокола туннеля.

Похожие статьи

ВПН для WhatsApp: как звонить при блокировке Ватсапа

BessyConnect — ВПН для WhatsApp: возвращаем голосовые и видеозвонки Ватсапа при блокировке. Протокол VLESS + Reality обходит DPI. Скачайте для iOS и Android. Далее

ВПН для Instagram: как открыть Инстаграм при блокировке

Instagram не открывается или тормозит? ВПН BessyConnect на VLESS+Reality возвращает доступ к Инстаграму: лента, сторис и Reels грузятся без блокировок. Далее

VPN с российским IP | BessyVPN — лучший VPN для России

BessyVPN — лучший VPN с российским IP. Доступ к Госуслугам, банкам, Ozon, Wildberries из любой страны. Серверы в Санкт-Петербурге, безлимитный трафик. Узнать больше: bessy.my Далее