Проблема
Брандмауэр Cato не применяется к сайтам, размещённым на Cloudflare. Например, веб-сайт research.cloudflare.com, классифицированный как база данных, разрешён, несмотря на правило брандмауэра, блокирующее эту категорию.
Связанное событие CMA показывает другое доменное имя, cloudflare-ech.com, что не соответствует заданному сайту и обходит правило брандмауэра. Это событие можно найти, отфильтровав IP-адрес назначения сайта.
Среда
- Правило брандмауэра, блокирующее определённую категорию.
- Инспекция TLS не включена.
Диагностика
Наличие доменного имени cloudflare-ech.com в событии предполагает, что используется протокол Encrypted Client Hello (ECH).
Что такое ECH?
Как описано в документации Cloudflare, ECH шифрует части пакета TLS Client Hello, включая маскировку Server Name Indication (SNI), который обычно используется для установления сеанса TLS. Это означает, что, хотя Cato видит подключение к Cloudflare, он не может идентифицировать конкретный сайт. Оба, браузер и сайт, должны поддерживать ECH, чтобы это работало.
Как работает ECH
- Распространение открытого ключа: серверы делятся открытым ключом (в пределах конфигурации ECH) через DNS, часто используя защищённые DNS-протоколы, такие как DoH (DNS over HTTPS) или DoT (DNS over TLS). Однако может также использоваться незашифрованный DNS через UDP. Этот ключ используется Клиентом для шифрования сообщения Client Hello. Ниже приведён пример ответа DNS типа HTTPS, содержащего конфигурацию ECH.
- Шифрование Client Hello: при подключении Клиент шифрует чувствительные части Client Hello, такие как SNI, используя открытый ключ сервера. Только сервер может расшифровать эту информацию. Также передаётся незашифрованный внешний Client Hello, отображающий общую информацию, такую как стандартный SNI, который может не раскрывать реальную цель. В приведённом ниже примере стандартный SNI — это cloudflare-ech.com
- Механизм возврата: если ECH поддерживается, сервер обрабатывает зашифрованный Client Hello, и соединение продолжается. Если нет, то механизм возврата повторяет попытку соединения с незашифрованным Client Hello, сохраняя обратную совместимость с традиционными серверами TLS 1.3.
Решение
Cato в настоящее время не поддерживает ECH, поэтому рекомендуется использовать следующие обходные пути для принудительного возврата к небезопасным соединениям TLS с SNI в зависимости от настроек вашей сети:
- Блокировать протоколы DoH, DoT и QUIC в межсетевом экране Интернета. Это предотвратит использование безопасных DNS-протоколов для обмена конфигурациями ECH.
- В зависимости от браузера клиент может использовать возврат к DNS на основе UDP для обмена конфигурациями ECH. Если это так, включите инспекцию TLS для затронутых сайтов или пользователей. ECH не поддерживает методы атаки "человек в середине" (MITM), поэтому соединение будет выполняться с использованием незашифрованного SNI.
- В качестве последнего средства заблокируйте домен cloudflare-ech.com в межсетевом экране Интернета. Это вынудит браузеры использовать незашифрованный SNI, что позволит применить корректное правило брандмауэра.
0 комментариев
Войдите в службу, чтобы оставить комментарий.