En caso de que el bloque cortafuegos el tráfico HTTP saliente de un servidor web a través del puerto 80?

StackOverflow https://stackoverflow.com/questions/714631

Pregunta

Yo entiendo la necesidad de poner un servidor web en una DMZ y bloqueando el tráfico de entrada a todos los puertos excepto el 80 y el 443. También puedo ver por qué se debe, probablemente, también bloquear la mayor tráfico de salida en caso de que el servidor es comprometido.

Pero, ¿es necesario bloquear el tráfico HTTP saliente por el puerto 80? Si es así, ¿por qué? Una gran cantidad de aplicaciones web en estos días se basan en el envío / recuperación de datos de servicios web externos y las API, por lo que el bloqueo de tráfico saliente a través del puerto 80 impediría esta capacidad. ¿Hay un problema de seguridad que es lo suficientemente válido para justificar esto?

¿Fue útil?

Solución

La única razón que se me ocurre es que el equipo esté de alguna manera compromomised forma remota, entonces no será capaz de DDoS otro sitio web en el puerto 80. No es algo que normalmente hago sin embargo.

Otros consejos

En lugar de bloquearla, estrangular él. Limitar el uso de iptables -m.

Tengo varias aplicaciones web que invocan servicios web externos, así que diría que es una mala idea para bloquear el tráfico HTTP de salida. Si usted está preocupado por la seguridad, se puede bloquear y permitir solamente ciertos destinos.

Dependiendo de la versión de SQL, usted podría tener tiempo de la autenticación de certificados a cabo cuestiones con el servidor SQL 2005.

En primer lugar - "En lugar de bloquearlo, el acelerador se puede utilizar iptables -m límite". Estoy de acuerdo con @vartec de estrangulación como al menos parte de la solución

Sin embargo, puedo ofrecer otra razón para no bloquear el puerto 80 de salida en todo momento. Si usted tiene las actualizaciones de seguridad automáticas está activada en el servidor no puede llegar a las APP a través del puerto 80 para iniciar una actualización de seguridad. Por lo tanto, si usted tiene las actualizaciones automáticas de seguridad establecen que no se ejecutarán. En ubuntu-actualizaciones de seguridad automática se activan en 14.04 LTS con:

 sudo apt-get install unattended-upgrades update-notifier-common && \
 sudo dpkg-reconfigure -plow unattended-upgrades
 (then select "YES")

Las soluciones más elegantes serían guiones ansibles de apertura el puerto automáticamente, posiblemente también modificar una regla de grupo de seguridad de AWS a través de la CLI, además de iptables si está en AWS. Yo prefiero mis modificar temporalmente las reglas de salida a través de AWS CLI iniciada por un cuadro de sigilo. Esto obliga a registrar la actualización en mis cubos de registro AWS S3, pero nunca aparece en los registros del propio servidor. Además, el servidor que inicia la actualización ni siquiera tiene que estar en el ACL subred privada.

Tal vez hacer ambas cosas? Usted tiene que averiguar a veces un ataque va a retransmitir fuera una IP interna en su subred de modo que hay mérito para doblar preservando al mismo tiempo la capacidad de automatizar las copias de seguridad y actualizaciones de seguridad.

Espero que esto ayude. Si no responder y proporcionar ejemplos de código para ser más específica y exacta. #staysafe!

Si la máquina está comprometida y se permite el tráfico saliente en el puerto 80, que haría más fácil para los intrusos a enviar datos recolectados a sí mismos. Permitiendo que el tráfico saliente significa que puede iniciar una conexión desde el equipo con el mundo exterior. Un mejor enfoque sería permitir que el tráfico de salida sólo a ciertos sitios web / direcciones de su confianza (es decir, Microsoft Windows Update, Google reCAPTCHA) más que a cualquier destino en el mundo.

¿qué quiere decir con el bloqueo de tráfico saliente a través del puerto 80.

Existen dos posibilidades. Gernerate reglas dinámicas que permiten la comunicación de cliente a su servidor web para esta sesión. Búsqueda de reglas de firewall con estado.

O por lo general permiten conexiones establecidas para comunicarse en y saliente entre sí.

Si por lo general bloquear todo el tráfico saliente a través del puerto 80 de su servidor web no podía responder a cualquier cliente.

Al revés, si su servidor web necesita para conseguir algo de API, por ejemplo, una biblioteca jQuery él no utiliza el puerto 80 como su puerto para comunicarse con el servidor web que tiene la API.

Su servidor web normalmente elegir un puerto> 1024 y utilizarlo para su solicitud para obtener la API del servidor remoto.

Así que el bloqueo de todo el tráfico a través del puerto 80 (como su puerto que se conecta desde) no impediría su servidor de envío de las solicitudes de API y tales cosas. porque él no utiliza el puerto 80 cuando actúa como cliente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top