Роскомнадзор включил блокировку TLS ECH
Encrypted Client Hello (ECH) — это механизм, разработанный компанией Mozilla, который шифрует самое первое «сообщение-приветствие» между устройством пользователя и сервером сайта, что позволяет сохранять в секрете имя посещаемого сайта.
Вечером 5 ноября Роскомнадзор начал блокировать подключение российских IP-адресов к Cloudflare с использованием технологии TLS ECH (Encrypted Client Hello). Это событие стало важной вехой в развитии интернет-цензуры в России.
TLS ECH — это обновление протокола шифрования, которое скрывает доменные имена посещаемых сайтов от промежуточных узлов, включая Роскомнадзор. До внедрения ECH весь интернет-трафик, даже защищённый HTTPS, содержал метаинформацию о доменных именах, что позволяло Роскомнадзору и другим провайдерам видеть, какие ресурсы посещает пользователь. С введением ECH эта информация перестала быть доступной, что сильно усложнило мониторинг и блокировку трафика.
Из-за этого блокировка привела к проблемам с доступом к множеству сайтов, использующих защиту от Cloudflare. Важно отметить, что отключить Encrypted SNI (ECH) на бесплатном тарифе через личный кабинет Cloudflare невозможно. Владельцы платных тарифов могут вручную отключить ECH, перейдя в раздел SSL/TLS в панели управления Cloudflare, где в секции Edge Certificates доступна настройка Encrypted ClientHello (ECH).
Как отключить Encrypted Client Hello на Cloudflare:
- Откройте панель управления Cloudflare и перейдите в настройки SSL/TLS.
- В разделе Edge Certificates найдите параметр Encrypted ClientHello (ECH). (На бесплатном тарифе необходимо отключить TLS 1.3)
- Выберите Disabled, чтобы отключить эту функцию (доступно только на платных тарифах).
Отключение TLS 1.3 — стоит ли?
Некоторые пользователи могут подумать об отключении протокола TLS 1.3, так как именно он поддерживает ECH. Однако это решение чревато последствиями: старые версии TLS менее защищены, и современные браузеры могут сталкиваться с ошибками. Таким образом, это достаточно рискованный шаг, который стоит применять с осторожностью.
Как отключить Encrypted ClientHello (ECH) на бесплатном тарифе Cloudflare без отключения TLS 1.3
Чтобы отключить ECH, вам понадобятся Global API Key и Zone ID вашего домена.
- Global API Key. Перейдите на страницу Cloudflare по следующей ссылке и найдите ваш глобальный API-ключ: https://dash.cloudflare.com/profile/api-tokens
- Zone ID. Перейдите в управление вашим доменом на Cloudflare и прокрутите вниз страницу. Найдите строку Zone ID и скопируйте её.
Теперь, когда у вас есть Global API Key и Zone ID, вы можете отключить ECH с помощью команды curl. Выполните следующую команду, заменив {ID_ZONE} на ваш Zone ID, а {ACCOUNT_EMAIL} и {GLOBAL_API_KEY} на ваш email и API-ключ соответственно:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech" \
-H "X-Auth-Email: {ACCOUNT_EMAIL}" \
-H "X-Auth-Key: {GLOBAL_API_KEY}" \
-H "Content-Type:application/json" --data '{"id":"ech","value":"off"}'
Отключение ECH через Postman
В Postman выберите метод PATCH и введите URL: https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech
В Headers добавьте следующие поля:
X-Auth-Email: ваш email-адрес Cloudflare.
X-Auth-Key: ваш Global API Key.
Content-Type: application/json
В Body выберите raw и введите следующий JSON:
{"id": "ech", "value": "off"}
Дополнительно, проблема с блокировками может стать катализатором для обсуждения интернет-свободы и безопасности данных в России, поднимая вопросы о будущем использования технологий шифрования и об ответных мерах, которые могут последовать от различных IT-компаний.