it-swarm-es.com

¿Es una mala idea que un firewall bloquee ICMP?

Esta pregunta fue inspirada por esta respuesta que dice en parte:

El archivo de manifiesto del firewall genérico termina al soltar todo lo que de otro modo no permitiría (además de ICMP. No apague ICMP).

Pero, ¿es realmente una buena práctica que un firewall permita ICMP? ¿Cuáles son las implicaciones de seguridad, y hay casos en los que ICMP debería desactivarse?

104
Justin Ethier

En comparación con otros protocolos IP, ICMP es bastante pequeño, pero cumple una gran cantidad de funciones dispares. En su esencia, ICMP se diseñó como el mecanismo de depuración, solución de problemas e informe de errores para IP. Esto lo hace increíblemente valioso, por lo que es necesario pensar mucho para cerrarlo. Sería un poco como tachuelas >/dev/null 2>&1 al final de todas sus entradas cron.

La mayoría de las veces cuando hablo con personas sobre el bloqueo de ICMP, en realidad están hablando de ping y traceroute. Esto se traduce en 3 tipos

  • 0 - Respuesta de eco (respuesta de ping)
  • 8 - Solicitud de eco (solicitud de ping)
  • 11 - Tiempo excedido

Eso es 3 tipos de 16. Veamos un par de otros tipos de ICMP que están disponibles.

  • 4 - Fuente de enfriamiento (enviado por un enrutador para pedirle a un host que reduzca la velocidad de sus transmisiones)
  • 3 - Destino inalcanzable (consta de 16 tipos diferentes de mensajes que van desde informar un problema de fragmentación hasta un firewall que informa que un puerto está cerrado)

Ambos pueden ser invaluables para mantener los hosts no maliciosos funcionando correctamente en una red. De hecho, hay dos (probablemente más, pero estos son los más obvios para mí) muy buenos casos en los que no desea restringir ICMP.

  • Path MTU Discovery: utilizamos una combinación de la marca Don't Fragment y el código de tipo 3 4 (Destino inalcanzable: se requiere fragmentación y DF set de banderas) para determinar la MTU más pequeña en la ruta entre los hosts. De esta forma evitamos la fragmentación durante la transmisión.
  • Active Directory requiere que los clientes hagan ping a los controladores de dominio para desplegar GPO. Utilizan ping para determinar el controlador "más cercano" y, si ninguno responde, se supone que ninguno está lo suficientemente cerca. Entonces la actualización de la política no sucede.

Eso no quiere decir que necesariamente debemos dejar todo abierto para que todo el mundo lo vea. Reconocimiento es posible con ICMP y esa es generalmente la razón dada para el bloqueo. Se pueden usar pings para determinar si un Host está realmente encendido, o Excedido el tiempo (como parte de una ruta de seguimiento) para mapear arquitecturas de red, o Rory prohíbe un Redirect (tipo 5 código 0) para cambiar la ruta predeterminada de un Host.

Teniendo en cuenta todo eso, mi consejo es, como siempre, adoptar un enfoque meditado y reflexivo para sus protecciones. Bloquear ICMP en su totalidad probablemente no sea la mejor idea, pero elegir y elegir qué bloquea y desde/hacia donde probablemente le dará lo que desea.

123
Scott Pack

ICMP existe por una razón, y no toda esa razón es ping. Es el protocolo "meta" que se utiliza para comunicar mensajes de control sobre la propia red. Eche un vistazo a ICMP en Wikipedia para tener una mejor idea de qué es y para qué sirve.

Otros mensajes ICMP también incluyen el host de destino inalcanzable, se requiere fragmentación, control de congestión, TTL excedido, errores de protocolo IP y muchos otros).

La red funcionará sin ICMP (la capacidad de recuperación frente a la caída de paquetes es una de las principales fortalezas de IP), pero funcionará de manera más lenta, menos eficiente y sin el beneficio de estas señales para ayudarlo a diagnosticar y resolver problemas.

Los problemas de seguridad con ICMP tienden a ser los problemas más nebulosos de "divulgación de información". P.ej. Si su enrutador envía un mensaje ICMP a alguien, entonces esa persona sabe que usted tiene un enrutador. Quizás el atacante que sabe que tiene un enrutador es algo que le preocupa, o más probablemente no. Pero la investigación de seguridad tiende a errar del lado del silencio solo para estar del lado seguro, por si acaso.

Ocasionalmente hay una vulnerabilidad de estilo "ping de muerte" relacionada con ICMP en un sistema operativo. Actualmente no existe ninguno en ningún sistema operativo convencional. Pero una vez más, los defensores de la seguridad se equivocan por precaución, por si acaso.

34
tylerl

Para ser honesto, es inteligente filtrar algunos ICMP salientes tanto a nivel de enrutador como a nivel de firewall de software como una capa adicional de seguridad.

No es pertinente detener un DoS o DDoS, pero las personas malintencionadas aún usan ICMP para intentar recuperar la mayor cantidad de información posible sobre una red antes de intentar violarla.

No estoy diciendo que SOLO usan ICMP, pero ese es uno de los pocos tipos de paquetes que usan y, dependiendo de si tienes puertas de inundación abiertas, pueden obtener una gran cantidad de información en muy poco tiempo.

Tómese un tiempo para buscar en Google y buscar información sobre cómo NMAP y algunos otros programas utilizan ICMP como uno de los recursos para recopilar información y luego basar sus filtros en lo que considera necesario para protegerse y proteger su red.

Si es posible, configure una red de prueba interna (personalmente compré un enrutador wifi secundario barato y tengo una PC secundaria como firewall para probar todas las configuraciones de firewall/ipchains/firewall de software antes de emplearlas en mi red principal para mi hogar y cualquier cliente que me contrate para asegurar sus redes.

Recomiendo encarecidamente a las personas que intenten investigar un poco sobre el escaneo de puertos y cómo violar los firewalls en su propia red para que puedan protegerse mejor a sí mismos y a cualquier familia a la que estén ayudando.

Aquí hay un par de recursos que he usado y referido a amigos anteriormente. Sin seguridad de la información Cómo se utiliza ICMP para el reconocimiento

Y también

InfoSec Institute ICMP Attacks

Algunos de los ataques ya no son viables, pero hay nuevas formas de Pitufo que funcionan aún debido a cómo el programador pudo volver a codificar el ataque original y cambiar cómo funciona y utiliza los recursos.

Excava y google es tu amigo junto con Stack Exchange y también el motor de búsqueda duckduckgo es maravilloso para los recursos que google puede filtrar, ¡solo ten cuidado y usa tu ingenio!

He sido técnico de computadoras por 22 años y especialista en seguridad de redes por 10 años. Actualmente estoy en la escuela para mi ECH y mi CPTS y estoy viendo cursos de seguridad ofensiva cuando termine estos.

Espero que esto ayude y que otros encuentren útil esta información a medida que restaure las copias de seguridad que hice en este sistema y encuentre mis otros enlaces y recursos sobre este asunto, actualizaré esta respuesta.

4
brandizzle

Como puede ver en la estructura del protocolo, todo depende del área en la que se usa y, dado que los firewalls pueden actuar sobre los parámetros de tipo y código, puede decidir qué pasar a través del firewall y qué no. Claramente, si el firewall recibe la solicitud de eco ICMP y no tiene problemas para informarle si el host de destino está activo o no, el firewall también debe permitir que pase una respuesta de eco. Pero tenga cuidado: los paquetes ICMP deben estar sujetos a DPI, es decir, deben ser consistentes con las especificaciones del paquete: si un paquete ICMP pasó a través del firewall entrante/saliente y hubo malware en uno o más hosts dentro de su red, esos hosts pueden adquirir comandos de un servidor C&C y filtrar información a ese servidor. En general, no creo que sea aconsejable usarlo en enrutadores de borde, pero para el diagnóstico interno de la red, sí.

2
lone

Bloquear ICMP no solo es inútil, sino que la mayoría de los casos también es dañino. Hay varias razones por las que no debe bloquear ICMP si no está absolutamente seguro de lo que está haciendo y especialmente por qué lo está haciendo. Sí, icmp ping puede ayudar a otros a "perfilar" su red. Pero seamos honestos, si tiene algún servicio tcp abierto, será visto. Si solo sueltas paquetes, serás visto. Si responde de manera incorrecta, lo verán. Entonces, si cree en la teoría de que debe ocultar nuestros servidores importantes en la red porque los hace más seguros, cuando bloquea su icmp es más posible que su Host sea un objetivo aún más brillante. Hay muchas formas de hacerlo mal para que rompa el descubrimiento de rutas de mtu, el control de congestión, etc. e incluso haga que su servidor se destaque de la masa. Entonces, en la celda de la tuerca, no bloquee su icmp si no tiene una buena razón para hacerlo y luego hágalo con cuidado y lea las especificaciones del protocolo icmp para que entienda qué y por qué está haciendo lo que está haciendo. Sí, puede ser una buena idea bloquear la redirección de icmp en Edge de su red si no está seguro de si tiene núcleos antiguos. Pero, por otro lado, es mejor actualizar sus servidores y otros hosts (solucionar problemas reales) que ocultarlos debajo de la alfombra donde alguien encontrará sus errores de todos modos.

2
Tapio Haapala