¿Hay algún significado en solo permitir los puertos 80 y 443 hoy?

33

Se ha convertido en una tarifa estándar para que las organizaciones que se preocupan por la seguridad bloqueen todo lo que no sea 80 y 443. Como resultado, cada vez más aplicaciones (distintas de los navegadores web) también están aprendiendo a usar estos puertos para sus necesidades.

Los programas naturalmente maliciosos también lo hacen, lo que significa que para tener una seguridad real, los firewalls tienen que examinar la secuencia de datos y bloquearlos en función de los datos de la aplicación en lugar de solo los puertos ...

Esto parece indicar que, para empezar, el bloqueo basado en puertos era un enfoque miope, como una validación de entrada únicamente en el cliente ...

En ese caso, ¿no deberíamos detener el bloqueo de puertos no estándar y buscar un filtro más fino en primer lugar ...? ¿O existen otras razones para mantener el enfoque de la lista blanca de puertos?

    
pregunta Milind R 23.12.2014 - 19:38
fuente

4 respuestas

32

El bloqueo de todos los puertos, excepto 80 y 443, puede ser parte de una buena estrategia de defensa en profundidad. Si es tu única estrategia, entonces tienes razón, será una falla.

Un posible enfoque en capas ejemplificado puede ser

  1. Bloquee todos los puertos en el firewall externo menos 80/443
  2. Tenga un IPS en línea (o como parte de su firewall) haga análisis de paquetes
  3. Desinfectar las entradas de la aplicación web con un servidor de seguridad de aplicación web
  4. Sanitize db input con un firewall db
  5. Regístrese todo y aliméntelo en un sistema de administración de registros (con alertas)
  6. Copias de seguridad en todo (cualquiera que sea su estrategia de disponibilidad)
  7. Refuerce cada SO según la línea de base / puntos de referencia que elija (por ejemplo, Org SOP, CIS / DISA STIGS, etc.)

Este es solo un ejemplo muy simple. Una buena estrategia de defensa en profundidad tiene muchas capas que juntas crean un sistema seguro.

    
respondido por el KDEx 23.12.2014 - 20:05
fuente
22

Eres absolutamente correcto. No hay nada mágico en el puerto 80 o en el puerto 443. No hay nada intrínsecamente seguro en un puerto u otro, o incluso en un protocolo u otro. Si bloquea todo menos HTTP, todos simplemente comenzarán a usar HTTP. Los atacantes pueden y se mueven siempre más rápido que todo lo demás. No están limitados por el mantenimiento de la infraestructura antigua.

En esencia, los protocolos y los puertos no son seguros o inseguros. Bloquearlos es solo otra forma de teatro de seguridad.

    
respondido por el Steve Sether 23.12.2014 - 23:46
fuente
11

La lista blanca es generalmente preferible a la lista negra. Si solo abre los puertos que realmente necesita, y si limita esos puertos en la medida de lo posible, entonces habrá reducido el área de superficie de ataque y limitado el tráfico que necesita vigilar.

Sí, 80 y 443 aún pueden ser objeto de abuso por tráfico malicioso. Pero, también estás elevando el nivel de los ataques (al menos un poco) forzándolos a través de una ventana mucho más pequeña, y una a la que puedes vigilar más fácilmente.

    
respondido por el Xander 23.12.2014 - 20:05
fuente
3

Los números de puerto no importan. Las aplicaciones que están escuchando o conectándose en cualquier puerto son importantes. Utilice la red para limitar los vectores de ataque de la aplicación.

Algunas sugerencias:

  • Los nodos de aplicaciones deben ser accesibles en múltiples redes con diferentes propósitos y perfiles de tráfico: una red de aplicaciones y una red de administración.
  • Evitar aplicaciones en puertos < 1024, por ejemplo use 8080 o algún otro puerto aleatorio. NAT a los puertos de la aplicación en los límites de la red de la aplicación (en la LB).
  • Use iptables para permitir solo el tráfico de la aplicación (80, 443) desde direcciones IP específicas del equilibrador de carga (si no está utilizando LB de ruta directa) o hacia servicios internos (su DB).
  • Limite SSH (22) y otro tráfico (registro) a una red de administración.
  • Segregar físicamente las redes, si es posible.
  • No confíe en DNS para la configuración del nodo de la aplicación.
  • Segregar las redes corporativas y de desarrollo de las redes de producción.
  • Monitoree las redes segregadas para el tráfico no aprobado. por ejemplo: el tráfico SSH en la red de su aplicación indica un problema.
respondido por el Kurt Stephens 24.12.2014 - 17:33
fuente

Lea otras preguntas en las etiquetas