Отключение ECH в Cloudflare для всех сайтов

7 нояб. 2024 г. в Заметки

Как массово отключить ECH

CloudFlare на бесплатном тарифе не даёт редактировать настройку Encrypted Client Hello у сайтов в интерфейсе, но это можно сделать через API.

Чтобы массово отредактировать все сайты в вашем аккаунте, используйте следующий скрипт. Инструкция по получению токена для него — ниже.

import requests
 
API_KEY = ''  # Вставьте ваш API ключ
 
def main():
    try:
        # Получаем список зон
        response = requests.get(
            'https://api.cloudflare.com/client/v4/zones',
            headers={'Authorization': f'Bearer {API_KEY}'}
        )
        response.raise_for_status()
        zones = response.json().get('result', [])
 
        # Обновляем настройку ECH для каждой зоны
        for zone in zones:
            zone_id = zone['id']
            zone_name = zone['name']
            print(f"Обновляем настройку ECH для зоны: {zone_name} (ID: {zone_id})")
 
            # Добавляем поле 'id' в тело запроса
            patch_response = requests.patch(
                f'https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/ech',
                json={'id': 'ech', 'value': 'off'},
                headers={
                    'Authorization': f'Bearer {API_KEY}',
                    'Content-Type': 'application/json'
                }
            )
            patch_response.raise_for_status()
            print(f"Настройка ECH для зоны {zone_name} успешно обновлена.")
 
    except requests.exceptions.RequestException as error:
        print('Ошибка:', error.response.json() if error.response else error)
 
if __name__ == '__main__':
    main()
 

Выпуск API токена для управления зонами

  1. Перейдите в https://dash.cloudflare.com/profile/api-tokens
  2. Выберите Create Token
  3. Выберите Create Custom Token в списке шаблонов
  4. Задайте произвольное имя
  5. В Permissions токена должно быть: Zone + Zone Settings + Edit
  6. Zone Resources — All Zones

Как отключить ECH на платных тарифах

Если у вас платный тариф, настройка Encrypted Client Hello (ECH) доступна из веб-интерфейса.

  1. Выберите ваш сайт в Cloudflare
  2. Зайдите в раздел SSL/TLS.
  3. Перейдите во вкладку Edge Certificates.
  4. Найдите параметр Encrypted Client Hello (ECH) и выключите его.

Что случилось?

5 ноября 2024 года Роскомнадзор начал блокировать сайты, использующие технологию шифрования ECH (Encrypted Client Hello), что вызвало проблемы с доступом для российских пользователей. В октябре Cloudflare внедрила постоянную поддержку ECH на своих серверах, обеспечивая шифрование метаданных HTTPS, таких как имя сайта (SNI), что затрудняет мониторинг и блокировку трафика. Эта технология, доступная всем пользователям Cloudflare, скрывает посещаемые сайты, нарушая требования российского законодательства о доступе к информации.

Роскомнадзор объяснил блокировку тем, что ECH позволяет обходить ограничения на доступ к запрещенной информации. В результате блокировки пользователи могут потерять доступ к сайтам, использующим сеть Cloudflare. В качестве обходных методов популярны VPN и переход на мобильные сети, хотя блокировки также могут усиливаться в будущем.

Cloudflare призывает своих клиентов использовать ECH для повышения приватности, а браузеры, такие как Chrome и Firefox, поддерживают технологию, что способствует ее распространению. Однако в России это создает новые вызовы для интернет-доступа и усиливает вопросы цензуры.