Meek

Meekpluggable transport для Tor через domain fronting. Идея: снаружи HTTPS-запрос выглядит как обращение к легитимному крупному сервису (Google, Cloudflare, Fastly), а внутри — трафик к Tor-мосту.

Что такое domain fronting

  1. Клиент подключается к IP крупного CDN.
  2. В SNI и в HTTP-заголовке Host: указывает разные имена. SNI — «безобидный» сайт того же CDN (например cdnjs.cloudflare.com). Host — реальный целевой сервис (например meek-server.tor.example).
  3. DPI видит только SNI — cdnjs.cloudflare.com. Никаких причин блокировать.
  4. Внутри TLS-туннеля CDN-фронтенд смотрит на Host-заголовок и перенаправляет запрос на бэкенд Tor.

Ключевой момент: SNI шифруется TLS, но виден DPI до TLS-handshake (в TLS 1.2 в открытом виде). А Host в HTTPS полностью зашифрован — DPI его не видит.

Почему это перестало работать

В 2018 Google запретил domain fronting на своей инфраструктуре («technical decision»). Amazon (CloudFront) — тогда же. Cloudflare — в 2015-2018 постепенно. Azure, Fastly — тоже закрутили гайки. Причины: юридическое давление стран-цензоров + собственная безопасность (domain fronting используется малваром для C2).

Итог: meek почти мёртв. Из работающих остались микро-провайдеры и самопальные фронты. ECH (Encrypted Client Hello) — идейный преемник, шифрует SNI на транспортном уровне, не полагаясь на кооперацию CDN.

Разновидности meek

Пример bridge line

meek_lite 0.0.2.0:2 url=https://meek.example.com/ front=cdn.example.com

Похожие идеи

См. также