Limitar efectivamente el tráfico saliente del firewall a las IP que cambian con frecuencia

4

PCI DSS 1.2.1 indica:

  

Restrinja el tráfico entrante y saliente a lo que sea necesario para   el entorno de datos del titular de la tarjeta.

     

Verifique que todo el tráfico entrante y saliente sea específicamente   denegado, por ejemplo, utilizando un explícito "denegar todo" o un implícito   negar después de permitir declaración

Los servidores en nuestra DMZ necesitan realizar llamadas salientes a una serie de servicios externos (principalmente a través de las API HTTPS). La mayoría de estos servicios tienen sus propias configuraciones de alta disponibilidad con registros DNS de TTL bajo, y pueden agregar o cambiar direcciones IP en cualquier momento.

Por lo tanto, no parece factible restringir el tráfico saliente en nuestro firewall basado en la dirección IP, porque las reglas estarían constantemente desactualizadas y serían una pesadilla para los administradores.

He visto que algunos firewalls admiten reglas basadas en FQDN, lo que parece que podría resolver el problema, pero desafortunadamente ni nuestro ISP ni otros que he visto (Rackspace, AWS, etc.) son compatibles con firewall basado en FQDN reglas. Preferiríamos no tener que mover proveedores de hosting.

Otra solución es configurar un entorno de alojamiento externo completamente separado (completo con su propia redundancia y autenticación) que se utiliza simplemente para representar todo el tráfico saliente que no es de tarjeta de crédito. Entonces solo tendríamos que permitir la IP de nuestro proxy. Esto parece una exageración y me cuesta creer que sea la mejor solución.

¿Seguramente no podemos ser la única compañía compatible con PCI que tiene que lidiar con estas reglas dinámicas de tráfico saliente? ¿Cómo están resolviendo este problema otras empresas?

    
pregunta realworldcoder 23.08.2012 - 18:08
fuente

3 respuestas

2

¿Es posible sortear un escenario de este tipo restringiendo las direcciones IP a un "rango", normalmente un bloque de subred (ya que la compañía externa tenía un bloque contiguo y así, aunque había un TTL bajo, las reglas aún estar bien)? ¿Sus proveedores de servicios externos tienen un bloque contiguo o un rango conocido de direcciones IP? En mi experiencia, la mayoría lo hace.

Desde mi comprensión de los requisitos de PCI (disco: estoy un poco oxidado, ha pasado un tiempo), la solución mencionada anteriormente sería suficiente porque el destino está restringido y su base de reglas seguirá teniendo un rechazo explícito.

Otra solución potencial es tener un servidor proxy, ya sea internamente en la LAN o en una zona casi DMZ a través de la cual el servidor DMZ puede comunicarse con los servicios externos. La política puede estar realmente bloqueada en el servidor proxy, de modo que el acceso externo desde el servidor DMZ puede restringirse al sitio, protocolo, tiempo, etc. El servidor proxy está diseñado para tratar con FQDN (mientras que el firewall normalmente no lo es y puede sufrirlo) la degradación del rendimiento como lo describe @JeffFerland), por lo que podría tener una política más estricta, ya que se basaría en los FQDN como destinos, no en rangos de IP.

Supongo que mucho depende del QSA que aparece el día :)

Además, estoy seguro de que lo sabe, pero todas las "mejores prácticas de seguridad" (afaik) insisten en evitar las llamadas salientes desde el DMZ (período), de modo que si el cuadro de la DMZ se abre, el atacante no puede cargar fácilmente Más recursos en el servidor o una pieza de malware pueden ser mucho más fáciles de llamar a casa.

    
respondido por el Mark Hillick 24.08.2012 - 00:46
fuente
1

Suena como un dolor justo. El problema con el direccionamiento "FQDN" es que se requiere una búsqueda de DNS, y confiar en los tiempos de espera puede provocar un retraso en la reacción del firewall. Sugeriría mirar esto de otra manera.

¿Se puede manejar esto con una VPN? ¿Existe un cierto bloque de espacio de direcciones que puede esperar poseer para sus servidores?

Puedes permitir explícitamente una conexión a un puerto en cualquier host y aún estar en la especificación (por ejemplo, *: 80). También puede utilizar SSL para autenticar sus conexiones (aunque será difícil si no son persistentes).

    
respondido por el Jeff Ferland 23.08.2012 - 20:53
fuente
1

Al leer tu publicación, pensaba en usar tu proxy antes de llegar tan lejos:

  

Otra solución es configurar un entorno de alojamiento externo completamente separado (completo con su propia redundancia y autenticación) que se utiliza simplemente para representar todo el tráfico saliente que no es de tarjeta de crédito

Realmente no veo que esto sea tan oneroso: debería poder hacer proxy del tráfico cifrado (evitando así la fuga de datos de sus servidores de procesamiento, sin problemas de confidencialidad / integridad en el proxy). El único problema entonces es que el tráfico de terceros se enrute a través de su proxy y se acepte como si proviniera de sus servidores. Me gustaría pensar que sus proveedores ascendentes usan más que solo una dirección IP para identificar sus transacciones legítimas, pero usted podría restringir aún más el acceso al permitir solo las conexiones TCP entrantes en el proxy a través de ipsec / vpn.

Por lo tanto, un dispositivo proxy, con un firewall de smple, solicitudes salientes de DNS, solicitudes salientes de HTTPS, solicitudes entrantes de HTTPS (a través de un canal restringido) y ssh para el acceso remoto, no me suena demasiado complejo.

    
respondido por el symcbean 24.08.2012 - 13:56
fuente

Lea otras preguntas en las etiquetas