Fexyn
Fexyn

Глоссарий

Что такое SNI (Server Name Indication)

Поле в TLS-handshake, в открытом виде сообщающее серверу, к какому хосту ты пытаешься подключиться, видимое всем, кто наблюдает.

Server Name Indication — SNI — это поле в TLS handshake. Когда браузер подключается к сайту через HTTPS, он отправляет SNI-значение в открытом виде в самом первом сообщении: "хочу говорить с www.example.com". Сервер использует это, чтобы выбрать правильный сертификат (несколько сайтов часто шарят один IP через virtual hosting), и затем обе стороны устанавливают шифрование на всё, что следует.

Подвох: SNI в открытом виде. Любой, кто смотрит на провод — провайдер, кафе Wi-Fi, DPI-бокс — видит хост. Хотя каждый байт страницы после handshake зашифрован, домен назначения открыт во время handshake.

Зачем существует SNI

До SNI каждому HTTPS-сайту нужен был свой IP-адрес. Сервер получал зашифрованный handshake и не мог понять, какой сертификат предъявить. SNI это починил, добавив хост в незашифрованную часть handshake. Теперь сотни сайтов могут шарить IP — сервер читает SNI, выбирает сертификат, handshake завершается.

Так в масштабе работают shared hosting и CDN. Cloudflare, Fastly, Akamai обслуживают миллионы доменов с маленького набора IP. SNI — то, что делает это возможным.

Что SNI раскрывает

Даже с полным HTTPS:

  • Провайдер знает каждый домен, который ты посещаешь.
  • Сеть твоего работодателя знает.
  • Государственная разведывательная аппаратура знает.
  • Любой, кто запускает DPI на пути, знает.

Содержимое страницы зашифровано. Назначение — нет. Для приватности от сети это боковой канал, опровергающий рассуждение "но HTTPS меня защищает".

Encrypted SNI: медленный rollout

Encrypted Client Hello (ECH) и более старый Encrypted SNI (ESNI) пытаются зашифровать хост, чтобы сеть не могла его прочитать. Оба работают, шифруя SNI ключом, который публикует адресат через DNS.

Внедрение частичное:

  • Cloudflare поддерживает ECH.
  • Firefox поддерживает ECH (по умолчанию выключен в некоторых регионах).
  • Chrome — экспериментальная поддержка.
  • Большинство CDN и крупных сайтов не развернули.

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

Как VLESS Reality использует SNI, чтобы исчезнуть

VLESS Reality берёт SNI и превращает его в камуфляж. SNI handshake'a — это SNI настоящего публичного сайта вроде microsoft.com. Сертификат, возвращаемый — настоящий сертификат microsoft.com, подписанный настоящим CA. Для DPI, наблюдающего за проводом, это соединение неотличимо от любой другой HTTPS-сессии к microsoft.com — тот же SNI, тот же сертификат, тот же тайминг handshake.

Чтобы заблокировать, цензор должен заблокировать microsoft.com — чего обычно не сделают, потому что слишком много другого трафика от него зависит. Это структурная разница между Reality и "обфусцированными" VPN, пытающимися подделать TLS-handshake. Reality использует настоящие.

Прочитай Deep packet inspection, объяснение о том, как это вписывается в более широкую картину цензуры, или страницу протокола VLESS Reality для деталей реализации.

Попробуй Fexyn бесплатно 7 дней — Stealth использует настоящий SNI к публичным хостам, чтобы DPI видел обычный HTTPS, а не VPN.

Связанные термины

Попробуй Fexyn бесплатно 7 дней

Приложение для Windows доступно сейчас в бета-версии. WireGuard, VLESS Reality и OpenVPN — без логов истории просмотров, DNS-запросов и содержимого трафика.

Цены
Что такое SNI (Server Name Indication) | Fexyn VPN