Как вы знаете, Роскомнадзор (РКН) заблокировал технологию 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 вашего домена.

  1. Global API Key. Перейдите на страницу Cloudflare по следующей ссылке и найдите ваш глобальный API-ключ: https://dash.cloudflare.com/profile/api-tokens

  2. 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:

  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", если хотите отключить шифрование.



Всем свободного интернета!

Комментарии (26)


  1. rsashka
    06.11.2024 17:24

    Лучше расскажите, как отключить РКН для нашего интернета :-(


    1. Goron_Dekar
      06.11.2024 17:24

      Тут на сайте полно инструкций, тащемта. Отключай - нехочу.

      Но, конечно, самая рабочая, но не очень популярная, так как ведёт к издержкам и стрессу - сменить юрисдикцию.


      1. Nyase
        06.11.2024 17:24

        Сто бед - один ответ. Люди готовы бежать куда угодно, лишь бы не брать на себя ответственность по формированию своей страны.


        1. AlexTroshkin
          06.11.2024 17:24

          А говорят, что все "мозги" утекают на запад


  1. semenovs
    06.11.2024 17:24

    ECH  нужная технология. Она увеличивает уровень безопасности. Ее отключение нежелательно.


    1. mrdandomi
      06.11.2024 17:24

      тоже так думаю


  1. Rorg
    06.11.2024 17:24

    Решим эту проблему!

    Мне кажется, не ту проблему решаете…


  1. MountainGoat
    06.11.2024 17:24

    Ну теперь тогда уж пишите инструкцию, как отключить ECH для не вашего домена, когда некий сервер нужен твоим клиентам, но на сервере ничего делать не будут.


    1. dartraiden
      06.11.2024 17:24

      Показать клиентам, как отключить ECH в браузере, либо, как использовать DNS-серверы, которые не поддерживают HTTPS RR (без этого ECH не работает).


    1. lioncub
      06.11.2024 17:24

      Отключаешь TLS 1.3 в браузере (max ставишь 1.2).

      Либо как выше отметили отключаешь ECH:
      firefox - network.dns.echconfig.enabled: false

      Либо пускаешь их через прокси


      1. ligor
        06.11.2024 17:24

        Многим помогает отключение TLS 1.3 только на стороне Клаудфларе.


    1. Mongolor
      06.11.2024 17:24

      Понизить версию tls в браузере клиентов до 1.2, например, если вы админ


  1. dartraiden
    06.11.2024 17:24

    За инструкцию, конечно, плюс, но, вспоминая комменты хабравчан к постам прошлых лет про eSNI и ECH...

    Хабравчане: вот все сайты начнут использовать ECH и тогда РКН соснёт!

    Cloudflare: включает ECH клиентам

    РКН: блокирует все сайты, сидящие за Cloudflare

    Хабравчане: вот инструкция, как отключить ECH для вашего сайта

    И смешно, и грустно


  1. Alexchexes
    06.11.2024 17:24

    Если возможность убрали в бесплатных тарифах, и доступна она только через API, не окажется ли так, что в какой-то момент для бесплатных её всем включат назад, по умолчанию?

    P.S. Для себя пока просто отключили TLS 1.3 в настройках клауда, делается в панели, без API


    1. YegorVin
      06.11.2024 17:24

      Если клауд следит за новостями то они сами добавят возможность включения/выключения ECH в панели управления.


  1. selivanov_pavel
    06.11.2024 17:24

    Кому лениво руками вынимать из веб-морды кучу zone id для кучи аккаунтов - держите скриптик, выключит ECH для всех зон на аккаунте: https://gist.github.com/selivan/f053008964128fea0dc913c803062263


  1. TonyClifton
    06.11.2024 17:24

    Простите за тупой вопрос, а где эту команду вводить? Это мне как-то надо с помощью php выполнить на своём сайте?


    1. anton99zel
      06.11.2024 17:24

      ReqBin is an online API


  1. enabokov
    06.11.2024 17:24

    Security не by default теперь :(

    Давайте тогда перейдём на http.


  1. Flyingfolds
    06.11.2024 17:24

    Гугл и другие поисковики, а не пора ли снижать место в поиске для сайтов не исспользуюших ECH

    Ну и браузеры, пора начинать выводить предупреждения, что сайт небезопасен


    1. NetBUG
      06.11.2024 17:24

      Нет, им важнее Google's Manifest V3 протолкнуть, конечно же.


  1. AVikont
    06.11.2024 17:24

    Ждём инструкцию, как отключить SSL и перейти с HTTPS на HTTP.


  1. 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 {} {}


  1. ipalex
    06.11.2024 17:24

    Шаг 1: Проверка включен ли ECH - как это должно выглядеть?

    1. В разделе "Edge Certificates" найдите "Encrypted ClientHello (ECH)" и выберите "Disabled", если хотите отключить шифрование. - В данном разделе нет Encrypted ClientHello (ECH) , может как то по другому сейчас называется ?


  1. Gattala
    06.11.2024 17:24

    Спасибо за инструкцию, сделал через Postman. Если хотите проверить статус, то переключите на метод GET и в ответе посмотрите result->value


  1. 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 был выбран еще в те времена, когда альтернатив не было - удобство и относительная бесплатность для пет-проектов. Есть ли сейчас альтернативы ему?