Domain fronting
Domain fronting — техника обхода блокировок, при которой SNI и HTTP-заголовок Host указывают на разные домены. DPI видит SNI «безопасного» сайта, а на самом деле трафик уходит к заблокированному через тот же CDN.
Как это работает технически
- Атакуемый и целевой сайт оба лежат на одном CDN (Cloudflare, Fastly, AWS CloudFront, Google Cloud).
- Клиент устанавливает TLS-соединение к IP CDN.
- В SNI (внутри TLS ClientHello, виден до шифрования) —
www.allowed.com. - После TLS-handshake, внутри зашифрованного канала, шлёт HTTP-запрос с
Host: blocked.com. - DPI видит только SNI — «человек идёт на allowed.com». Не блокирует.
- CDN получает запрос, смотрит на Host, роутит на бэкенд blocked.com.
[client] → TLS(SNI=allowed.com) → [DPI: OK] → [CDN]
↓
внутри HTTP: Host: blocked.com → [blocked.com backend]
История и смерть
| Год | Событие |
|---|---|
| 2010-е | Domain fronting массово используется Tor (meek), Signal, Telegram, Psiphon. |
| Апрель 2018 | Google отключает domain fronting в GAE. «Technical decision». |
| Апрель 2018 | Amazon запрещает через CloudFront. |
| 2019-2020 | Cloudflare постепенно закручивает: SNI и Host должны совпадать. |
| 2021 | Azure, Fastly запрещают. |
| Сегодня | Практически мёртв на больших CDN. Живёт на мелких. |
Почему закрыли
- Юридическое давление стран-цензоров на CDN.
- Malware-C2. Многие вирусы использовали domain fronting чтобы прятать C2-серверы за легитимными сайтами. Cloudflare/Google не хотели быть в этой истории.
- Финансовые причины. Спонсоры сервисов не хотят «нести имиджевые риски».
Идейные наследники
- ECH (Encrypted Client Hello) — шифрует сам SNI. DPI не видит куда идёшь, независимо от кооперации CDN. Пока плохо распространён.
- REALITY — не полагается на CDN. Сам сервер «перехватывает» TLS-handshake к настоящему сайту-донору и подменяет его на прокси-трафик, если знаешь ключ.
- Domain hiding через meek в Tor — это и есть domain fronting, только упакованный.
- Fronting через SNI + Host отличается — некоторые CDN всё ещё позволяют «безобидный fronting», если SNI и Host в одной SAN серта.
Как ещё живёт
- Мелкие/региональные CDN.
- Direct fronting на своём сервере — если ты сам контролируешь сервер и он обслуживает 2+ сайта, можешь настроить fronting внутри.
- Некоторые ISP-CDN и корпоративные прокси всё ещё позволяют.