firewall

En esta segunda entrada de la serie “Controles técnicos de PCI DSS” nos focalizaremos en el análisis de los cortafuegos (“firewall”), controles de seguridad fundamentales empleados para la segmentación y aislamiento de servidores y servicios y elementos clave dentro del despliegue e implementación de los requerimientos de PCI DSS.

¿Qué es un Cortafuegos (“Firewall”)?

CapturaUn cortafuegos (“Firewall” de aquí en adelante) es una tecnología que permite el filtrado de tráfico entre dos redes o entre un equipo y una red, aceptándolo o denegándolo en función de una serie de reglas definidas. Su primera implementación se realizó en la década de los ochenta como contramedida para evitar accesos no autorizados desde una red de datos. Actualmente es uno de los controles de seguridad de la información imprescindibles para la segmentación y aislamiento de redes y para la aplicación de estrategias de seguridad basadas en la “Defensa en profundidad“.

Su diseño técnico se basó en el concepto de barreras y murallas físicas (controles preventivos), ampliamente utilizado en la historia para mantener a potenciales atacantes lejos de estructuras críticas, como es el caso de la Gran Muralla China o los castillos europeos de la Edad Media. De hecho, su nombre proviene de las paredes que se construían para separar las partes de un edificio que potencialmente eran propensas a incendios del resto de la estructura.

A lo largo de su historia, los firewalls han evolucionado pasando por diferentes “generaciones”:

  • Primera generación – Filtrado de paquetes estático (“Stateless Packet Filtering”): El primer acercamiento al filtrado de paquetes tuvo su implementación en 1980 en los enrutadores (“routers”), dispositivos que se encontraban en los límites entre una red y otra. Hacia mediados de la misma década, personal de AT&T (Dave Presotto, Bill Cheswick y Steve Bellovin) y DEC (Brian Reid, Jeff Mogul y Paul Vixie) trabajaron de forma independiente en este concepto, el cual se basaba en la definición de filtros de tráfico (conocidos como Listas de Control de Acceso o ACL) con base en los siguientes componentes de los paquetes (capa 3 – Red) y datagramas/segmentos (capa 4 – Transporte) del modelo OSI:
    • Dirección IP origen
    • Dirección IP destino
    • Puerto origen TCP/UDP
    • Puerto destino TCP/UDP
    • Filtros asociados a otros protocolos de capa 3 como ICMP
    • Interfaz de red por la cual el tráfico entra o sale
  • Segunda generación – Firewalls de aplicación (“Proxies”): En 1991 DEC (Digital Equipment Corporation) desarrolló la primera solución de firewalls comerciales denominada “DEC Securing External Access Link” (SEAL). Esta solución tomaba los conceptos básicos de los firewalls de primera generación pero implementaba los filtros de tráfico en la capa de aplicación (capa 7 del modelo OSI), funcionando como un intermediario (“proxy” o “gatekeeper”) entre una red y otra. Esta estrategia permitía un control más granular a nivel de protocolos de aplicación (HTTP, POP3, SMTP, DNS, FTP, Telnet) facilitando la definición de  reglas de acceso más robustas y efectivas.
  • Tercera generación – Firewalls de estado (“Stateful Inspection Firewalls”): En 1994, Checkpoint Software Technologies (un desarrollador de soluciones de firewall israelí) implementa el concepto de “estado” como nueva característica de seguridad en los filtros de tráfico. Un “estado” identifica la ubicación de un paquete en particular dentro de una sesión de comunicación entre dos nodos. Este concepto aplica principalmente a TCP (Transmission Control Protocol), un protocolo orientado a conexión que gestiona 11 posibles estados dentro de una sesión y diferentes bits de control (ver RFC 793), lo que permite identificar si un determinado paquete pertenece o no a una sesión. Toda la información de estado se almacena en una “tabla de estado”, que es comparada con los paquetes entrantes y salientes para determinar si pertenecen o no a una sesión establecida y con base en ello tomar decisiones de aceptación o denegación del tráfico.  En otros protocolos como UDP (User Datagram Protocol) – que no es orientado a conexión y no cuenta con una gestión de estados como tal – se implementa un filtrado de pseudo-estado (“pseudo-stateful”) empleando ICMP (Internet Control Message Protocol).
Ejemplo de una tabla de estado de conexiones (Stateful Inspection)

Ejemplo de una tabla de estado de conexiones (Stateful Inspection)

  • Firewalls de siguiente generación (“Next Generation Firewalls” – NGFW): Con el trascurso del tiempo, las tecnologías de filtrado fueron incorporando nuevas funcionalidades para implementar controles más específicos y nuevas características de seguridad. Entre ellas se encuentran DPI (Deep Packet Inspection), Stateful Multilevel Inspection (SMLI) y tecnologías de seguridad complementarias (antivirus, filtrado de URL, VPN, QoS, etc.) en un único dispositivo (Unified Threat Management – UTM). Cada fabricante implementa estas funcionalidades bajo nombres distintos, sin embargo la tecnología base sigue siendo la misma.

Para complementar este apartado, a continuación se presenta una línea de tiempo con los acontecimientos más importantes en la historia de los firewalls:

timeline

Línea de tiempo de la evolución de firewalls (Fuente: www.firewalls.com)

Sin embargo – y tal como se comentó al principio – los firewalls no solamente permiten establecer filtros de tráfico entre redes, sino también entre redes y un equipo en particular. En este tipo de escenarios el firewall se instala sobre el mismo servidor. Este modelo es conocido como Firewall Personal (Personal Firewall) o Firewall de Host. Mayor información en el documento del NIST SP 800-114 “User’s Guide to Securing External Devices for Telework and Remote Access“.

¿Qué requerimientos de PCI DSS están relacionados con el Cortafuegos (Firewall)?

La totalidad del Requisito 1: “Instale y mantenga una configuración de firewalls para proteger los datos de los titulares de las tarjetas” está enfocado hacia la gestión de firewalls en el entorno de cumplimiento, lo que lo convierte en un control obligatorio dentro del alcance. Los controles relacionados son los siguientes:

  • Requerimiento 1.1 “Establezca e implemente normas de configuración para firewalls y routers”:   Este requerimiento exige la implementación de un proceso formal para aprobar y probar todos los cambios en equipos que implementan filtrado (firewalls y routers), la creación y mantenimiento de diagramas de red actualizados, implementación de un firewall entre la DMZ y la red interna, definición de roles y responsabilidades de administración de estos equipos, documentación y justificación de todos los servicios, puertos y protocolos del entorno y la revisión de las reglas de filtrado por lo menos cada seis (6) meses.
  • Requerimiento 1.2 “Desarrolle configuraciones para firewalls y routers que restrinjan las conexiones entre redes no confiables y cualquier componente del CDE“, en el cual se establece la aplicación de restricciones de tráfico únicamente al requerido y la instalación de firewalls entre cualquier red inalámbrica y el CDE.
  • Requerimiento 1.3 “Prohíba el acceso directo público entre Internet y todo componente del sistema en el entorno de datos de los titulares de tarjetas“: Este requerimiento contempla el uso de una DMZ para limitar el tráfico entrante desde Internet, la denegación de cualquier tráfico directo entre Internet y el CDE, el uso de controles de anti-spoofing, el control de tráfico saliente del CDE, la configuración de las características de filtrado de estado (“Stateful Inspection”), la ubicación de componentes críticos que almacenan datos de tarjetas de pago en una zona interna y la prevención de divulgación de direcciones IP privadas e información de enrutamiento desde redes internas a Internet.
  • Requerimiento 1.4 “Instale software de firewall personal en todos los dispositivos móviles o de propiedad de los trabajadores que tengan conexión a Internet cuando están fuera de la red“, bajo el cual se describen los controles a implementar en firewalls personales.
  • Requerimiento 1.5 “Asegúrese de que las políticas de seguridad y los procedimientos operativos para administrar los firewalls estén documentados, implementados y que sean de conocimiento para todas las partes afectadas

Así mismo, las soluciones de filtrado de paquetes deben contar con su guía de securización asociada conforme con el requerimiento 2.2 de PCI DSS. Se pueden encontrar referencias en el documento “Guidelines on Firewalls and Firewall Policy” del NIST y en el artículo “Estándares de configuración segura (hardening) en PCI DSS“.

Criterios para la elección de una solución de cortafuegos (Firewall) para PCI DSS

No cualquier solución de filtrado de paquetes es válida dentro de una implementación de PCI DSS. A continuación se enumeran algunos criterios a tener en cuenta cuando se realiza el análisis de una solución de firewall en particular antes de ingresarla al entorno de cumplimiento:

  • Debe tener una cantidad de puertos/interfaces de red suficientes para establecer los segmentos de red requeridos por el estándar en función de la conectividad con Internet (si la hay), incluyendo una DMZ, una red interna en donde se encuentren los equipos que almacenan datos de tarjetas de pago y cualquier red inalámbrica asociada. Más información relacionada con topologías de red y PCI DSS en el artículo “La red ideal de PCI DSS“.
  • Debe contar con características que permitan la detección y bloqueo de ataques de suplantación de direcciones IP o Anti-Spoofing (Req. 1.3.4)
  • Como mínimo, debe ser una solución de firewall de tercera generación que implemente Stateful Inspection (Req. 1.3.6)
  • Debe contar con funcionalidades que permitan prevenir la divulgación de direcciones IP privadas e información de enrutamiento desde redes internas a Internet (NAT (RFC 1918), Proxies y eliminación de anuncios de direccionamiento interno en protocolos de enrutamiento) 

El documento “Methodology for Firewall Reviews for PCI Compliance” del SANS Institute puede ser de bastante ayuda en este proceso.

Así mismo, si dentro del ámbito se encuentran dispositivos móviles o de propiedad de los empleados que se conecten al CDE o a Internet cuando está fuera de la red corporativa, se debe implementar una solución de Personal Firewall con las siguientes características:

  • La solución de Personal Firewall no debe poder ser deshabilitada ni modificada por el usuario
  • Debe funcionar activamente (estar activado en todo momento)

Soluciones comerciales de Cortafuegos (Firewalls)

Al igual que con las soluciones de WAF, un buen punto de inicio para encontrar soluciones comerciales de filtrado de paquetes es el Cuadrado Mágico de Gartner (“Gartner Magic Quadrant”). En 2014 se publicó el cuadrado perteneciente a la categoría de “Enterprise Network Firewalls” que puede ser visualizado aquí. Algunos de los fabricantes destacables son:

Soluciones Open Source de Cortafuegos (Firewalls)

Las siguientes son algunas soluciones de filtrado de paquetes Open Source que cumplen con los criterios requeridos por PCI DSS:

Referencia técnica: ¿Cómo comprobar si una solución de filtrado de paquetes es Stateful Inspection e implementa controles Anti-Spoofing?

Como lo exige PCI DSS en los requerimientos 1.3.4 y 1.3.6, la solución de filtrado de paquetes a ser implementada en el entorno de cumplimiento debe contar con características de Stateful Inspection y contar con controles de Anti-Spoofing. Algunas soluciones de filtrado como ipfwadm e ipfilter en Linux o filtrado mediante ACL en algunos dispositivos activos de red antiguos no son Stateful Inspection, mientras que otras no implementan anti-spoofing de forma nativa o automática (con base en la topología de red y los direccionamientos asociados a las interfaces) sino que es el usuario quien lo debe definir manualmente.

Desde el punto de vista de auditoría, un QSA requiere validar que el firewall instalado es Stateful Inspection. Esto se puede comprobar mediante diferentes formas:

  • Validando que la solución es certificada por una organización independiente como ICSA Labs, que dentro de algunas de sus pruebas analiza el funcionamiento de Stateful Inspection
  • Revisando la información técnica provista por el propio fabricante (la cual algunas veces no es muy objetiva). Hay que tener presente que cada fabricante denomina esta funcionalidad con diferentes nombres (como  “Stateful Packet Inspection” (SPI) o Dynamic Packet Filtering)

Sin embargo, lo mejor es realizar pruebas técnicas contra el dispositivo de filtrado para comprobar sus respuestas y con base en ello determinar si gestiona tablas de estados de paquetes y si permite el ingreso de direccionamiento interno desde interfaces conectadas a Internet.

Si se opta por esta opción, la forma más fácil para realizar esta prueba es usando la herramienta Open Source Network Mapper (NMAP). Para ello, se pueden utilizar los siguientes flags:

Para validar los controles de Anti-Spoofing:

Para validar las características de Stateful Inspection:

Si hay alguna duda, el foro y los comentarios están disponibles.