Роскомнадзор начал блокировать в РФ соединения к сайтам, использующим TLS-расширение ECH (Encrypted Client Hello). Блокировка привела к массовым проблемам с сайтами, работающими через сеть доставки контента Cloudflare, которую используют примерно [[https://w3techs.com/technologies/details/cn-cloudflare 19% всех сайтов]] в интернете (по [[https://www.netcraft.com/blog/october-2024-web-server-survey/ другим данным]] 16% (31 млн) активных сайтов или 23.83% из миллиона самых популярных сайтов). О масштабе сбоев можно судить хотя бы по тому, что из-за блокировки ECH была нарушена работа сайта самого Роскомнадзора, на котором для загрузки шрифтов использовался сервис webfontfree.com, работающий через Cloudflare (первая попытка открытия rkn.gov.ru приводила к минутному зависанию до истечения таймаута).
ECH [[https://www.opennet.me/opennews/art.shtml?num=59869 продолжает развитие]] TLS-расширений SNI и ESNI (Encrypted Server Name Indication) и предназначен для шифрования информации о параметрах TLS-сеансов, таких как запрошенное доменное имя. Если без ECH на стороне интернет-провайдера можно выборочно фильтровать HTTPS-трафик и анализировать какие сайты открывает пользователь, то ECH позволяет добиться полной конфиденциальности при применении HTTPS при обращении к сайтам, использующим сети доставки контента с поддержкой ECH. После включения поддержки ECH в Cloudflare Роскомнадзор потерял возможность блокировать сайты, использующие данную сеть доставки контента, и поэтому просто начал блокировать HTTPS-запросы с ECH (судя по всему блокировка ECH пока ограничивается отдельными подсетями Cloudflare).
На стороне пользователя в Firefox доступ к сайтам, работающим через Cloudflare, можно решить двумя путями:
* отключить настройки network.dns.echconfig.enabled и network.dns.http3_echconfig.enabled на странице about:config
* отключить использование протокола TLS 1.3 выставив в about:config параметр security.tls.version.max в значение "3". При этом может быть нарушена работа с серверами, поддерживающими только протокол TLS 1.3 и отключившими поддержку TLS 1.2.
В Chrome раньше ECH можно было отключить через параметр
chrome://flags#encrypted-client-hello, но с февраля этого года он удалён и ECH всегда включён по умолчанию.
Владельцы сайтов, использующих Cloudflare, могут отключить ECH в личном кабинете dash.cloudflare.com в секции "SSL > Edge Certificates > Encrypted ClientHello (ECH)".
Если тарифный план не предусматривает возможность изменения данной настройки через web-интерфейс, для отключения ECH можно использовать API:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ID_ZONE/settings/... -H "X-Auth-Key: YOUR_GLOBAL_API_KEY" -H "X-Auth-Email: YOUR_EMAIL" -H "Content-Type: application/json" --data '{"id":"ech","value":"off"}'
URL:
Обсуждается: http://www.opennet.me/tips/info/3258.shtml