Problema
El firewall de Cato no aplica las reglas del firewall en sitios web alojados en Cloudflare. Por ejemplo, el sitio web research.cloudflare.com, categorizado como Base de datos, está siendo permitido a pesar de una regla del firewall que bloquea esta categoría.
El evento relacionado de CMA muestra un nombre de dominio diferente, cloudflare-ech.com, que no coincide con el sitio deseado y omite la regla del firewall. Este evento se puede encontrar filtrando la dirección IP de destino del sitio.
Entorno
- Regla del Firewall que bloquea una categoría específica.
- Inspección TLS no habilitada.
Resolución de problemas
La presencia del nombre de dominio cloudflare-ech.com en el evento sugiere que el protocolo Encrypted Client Hello (ECH) está en uso.
¿Qué es ECH?
Como se describe en la documentación de Cloudflare, ECH encripta partes del paquete TLS Client Hello, incluyendo el enmascaramiento de la Server Name Indication (SNI), que típicamente se utiliza para establecer una sesión TLS. Esto significa que mientras Cato ve la conexión con Cloudflare, no puede identificar el sitio específico. Tanto el navegador como el sitio deben soportar ECH para que esto funcione.
Cómo funciona ECH
- Distribución de clave pública: Los servidores comparten una clave pública (dentro de la configuración ECH) a través de DNS, a menudo utilizando protocolos de DNS seguros como DoH (DNS sobre HTTPS) o DoT (DNS sobre TLS). Sin embargo, también se puede usar DNS no encriptado a través de UDP. Esta clave es utilizada por el cliente para encriptar el mensaje Client Hello. A continuación se muestra un ejemplo de una respuesta DNS tipo HTTPS que contiene la configuración ECH.
- Encriptación Client Hello: Al conectarse, el cliente encripta partes sensibles del Client Hello, como el SNI, utilizando la clave pública del servidor. Solo el servidor puede desencriptar esta información. También se transmite un Client Hello externo no encriptado, mostrando información genérica como un SNI predeterminado, que puede no revelar el objetivo real. En el ejemplo siguiente, el SNI predeterminado es cloudflare-ech.com
- Mecanismo de Respaldo: Si ECH es soportado, el servidor procesa el Client Hello encriptado, y la conexión continúa. Si no, un mecanismo de respaldo reintenta la conexión con un Client Hello no encriptado, manteniendo la compatibilidad retroactiva con servidores TLS 1.3 tradicionales.
Solución
Cato no soporta actualmente ECH, por lo que se recomiendan las siguientes soluciones alternativas para forzar un respaldo a conexiones TLS con SNI no encriptado según su configuración de red:
- Bloquee los protocolos DoH, DoT y QUIC en el firewall de Internet. Esto evitará el uso de protocolos DNS seguros para intercambiar configuraciones ECH.
- Dependiendo del navegador, el cliente puede volver a DNS basado en UDP para intercambiar configuraciones ECH. Si es así, habilite la inspección TLS para los sitios o usuarios afectados. ECH no soporta técnicas de intermediario (MITM), por lo que la conexión volverá a utilizar un SNI no encriptado.
- Como último recurso, bloquee el dominio cloudflare-ech.com en el firewall de Internet. Esto obliga a los navegadores a volver al SNI no encriptado, permitiendo que se aplique correctamente la regla del firewall.
0 comentarios
Inicie sesión para dejar un comentario.