Descripción de los firewalls con estado frente a los sin estado para la inspección de protocolos con estado
Cortafuegos han sido un componente fundamental de la estrategia de ciberseguridad para las empresas durante mucho tiempo. A lo largo de los años, han pasado por adiciones y mejoras masivas en las características del producto. Una característica particular que se remonta a 1994 es la inspección estatal.
¿Qué es una inspección estatal?
Una inspección con estado, también conocido como filtrado dinámico de paquetes, es cuando un firewall filtra los paquetes de datos según el ESTADO y el CONTEXTO de las conexiones de red. Exploremos lo que significa “estado” y “contexto” para una conexión de red.
Estado
Usemos la comunicación basada en TCP del protocolo de red entre dos endpoints como una forma de entender el estado de la conexión. En TCP, los cuatro bits (SYN, ACK, RST, FIN) de los nueve bits de control asignables se utilizan para controlar el estado de la conexión. Los firewalls pueden aplicar políticas basadas en ese estado de conexión; sin embargo, también debe tener en cuenta cualquier paquete sobrante, retransmitido o retrasado que pase a través de él después de la terminación de la conexión.
Veamos un ejemplo simplista de seguimiento de estado en firewalls:
- Cuando una aplicación cliente inicia una conexión mediante un protocolo de enlace de tres vías, la pila TCP establece el indicador SYN para indicar el inicio de la conexión. Este indicador es utilizado por el firewall para indicar una nueva conexión.
- El servidor responde a la conexión enviando un SYN + ACK, punto en el que el firewall ha visto paquetes de ambos lados y promueve su estado de conexión interna a ESTABLECIDO. Aunque desde la perspectiva TCP la conexión aún no está completamente establecida hasta que el cliente envía una respuesta con ACK.
- Del mismo modo, cuando un firewall ve un paquete RST o FIN+ACK, marca el estado de conexión para su eliminación y cualquier paquete futuro para esta conexión se eliminará.
Pseudo estado
No todos los protocolos de red tienen un estado como TCP. UDP, por ejemplo, es un protocolo muy utilizado que es de naturaleza apátrida. Las aplicaciones que utilizan este protocolo mantendrán el estado usando la lógica de aplicación o pueden funcionar sin él. Pocas aplicaciones populares que utilizan UDP serían DNS, TFTP, SNMP, RIP, DHCP, etc.
El firewall con estado actual crea un “pseudo estado” para estos protocolos. Por ejemplo, cuando un firewall ve un paquete saliente, como una solicitud DNS, crea una entrada utilizando la dirección IP y el puerto del origen y el destino. Luego utiliza estos datos de conexión junto con los datos de tiempo de espera de conexión para permitir que el paquete entrante, como DNS, responda.
Contexto
El contexto de una conexión incluye los metadatos asociados con paquetes tales como:
- Dirección IP y puerto de puntos finales de origen y destino
- Tiempo de recepción del último paquete para manejar conexiones inactivas
- Longitud del paquete
- Números y indicadores de secuencia TCP de capa 4
- Datos de capa 3 relacionados con la fragmentación y el reensamblaje para identificar la sesión para el paquete fragmentado, etc.
Inspección estatal vs. apátrida
La principal diferencia entre un firewall con estado y un firewall sin estado es que un firewall con estado analizará el contexto completo del tráfico y los paquetes de datos, manteniendo constantemente un seguimiento del estado de las conexiones de red (hense “estatal”). En su lugar, un firewall sin estado analizará el tráfico y los paquetes de datos sin requerir el contexto completo de la conexión.
Ahora echemos un vistazo más de cerca a los firewalls de inspección con estado frente a los sin estado.
Firewalls sin estado
¿Cómo funciona un firewall sin estado?
Usando la Figura 1, podemos entender el funcionamiento interno de un firewall sin estado. Un firewall sin estado aplica la política de seguridad a los datos de tráfico entrante o saliente (1) mediante la inspección de los encabezados de protocolo del paquete. Examinará desde OSI capa 2 a 4. Después de inspeccionar, un firewall sin estado compara esta información con la tabla de políticas (2). A partir de ahí, decide la acción de política (4.a y 4.b): PERMITIR, DENEGAR o RESTABLECER el paquete.

Figura 1: Diagrama de flujo que muestra las decisiones de políticas para un firewall sin estado
¿Cuáles son las ventajas de un firewall sin estado?
- Menos uso intensivo de recursos: La búsqueda de políticas se realiza en datos de paquetes estáticos y tabla de políticas, por lo que la cantidad de recursos de CPU y memoria necesarios para realizar la búsqueda es baja. Esto es eficaz para dispositivos de búsqueda de políticas estáticas como routers y switches que utilizan funciones como listas de control de acceso (ACL).
- Sin mayor latencia: El procesamiento adicional agrega latencia de overhead sin a mínima o procesamiento de velocidad de línea de términos simples de los paquetes.
¿Cuáles son las contras de un firewall sin estado?
- Filtrado limitado: Un firewall sin estado basa su decisión únicamente en el uso de datos de baja fidelidad del firewall, lo que proporciona una capacidad de filtrado limitada.
- Configuración de ACL:La configuración y administración de las ACL en estos dispositivos es propensa a errores a pequeña escala y casi imposible a gran escala.
Permítanme explicar los desafíos de configurar y administrar ACL a pequeña y gran escala. Primero, tomemos el caso de la implementación a pequeña escala.
- Los firewalls sin estado son de naturaleza unidireccional porque toman decisiones de política al inspeccionar el contenido del paquete actual, independientemente del flujo al que puedan pertenecer los paquetes. Para escribir con precisión una política, ambos lados de la conexión deben estar en la lista blanca para un protocolo de comunicación bidireccional como TCP. Escribir dos reglas para el control de una conexión se vuelve problemático.
- Ahora, piense en un protocolo como FTP donde hay dos conjuntos de conexiones para cada transacción y la conexión de datos puede tener un puerto desconocido aunque el tiempo de conexión negociado, no hay manera de que un firewall sin estado pueda poner eso en la lista blanca. Esta incapacidad para escribir políticas para todas las aplicaciones crea un gran agujero en la seguridad.
- Otro caso de uso puede ser que un host interno origina la conexión a Internet externa. ¿Cómo se crea una política usando ACL para permitir todo el tráfico de respuesta? Esta herramienta no se creó para controles de políticas más finos y no es de mucha utilidad para un microsegmentación marco en el que la política es muy fina y de naturaleza direccional.
Pasemos ahora al problema a gran escala.
- Por un momento, imaginemos que tienes una varita mágica para superar todos los problemas descritos en el párrafo anterior. Incluso en ese caso, los recursos como TCAM (memoria direccionable de contenido ternario) en el switch o el hardware del router son tan limitados que a una escala no puede escribir una política para toda su aplicación debido al agotamiento del espacio TCAM.
- Incluso para una implementación no basada en hardware, la cantidad de ACL crea muchos problemas. Por ejemplo, un producto que solía trabajar en el pasado tomaría treinta o más minutos para analizar y construir una tabla de búsqueda eficiente (Tabla de políticas en la Fig 1 anterior) en un sistema ACL ampliamente configurado. Y este proceso se activaría cada vez que se agregaba o eliminaba una sola regla. Considere tener tanto downtime e impacto en su negocio crítico para tareas cotidianas tan mundanas.
Cortafuegos reflexivos, también conocido como ACL reflexivos
Una ACL reflexiva, también conocida como ACL de filtrado de sesiones IP, es un mecanismo para agregar dinámicamente el tráfico de retorno a la lista blanca. La mayor parte del flujo de trabajo en la decisión de políticas es similar al firewall sin estado, excepto el mecanismo para identificar un nuevo flujo de trabajo y agregar una entrada ACL dinámica automatizada sin estado. Veamos la vida útil de un paquete usando el diagrama de flujo de trabajo a continuación.

Figura 2: Diagrama de flujo que muestra las decisiones de políticas para una ACL reflexiva
Cuando una ACL reflexiva detecta una nueva conexión IP saliente (6 en la Fig. 2), agrega una entrada ACL dinámica (7) invirtiendo la dirección IP de origen y destino y el puerto. La nueva ACL dinámica permite que el tráfico de retorno sea validado contra él. De manera similar, el firewall reflexivo elimina la ACL dinámica cuando detecta paquetes FIN de ambos lados, un paquete RST o un tiempo de espera eventual. De esta manera, a medida que la sesión termina o termina, cualquier paquete espurio futuro se descartará.
¿Cuáles son los beneficios de un firewall reflexivo?
El único beneficio de un firewall reflexivo sobre un firewall sin estado es su capacidad de agregar automáticamente el tráfico de retorno a la lista blanca. Esto ayuda a evitar escribir manualmente la regla de ACL inversa.
¿Cuáles son las contras de un firewall reflexivo?
Las ACL reflexivas siguen actuando completamente sobre la información estática dentro del paquete. La razón para traer esto es que aunque proporcionan un paso adelante con respecto a las ACL estándar en términos de escribir las reglas para el tráfico inverso, es sencillo eludir la ACL reflexiva. El firewall reflexivo sufre las mismas deficiencias que el firewall sin estado. Una forma de probarlo sería fragmentar el paquete para que la información sobre la que actuaría la ACL reflexiva se divida en varios paquetes. De esta manera, la ACL reflexiva no puede decidir permitir o eliminar el paquete individual. Un firewall con estado, por otro lado, es capaz de volver a ensamblar los fragmentos completos divididos en múltiples paquetes y luego basar su decisión en los datos de paquetes STATE + CONTEXT + para toda la sesión.
El otro inconveniente de las ACL reflexivas es su capacidad para trabajar solo con cierto tipo de aplicaciones. Por ejemplo: una aplicación FTP muy común que se utiliza para transferir archivos a través de la red funciona negociando dinámicamente los puertos de datos que se utilizarán para la transferencia a través de una conexión de plano de control separada. Dado que las ACL reflexivas son estáticas, solo pueden poner en la lista blanca conexiones bidireccionales entre dos hosts usando la misma cinco tuplas. Por lo tanto, no pueden soportar aplicaciones como FTP.
Firewalls con estado
Un firewall con estado actúa sobre el ESTADO y el CONTEXTO de una conexión para aplicar la política de firewall. Para comprender el funcionamiento interno de un firewall con estado, consultemos el diagrama de flujo a continuación.

Figura 3: Diagrama de flujo que muestra las decisiones de políticas para un firewall con estado
¿Cómo funciona un firewall con estado?
- Búsqueda de 5 tuplas: Cuando un paquete llega al firewall (1 en la Fig. 3), intenta realizar una búsqueda de flujo usando cinco tuplas (IP de origen, puerto de origen, IP de destino, puerto de destino, protocolo) en una tabla llamada flujo o tabla de conexión para encontrar una coincidencia (2). Esto es diferente del firewall sin estado, donde la búsqueda de 5 tuplas se realiza en la tabla de políticas en lugar de en la tabla de flujo. La tabla de flujo y las tablas asociadas que no se muestran en la figura contiene el ESTADO+CONTEXTO de todos los flujos vistos anteriormente.
- Procesamiento rápido de ruta y plano de datos: Si se encuentra una entrada, entonces el paquete pasa por una ruta rápida, también conocida como procesamiento de plano de datos. El procesamiento rápido simple implicará verificaciones de tarifas, verificación de saneamiento IP de capa 3 para evitar ataques basados en fragmentación y reensamblaje, verificación de saneamiento de capa 4 para evitar ataques como suplantación de datos, DOS, etc. Si el firewall puede realizar pruebas de capa 7, entonces pasará por filtros adicionales llamados Pasarelas de capa de aplicación (ALGs). Si todas las comprobaciones se realizan sin problemas, entonces el paquete se reenvía a su siguiente salto (3.b).
- Trayectoria lenta/procesamiento del panel de control: Si la búsqueda de flujo da como resultado una falla (3.a), entonces se supone que el paquete es para una nueva conexión y luego necesita pasar por comprobaciones de políticas adicionales, y esta ruta se denomina ruta lenta, también conocida como procesamiento del plano de control. En la ruta de procesamiento de control, el firewall no solo verificará todo lo que hace en una ruta rápida, sino que también decide si esta nueva conexión está permitida por la política de firewall.
- Búsqueda de políticas: A continuación, el firewall realizará una búsqueda de políticas utilizando el CONTEXTO ESTADO + de la conexión (5).
- Si hay una coincidencia de políticas y se especifica una acción para esa política como PERMITIR, DENEGAR o REINICIAR, entonces se toma la acción apropiada (8.a u 8.b). También se puede indicar a los firewalls con estado avanzado qué tipo de inspección de contenido realizar. Esto se toma en consideración y el firewall crea una entrada en la tabla de flujo (9), de modo que los paquetes subsiguientes para esa conexión se puedan procesar más rápido evitando el procesamiento del plano de control.
¿Cuáles son las ventajas de un firewall con estado?
- Mayor protección: Un firewall con estado proporciona una inspección completa del protocolo teniendo en cuenta el CONTEXTO STATE+ del flujo, lo que elimina la superficie de ataques adicionales y mejora administración de vulnerabilidades en un sistema.
- Más avanzado:Un firewall con estado actúa como un bloque de construcción para firewalls o gateways de capa de aplicaciones más avanzados.
- Configuración de la capacidad: Un firewall con estado entiende el flujo de la red y puede identificar paquetes de datos de un flujo, lo que permite la escritura de reglas simple para conexiones bidireccionales o protocolos de redes pseudoestatales.
- Protocolos complejos: Dado que un firewall con estado puede profundizar en las cargas útiles de paquetes, puede comprender protocolos complejos que negocian el puerto y el protocolo de comunicación en tiempo de ejecución y aplicar las políticas de firewall en consecuencia. Piense en protocolos como FTP, protocolos P2P, etc.
¿Cuáles son las contras de un firewall con estado?
- Potencia de procesamiento: Los firewalls con estado realizan comprobaciones adicionales para proporcionar más seguridad, y esas otras verificaciones necesitan más potencia de procesamiento en términos de ciclos de CPU y memoria. Los arquitectos y desarrolladores de firewall con estado han pensado en este problema, y la mayoría de los firewalls más recientes superan o reducen este problema con un diseño algorítmico de última generación para separar el control y el procesamiento del plano de datos, logrando así un rendimiento de firewall sin estado casi similar. Pero voy a dar a los apátridas cortafuegos una victoria aquí en comparación con el firewall con estado.
- Superficie de ataque más grande: Un firewall con estado puede tener un mayor superficie de ataque en comparación con un firewall sin estado debido a una mayor huella de código base. Una simple búsqueda en Google proporciona numerosos ejemplos. Aunque con el tiempo. ciertos tipos de firewalls como los integrados en sistemas operativos como Linux y Windows han sido probados en batalla y hoy sirven como firewalls estatales de nivel empresarial.
Conclusión
No existe un firewall perfecto. Cada tipo de firewall tiene un lugar en una estrategia de defensa en profundidad. Un firewall sin estado podría ayudar en lugares donde la policía de grano grueso es adecuada, y un firewall con estado es útil donde controles de políticas más finos y profundos y segmentación de red o microsegmentación son necesarios.
Hoy en día existen incluso varios tipos de firewalls de inspección de tráfico de datos entre la inspección de protocolos sin estado y con estado. Es importante tener en cuenta estos datos al seleccionar un firewall para su entorno.
Ahora que está equipado con la comprensión técnica de la estadidad, mi próxima publicación de blog discutirá por qué el firewall con estado es importante para la microsegmentación y por qué debería asegurarse de que su proveedor de segmentación lo haga.
Más información
Para obtener más información sobre firewalls y otras decisiones críticas del negocio con respecto a la estrategia de seguridad de su empresa, contacta con nosotros.