
Независимые медиа: учатся обходить блокировки с помощью компании Cloudflare. Роскомнадзор: почему бы не забанить сотни тысяч сайтов, которые используют ее технологии? История о том, как цензор творит широкими мазками 👨🎨
Около месяца назад «Медуза» и другие заблокированные в России СМИ начали использовать технологию TLS Encrypted Client Hello (ECH) и объяснили читателям, как она помогает обходить блокировку. Это стало возможным благодаря Cloudflare, занимающейся разработкой этой технологии. Осенью 2024 года компания наконец включила поддержку ECH в своей сети доставки контента.
Как работает эта технология
Но на прошлой неделе в России начали блокировать подключения к сети Cloudflare с использованием ECH.
Вот как механизм блокировки описывает разработчик под ником ValdikSS на сайте ntc.party, посвященном исследованию и противодействию интернет-цензуре:
5 ноября произошла блокировка соединений, использующих TLS Encrypted ClientHello (ECH).
Cloudflare использует один и тот же внешний (скрывающий SNI) домен cloudflare-ech.com для всех сайтов, которые включили поддержку ECH.
Блокировка осуществляется, если в пакете ClientHello установлен SNI = cloudflare-ech.com и есть ECH extension
Только лишь SNI = cloudflare-ech.com без ECH extension не блокируется, как и ECH grease без SNI = cloudflare-ech.com.
Фильтр применяется к HTTP2 (TCP) и HTTP3 (QUIC)-соединениям.
ТСПУ «замораживает» соединение сразу после получения ClientHello, а не разрывает его на уровне TCP или каким-то более подходящим образом. Из-за этого браузер понимает, что соединение сломано, только спустя примерно минуту.
Спецификация ECH вроде как запрещает переустанавливать соединение с нешифрованным SNI в случае ошибок, но в Firefox 131 сайты с ECH открываются без ECH через минуту «загрузки» — открывается новое соединение с plain SNI, а старое закрывается. Причину не знаю, возможно, это из-за того, что у меня отключен DNS-over-HTTPS, но ECH все равно используется.
7 ноября Центр мониторинга и управления сетью связи общего пользования признал блокировку и рекомендовал российским сайтам и сервисам отказаться от услуг Cloudflare.
Американская компания CloudFlare, поставщик услуг CDN, включила в октябре применение по умолчанию на своих серверах расширения TLS ECH (Encrypted Client Hello). Эта технология — средство обхода ограничений доступа к запрещенной в России информации. Его использование нарушает российское законодательство и ограничивается техническими средствами противодействия угрозам (ТСПУ).
Рекомендуем владельцам информационных ресурсов отключить расширение TLS ECH или, что правильнее, использовать отечественные CDN-сервисы, которые обеспечивают надежное и безопасное функционирование ресурсов и защиту от компьютерных атак.
Такой призыв организации, подведомственной Роскомнадзору, легко объяснить — власти начали массово блокировать ресурсы, которые блокировать не планировали
Российские администраторы, бесплатно использовавшие услуги Cloudflare, внезапно обнаружили, что их формально не заблокированные сайты перестали открываться как минимум у части пользователей. С проблемами якобы столкнулся даже официальный сайт Роскомнадзора — во всяком случае, об этом сообщил один из пользователей сайта opennet.ru. По его словам, попытка открыть сайт rkn.gov.ru приводила к «заморозке» соединения силами ТСПУ и минутному зависанию из-за использования для загрузки шрифтов сервиса, работавшего через Cloudflare.
Дело в том, что РКН (по крайней мере пока) не умеет осуществлять выборочную блокировку отдельных ресурсов, использующих ECH. Ведомство может заблокировать эту технологию лишь для всех клиентов Cloudflare вместе. При этом компания автоматически включила поддержку ECH для всех сайтов, использующих бесплатный тариф, и запретила ее отключать. С одной стороны, это дополнительно защищало приватность пользователей таких ресурсов. А с другой — увеличивало издержки для российского цензора, который стремится к блокировке только ограниченного числа конкретных сайтов. Но это не остановило Роскомнадзор.
Вернуть доступ к таким формально не заблокированным в России сайтам можно было несколькими способами. Один из них — вручную отключить в своем браузере поддержку ECH (довольно замысловатым путем). Но это не решало проблему у массового пользователя. Для этого владельцы сайтов должны были либо отказаться от услуг Cloudflare, либо отключить ECH в настройках. Позднее пользователи официального форума Cloudflare сумели выяснить, что это можно сделать даже на бесплатном тарифе, хотя в веб-интерфейсе действительно не было такой опции. Но вряд ли этим будут заниматься зарубежные сайты, использующие Cloudflare, — из-за этого они могут остаться недоступными для российских пользователей.
Одновременно для обхода блокировки ECH энтузиасты и разработчики смогли приспособить те же программы, что используются для борьбы с замедлением ютьюба в России, — вроде GoodbyeDPI или Zapret. Эти инструменты обхода цензуры и блокировок интернет-трафика умеют обманывать российские ТСПУ Они работают на стороне пользователя и не требуют подключения к VPN или прокси-серверам. Пользователи сайта ntc.party делятся настройками своих «дурилок». Как правило, они сводятся к добавлению cloudflare-ech.com в список адресов для обмана российских ТСПУ.
Использование таких программ может оказаться не самой простой задачей. Но обход с их помощью блокировки ECH — не единственный способ читать «Медузу» без VPN.
Денис Дмитриев
ЦМУ ССОП
Появление Центра мониторинга и управления сетью связи общего было предусмотрено в федеральном законе о «суверенном» Рунете. Этот центр был создан на базе ГРЧЦ Роскомнадзора. Он занимается централизованным управлением российским сегментом интернета, поиском угроз, установкой ТСПУ и раздачей операторам связи обязательных к выполнению указаний.
Цитата
Cloudflare использует один и тот же внешний (скрывающий SNI) домен cloudflare-ech.com для всех сайтов, которые включили поддержку ECH.
Блокировка осуществляется, если в пакете ClientHello установлен SNI = cloudflare-ech.com и есть ECH extension
Только лишь SNI = cloudflare-ech.com без ECH extension не блокируется, как и ECH grease без SNI = cloudflare-ech.com.
Фильтр применяется к HTTP2 (TCP) и HTTP3 (QUIC)-соединениям.
ТСПУ «замораживает» соединение сразу после получения ClientHello, а не разрывает его на уровне TCP или каким-то более подходящим образом. Из-за этого браузер понимает, что соединение сломано, только спустя примерно минуту.