Filtrado de paquetes en cortafuegos
El filtrado de paquetes es la técnica con la que un cortafuegos examina cada paquete que cruza una frontera y lo deja pasar o lo descarta según un conjunto de reglas, usando las direcciones, los puertos y el protocolo que lleva.
El filtrado de paquetes es una de las técnicas básicas que un cortafuegos usa para controlar el tráfico de red y mantener los sistemas apartados de aquello que no debería llegarles.
El cortafuegos se coloca como una barrera, evalúa cada paquete de datos que entra o sale de la red y lo deja pasar o lo descarta según unas reglas definidas de antemano.
El resultado es control sobre qué circula y hacia dónde, que es lo primero que quieres tener antes de preocuparte por nada más sofisticado.
Cómo funciona
Inspección de paquetes. Cada paquete que atraviesa el cortafuegos se coteja con criterios como la dirección IP de origen y de destino, el número de puerto y el protocolo, para decidir si encaja en un patrón permitido.
Reglas de filtrado. Las reglas son las instrucciones que le dicen al cortafuegos cómo tratar cada tipo de tráfico. Permite el tráfico de estas direcciones, bloquea estos protocolos, deja pasar este puerto y ningún otro.
Con estado y sin estado. Hay dos clases. El filtrado con estado (stateful) sigue el estado de cada conexión y decide en el contexto de esa conversación, de modo que la respuesta a una petición que el cortafuegos ya vio se trata de forma distinta a un paquete no solicitado. El filtrado sin estado (stateless) evalúa cada paquete por separado, sin memoria de lo que vino antes. Hoy casi todo usa filtrado con estado, y la distinción sigue importando porque cambia lo que un atacante puede hacer con un paquete fabricado a medida.
Un ejemplo
Una organización tiene un cortafuegos delante de su red interna.
Las reglas están puestas para permitir la navegación web por el puerto 80 y el correo por el puerto 25.
Los intentos de conexión desde direcciones desconocidas o hacia destinos desconocidos se bloquean.
Un empleado intenta llegar a un sitio malicioso desde un ordenador de la red interna.
Cuando el paquete que lleva esa petición de conexión llega al cortafuegos, se aplican las reglas: el destino es desconocido, así que el paquete se descarta y la conexión no llega a ocurrir.
El filtrado de paquetes y el cortafuegos
El filtrado de paquetes es una técnica, y el cortafuegos es lo que la implementa, normalmente junto a varias más.
Un cortafuegos moderno hace algo más que mirar cabeceras: identifica aplicaciones, inspecciona TLS, comprueba reputación y aplica política por usuario. El filtrado de paquetes es la capa que hay debajo de todo eso, y sigue siendo la capa que decide si un paquete llega siquiera a ser mirado.
Por qué merece la pena mantener la distinción: un conjunto de reglas escrito solo en términos de direcciones y puertos es ciego ante cualquier cosa que llegue por un puerto permitido, que hoy es casi todo. El puerto 443 está abierto en todas partes, y el tráfico que habla HTTPS con un host que resuelve bien pasa todos los filtros de paquetes jamás escritos. Eso no es una crítica a la técnica, es la razón de que el egress filtering y los controles de capa de aplicación existan por encima de ella.