opened image

Доступ к сайтам: отключаем ECH и DNS-over-HTTPS

 

 

С октября 2024 года Cloudflare по умолчанию включает технологию ECH (Encrypted Client Hello) в TLS 1.3. Она скрывает SNI-заголовок (домен сайта) и повышает конфиденциальность. Однако некоторые DPI-системы (ТСПУ) не умеют корректно обрабатывать ECH и разрывают TLS-соединение ещё на стадии ClientHello. В результате сайты, обслуживаемые через Cloudflare, у многих операторов «падают» с ошибками timeout или connection reset.

 

Самый быстрый способ восстановить стабильность — отключить ECH и DNS-over-HTTPS (DoH) в браузере или на уровне ОС. Ниже приведена пошаговая инструкция для Firefox, Google Chrome/Chromium и мобильных устройств Android/iOS.

 

 

1. Firefox (Windows, macOS, Linux)


Введите в адресной строке about:config и подтвердите предупреждение.

 

В поиске найдите и измените параметры:

 

  • network.dns.echconfig.enabled    false    Полностью выключает ECH
  • network.trr.mode    5    Отключает DoH, заставляя использовать системный DNS
  • (опц.) network.dns.httpssvc.enabled    false    Запрещает Alt-Svc DNS-ответы

 

 

Перезапустите браузер.

 

Проверьте статус на https://crypto.cloudflare.com/cdn-cgi/trace — строка sni=plaintext означает, что ECH не используется.

 

 

2. Google Chrome и другие Chromium-браузеры


2.1 Отключаем DoH через интерфейс

 

Откройте:

 

chrome://settings/security

 

 

 

В разделе Безопасный DNS («Use secure DNS») выключите переключатель или выберите «С текущим провайдером».

 

 

2.2 Запускаем Chrome без ECH


В стабильных сборках Chrome нет флага для ECH, поэтому используем параметр запуска:

 

Windows

 

Правый клик по ярлыку → Свойства. В поле Объект допишите после кавычек:

 

--disable-features=EncryptedClientHello

 

Пример:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=EncryptedClientHello


Linux/macOS — аналогично, прописав параметр в скрипте запуска или .desktop-файле.

 

 

2.3 Проверка


Перейдите на https://crypto.cloudflare.com/cdn-cgi/trace;

 

  • значение sni=plaintext подтверждает успех.

 

 

3. Android


3.1 Системное отключение Private DNS (DoH)

 

Настройки → Сеть и интернет → Частный DNS.

 

Выберите Отключено либо укажите DNS-хост без ECH, например dns.google.

 

 

 

3.2 Firefox для Android


Откройте about:config, задайте:

 

network.dns.echconfig.enabled = false
network.trr.mode = 5

 

 

3.3 Chrome для Android


Chrome использует системный DNS; после отключения Private DNS проблемы пропадают. Для полного контроля можно запускать Chrome через adb с ключом --disable-features=EncryptedClientHello, но это удобнее делать на рутованных устройствах или в корпоративной MDM-среде.

 

 

4. iOS (Safari, Chrome, Firefox)


Safari пока не поддерживает ECH, поэтому ничего менять не нужно. Chrome/Firefox inherit системные настройки. Если установлен профиль, включающий DoH/DoT, удалите его:

 

Настройки → VPN и устройства → Профили конфигураций.

 

Проверьте DNS — достаточно задать публичные IPv4-серверы (8.8.8.8) в настройках Wi-Fi.

 

 

 

 

 

5. Рекомендации

 

  • Информируйте клиентов о временном отключении ECH/DoH до стабилизации ситуации.
  • Следите за списками IPv4, попадающих под DPI-фильтрацию: иногда помогает перевод части трафика на IPv6.
  • Для корпоративных пользователей предложите автоматический скрипт, который правит ярлык Chrome и вносит значения в реестр/ policies.
  • Рассмотрите внедрение Cloudflare Spectrum или Argo Tunnel — они обходят большинство региональных блоков.

 

 

Заключение


Отключение Encrypted Client Hello и шифрованного DNS возвращает прежнюю стабильность соединения, не требуя смены CDN-провайдера. Как только провайдеры DPI адаптируются, ECH можно будет включить снова для повышения конфиденциальности.