Как вы знаете, Роскомнадзор (РКН) заблокировал технологию Encrypted Client Hello (ECH), а Cloudflare неожиданно принудительно включил её для всех пользователей. Это вызвало серьезные проблемы для тех, кто использует Cloudflare, особенно для пользователей из России. Решим эту проблему!
Если вам нужно отключить Encrypted Client Hello (ECH) для вашего домена на Cloudflare, выполните следующие шаги. Этот процесс включает проверку текущего статуса ECH, а затем его отключение через API Cloudflare.
Шаг 1: Проверка включен ли ECH
Сначала необходимо проверить, включен ли ECH для вашего домена. Для этого перейдите по следующей ссылке, заменив [ВАШ_ДОМЕН]
на ваш реальный домен:
https://dns.google/resolve?name=[ВАШ_ДОМЕН]&type=HTTPS
Если в результатах видно, что ECH включен, то переходите к следующему шагу.
Шаг 2: Получение данных для API Cloudflare
Чтобы отключить ECH, вам понадобятся Global API Key и Zone ID вашего домена.
Global API Key. Перейдите на страницу Cloudflare по следующей ссылке и найдите ваш глобальный API-ключ: https://dash.cloudflare.com/profile/api-tokens
Zone ID. Перейдите в управление вашим доменом на Cloudflare и прокрутите вниз страницу. Найдите строку Zone ID и скопируйте её.
Шаг 3: Отключение 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"}'
Шаг 4: Отключение ECH через Postman
Вы также можете выполнить отключение через 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"}
А для пользователей платных тарифов CloudFlare есть более простой вариант:
Зайдите в настройки SSL/TLS на панели Cloudflare.
В разделе "Edge Certificates" найдите "Encrypted ClientHello (ECH)" и выберите "Disabled", если хотите отключить шифрование.
Всем свободного интернета!
Комментарии (26)
MountainGoat
06.11.2024 17:24Ну теперь тогда уж пишите инструкцию, как отключить ECH для не вашего домена, когда некий сервер нужен твоим клиентам, но на сервере ничего делать не будут.
dartraiden
06.11.2024 17:24Показать клиентам, как отключить ECH в браузере, либо, как использовать DNS-серверы, которые не поддерживают HTTPS RR (без этого ECH не работает).
dartraiden
06.11.2024 17:24За инструкцию, конечно, плюс, но, вспоминая комменты хабравчан к постам прошлых лет про eSNI и ECH...
Хабравчане: вот все сайты начнут использовать ECH и тогда РКН соснёт!
Cloudflare: включает ECH клиентам
РКН: блокирует все сайты, сидящие за Cloudflare
Хабравчане: вот инструкция, как отключить ECH для вашего сайта
И смешно, и грустно
Alexchexes
06.11.2024 17:24Если возможность убрали в бесплатных тарифах, и доступна она только через API, не окажется ли так, что в какой-то момент для бесплатных её всем включат назад, по умолчанию?
P.S. Для себя пока просто отключили TLS 1.3 в настройках клауда, делается в панели, без API
YegorVin
06.11.2024 17:24Если клауд следит за новостями то они сами добавят возможность включения/выключения ECH в панели управления.
selivanov_pavel
06.11.2024 17:24Кому лениво руками вынимать из веб-морды кучу zone id для кучи аккаунтов - держите скриптик, выключит ECH для всех зон на аккаунте: https://gist.github.com/selivan/f053008964128fea0dc913c803062263
TonyClifton
06.11.2024 17:24Простите за тупой вопрос, а где эту команду вводить? Это мне как-то надо с помощью php выполнить на своём сайте?
Flyingfolds
06.11.2024 17:24Гугл и другие поисковики, а не пора ли снижать место в поиске для сайтов не исспользуюших ECH
Ну и браузеры, пора начинать выводить предупреждения, что сайт небезопасен
YoungKirill
06.11.2024 17:24Еще вариант для PowerShell который мне помог
PowerShell в Windows обрабатывает командуcurl
иначе, чем традиционные терминалы, так какcurl
в PowerShell выполняется какInvoke-WebRequest
. Чтобы команда сработала корректно, нужно немного изменить синтаксис.Invoke-RestMethod -Uri "https://api.cloudflare.com/client/v4/zones/id_zone/settings/ech" -Method Patch -Headers @{ "X-Auth-Email"="Почта аккаунта"; "X-Auth-Key"="Global API Key"; "Content-Type"="application/json" } ` -Body '{"id":"ech","value":"off"}'
После чего будут сообщение:
result success errors messages
@{id=ech; value=off; modified_on=; editable=True} True {} {}
ipalex
06.11.2024 17:24Шаг 1: Проверка включен ли ECH - как это должно выглядеть?
В разделе "Edge Certificates" найдите "Encrypted ClientHello (ECH)" и выберите "Disabled", если хотите отключить шифрование. - В данном разделе нет Encrypted ClientHello (ECH) , может как то по другому сейчас называется ?
Gattala
06.11.2024 17:24Спасибо за инструкцию, сделал через Postman. Если хотите проверить статус, то переключите на метод GET и в ответе посмотрите result->value
Saix
06.11.2024 17:24Спасибо за инструкцию!
Сегодня внезапно перестал откликаться мой небольшой интернет-магазин. Домашний провайдер не причем, прислал статью на ЦМУ ССОП, а там цитата:"Американская компания CloudFlare, поставщик услуг CDN, включила в октябре применение по умолчанию на своих серверах расширение TLS ECH (Encrypted Client Hello). Эта технология – средство обхода ограничений доступа к запрещенной в России информации. Его использование нарушает российское законодательство и ограничивается техническими средствами противодействия угрозам (ТСПУ)."
Благодаря вашей инструкции вернул все на место за 5 минут.
{"result":{"id":"ech","value":"off","modified_on":null,"editable":true},"success":true,"errors":[],"messages":[]}%
А CloudFlare был выбран еще в те времена, когда альтернатив не было - удобство и относительная бесплатность для пет-проектов. Есть ли сейчас альтернативы ему?
rsashka
Лучше расскажите, как отключить РКН для нашего интернета :-(
Goron_Dekar
Тут на сайте полно инструкций, тащемта. Отключай - нехочу.
Но, конечно, самая рабочая, но не очень популярная, так как ведёт к издержкам и стрессу - сменить юрисдикцию.
Nyase
Сто бед - один ответ. Люди готовы бежать куда угодно, лишь бы не брать на себя ответственность по формированию своей страны.
AlexTroshkin
А говорят, что все "мозги" утекают на запад