2009-04-03 9 views
5

Entiendo la necesidad de poner un servidor web en una DMZ y bloquear el tráfico entrante a todos los puertos excepto 80 y 443. También puedo ver por qué probablemente también debería bloquear la mayoría del tráfico saliente en caso de que el servidor se vea comprometido.¿Debería el cortafuegos de un servidor web bloquear el tráfico HTTP de salida a través del puerto 80?

¿Pero es necesario bloquear el tráfico HTTP de salida sobre el puerto 80? Si es así, ¿por qué? Actualmente, muchas aplicaciones web se basan en el envío/recuperación de datos de servicios web externos y API, por lo que el bloqueo del tráfico saliente en el puerto 80 evitaría esta capacidad. ¿Hay alguna preocupación de seguridad que sea lo suficientemente válida como para justificar esto?

Respuesta

7

La única razón por la que puedo pensar es si su máquina se compromete de alguna manera remotamente, entonces no podrá DDoS otro sitio web en el puerto 80. Sin embargo, no es algo que normalmente haga.

-2

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

tiene dos posibilidades. Gernerate Dynamic Rules que permite la comunicación del cliente a su servidor web para esta sesión. Busque las reglas de cortafuegos Stateful.

O generalmente permite que las Conexiones establecidas se comuniquen entre sí y salgan entre sí.

Si generalmente bloquea todo el tráfico saliente sobre el puerto 80, su servidor web no pudo responder a ningún cliente.

A la inversa, si su servidor web necesita obtener alguna API, p. una biblioteca jquery que no usará el puerto 80 como su puerto para comunicarse con el servidor web que posee la API.

Su servidor web normalmente elegiría un puerto> 1024 y lo usaría para su solicitud de obtener la API del servidor remoto.

Así que bloquear todo el tráfico sobre el puerto 80 (como el puerto desde el que se conecta) no evitaría que su Servidor envíe solicitudes de API y cosas por el estilo. porque él no usa el puerto 80 cuando actúa como cliente.

+0

Estoy hablando de permitir que el servidor web inicie conexiones HTTP de salida (puerto 80) a otros servidores en Internet. Por ejemplo, puede tener una página PHP que tenga un widget meteorológico. Esa secuencia de comandos necesitaría solicitar los datos meteorológicos de un servicio web externo. –

+0

ah ok, pensé que te refieres a bloquear el puerto 80 como el puerto de inicio. Si bloquea esto, entonces no puede cargar apis y tal cosa desde otras páginas. Probablemente pueda agregar algunos Sitios en los que confíe a sus reglas. Pero yo diría que bloquear el Puerto 80 generalmente no tiene mucho sentido. – evildead

+0

desde otro punto de vista, si su servidor es pirateado y usted bloquea ese tráfico no puede cargar código de abituario desde otros sitios. Pero quién garantiza que el hacker/robot/lo que sea esté usando el puerto 80 para su solicitud :) – evildead

0

En lugar de bloquearlo, estrangularlo. Use iptables -m límite.

0

Tengo varias aplicaciones web que invocan servicios web externos, por lo que diría que es una mala idea bloquear el tráfico HTTP de salida. Si le preocupa la seguridad, puede bloquearla y permitir solo ciertos destinos.

+0

Una lista blanca es una buena sugerencia, pero no funcionará con OpenID, que requiere que el servidor web pueda solicitar cualquier URL usada como un OpenID. –

+0

No solo eso, no funcionará con ningún sitio web que alguna vez cambie la dirección IP. Así es como el firewall que necesito solicitar cambia para las obras, en el nivel de IP, no en el nivel de dominio (supongo que esto es para fines de eficiencia). Es un verdadero dolor ya que algunas IPs cambian mucho. –

+0

Además, ¿no siempre habrá algún servicio que podría, posiblemente, ser utilizado para DDoS otro host? Por ejemplo, en mi host saliente HTTP bloqueado, el ping aún puede contactar a cualquier host. –

0

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

0

Primera - Estoy de acuerdo con @vartec de estrangulación "En lugar de bloquearlo, el acelerador se limite el uso de iptables -m. "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 tiene activadas las actualizaciones automáticas de seguridad, el servidor no puede comunicarse con los PPA a través del puerto 80 para iniciar una actualización de seguridad. Por lo tanto, si tiene configuradas las actualizaciones de seguridad automáticas, 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") 

soluciones más elegante sería 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án en AWS. Prefiero modificar temporalmente mis reglas de salida a través de la CLI de AWS iniciada por un cuadro de sigilo. Esto obliga a registrar la actualización en mis depósitos de registro de AWS S3, pero nunca aparece en los registros del servidor.Además, el servidor que inicia la actualización ni siquiera tiene que estar en la ACL de la subred privada.

¿Tal vez hacer las dos cosas? A veces hay que deducir que un ataque va a retransmitir una IP interna en su subred, por lo que es conveniente duplicarlo mientras se conserva la capacidad de automatizar las copias de seguridad y las actualizaciones de seguridad.

Espero que esto ayude. Si no responde y proporciona más ejemplos de código para ser más específico y exacto. #mantenerse a salvo !

0

Si la máquina se ve comprometida y se permite el tráfico saliente en el puerto 80, sería más fácil para los intrusos enviar de vuelta los datos cosechados a sí mismos. Permitir el tráfico saliente significa que puede iniciar una conexión desde su máquina al mundo exterior. Un mejor enfoque sería permitir el tráfico saliente solo a ciertos sitios web/direcciones en los que confíe (es decir, Microsoft Windows Update, Google reCAPTCHA) en lugar de cualquier destino en el mundo.

Cuestiones relacionadas