Форум

Как отключить ECH д...
 
Уведомления
Очистить все

Как отключить ECH для вашего домена на Cloudflare

1 Записи
1 Пользователи
0 Reactions
30 Просмотры
Записи: 696
Admin
Создатель темы
(@dmitriis)
Участник
Присоединился: 1 год назад

Как отключить TLS-расширение ECH для решения проблем с Cloudflare в РФ

 

Роскомнадзор начал блокировать в РФ  соединения к сайтам, использующим

TLS-расширение ECH (Encrypted Client Hello). Блокировка привела к массовым

проблемам с сайтами, работающими через сеть доставки контента Cloudflare,

которую используют примерно 19% всех сайтов в интернете (по другим данным

16%  (31 млн) активных сайтов или 23.83% из миллиона самых популярных сайтов).

О масштабе сбоев можно судить хотя бы по тому, что из-за блокировки ECH была

нарушена работа сайта самого Роскомнадзора, на котором для загрузки шрифтов

использовался сервис webfontfree.com, работающий через Cloudflare (первая

попытка открытия rkn.gov.ru приводила к минутному зависанию до истечения таймаута).

ECH продолжает развитие 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
всегда включён по умолчанию. Для отключения ECH в Chrome обходным путём можно
создать файл /etc/opt/chrome/policies/managed/conf.json c содержимым:

{

"EncryptedClientHelloEnabled": false

}

Владельцы сайтов, использующих 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/ech" -H "X-Auth-Key: YOUR_GLOBAL_API_KEY" -H "X-Auth-Email: YOUR_EMAIL" -H "Content-Type: application/json" --data '{"id":"ech","value":"off"}'

 

Отключение ECH через API Cloudflare

Теперь, когда у вас есть 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:

  1. В Postman выберите метод PATCH и введите URL:
    https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech
  2. В Headers добавьте следующие поля:
    • X-Auth-Email: ваш email-адрес Cloudflare.
    • X-Auth-Key: ваш Global API Key.
    • Content-Type: application/json
  3. В Body выберите raw и введите следующий JSON:
{"id": "ech", "value": "off"}

А для пользователей платных тарифов CloudFlare есть более простой вариант:

  1. Зайдите в настройки SSL/TLS на панели Cloudflare.
  2. В разделе "Edge Certificates" найдите "Encrypted ClientHello (ECH)" и выберите "Disabled", если хотите отключить шифрование.

 

Поделиться: