Технологии цензуры
SNI-блокировка — фильтрация TLS по Server Name Indication
Самый распространённый механизм блокировки веб-сайтов через DPI: цензор читает домен из открытого TLS SNI-поля и сравнивает его с черным списком, без расшифровки самого трафика.
Определение
SNI-блокировка — это техника цензуры, при которой DPI извлекает значение поля Server Name Indication из открытого ClientHello-пакета TLS-handshake’а и сравнивает его со списком запрещённых доменов; при матче соединение блокируется (через RST-injection или drop). Это самый дешёвый и распространённый способ фильтрации HTTPS-трафика в 2026 году — работает почти везде, где есть DPI.
Механика стала возможной из-за того, что SNI (RFC 6066, 2011) передаётся в TLS-handshake в открытом виде, чтобы веб-сервер с виртуальным хостингом понял, какой сертификат отдавать. То, что задумывалось как удобство для multi-tenant хостинга, стало главной дырой приватности HTTPS.
Как работает
DPI не нужно расшифровывать TLS, чтобы прочитать SNI — это plaintext-поле. Цепочка:
- ClientHello. Клиент шлёт серверу TLS-handshake. В extension’е
server_nameлежит plaintext домен (vpn-rating.xyz). - DPI парсит ClientHello. На магистрали мониторящий пакеты движок видит TLS-handshake (порт 443, magic-byte
0x16 0x03 0x01или0x16 0x03 0x03), парсит extension list, достаёт SNI. - Сравнение со списком. Бинарный поиск по отсортированному hash-list заблокированных доменов или wildcard-match (
*.protonvpn.ch). - Действие.
- RST-injection — DPI шлёт обеим сторонам TCP RST.
- Drop / null-route — пакет молча отбрасывается, клиент видит timeout.
- Redirect — некоторые провайдеры (Иран, Туркменистан) редиректят на свою заглушку.
Variants:
- Full match. Точное совпадение домена с blacklist’ом (
facebook.com). - Suffix match. Совпадение по суффиксу (
*.facebook.com). - Regex match. Современные ТСПУ-имплементации поддерживают regex (
(amnezia|wireguard|proton).*). - Combined match. SNI + JA3 + IP — для уменьшения false-positives.
Применение в России 2026
ТСПУ реализует SNI-блокировку для подавляющего большинства публичных VPN-сервисов и социальных сетей. Заблокированные SNI на конец мая 2026 включают:
*.protonvpn.com,*.protonvpn.ch,*.nordvpn.com,*.expressvpn.com*.openvpn.net(страница загрузки клиента — SNI достаточен)*.amneziavpn.org,*.outline.network- LinkedIn, Instagram, Facebook (полные домены и subdomain)
- В разное время — TG-DC, Discord-CDN, Cloudflare-edge (ip-block, не SNI)
Обходы:
- ECH (Encrypted ClientHello). RFC 9180. SNI шифруется ECH-ключом домена. DPI видит SNI =
cloudflare-ech.com(общий outer SNI). Внутри — реальный inner SNI к запретному сайту. Поддержка с Chromium 117+, Firefox 119+, на стороне сервера — Cloudflare и единичные хостинги. ТСПУ начал блокировать ECH-трафик целиком в 2024–2025, но фоном (не везде). - Domain Fronting. SNI = whitelisted-домен (azureedge.net), Host-header в HTTPS = настоящий. Большие облака закрыли в 2018, единичные edge’и (CDN77, Yandex) ещё держат.
- VPN с маскировкой SNI. VLESS Reality — SNI = реальный whitelisted-сайт (microsoft.com), сервер прокси переписывает handshake. DPI не отличает от обычного HTTPS к Microsoft.
- NaiveProxy, TLS-in-TLS защищённые протоколы — SNI к фасадному CDN.
Юзеру: если в браузере открывается https://www.google.com, но не открывается https://protonvpn.com с того же IP — это SNI-блок. Тест: curl -v --resolve protonvpn.com:443:<some-IP> https://protonvpn.com (если падает, значит DPI читает именно SNI а не IP).
Связанные термины
SNI — само поле. ECH — главное лекарство. DPI и TSPU — инфраструктура атаки. Domain Fronting — старая защита. VLESS Reality — современный обход.
Источники
- RFC 6066 — оригинал SNI.
- RFC 8446 — TLS 1.3.
- OONI Country Report — Russia — наблюдения за SNI-блокировками.
- GFW Report — SNI filtering — исследования по Китаю, применимы к РФ.