Saltar al contenido

El cortafuegos

El elemento que separa dos redes y decide qué tráfico las cruza: qué es y con qué política trabaja, las cuatro familias clásicas según la capa en la que inspeccionan, qué añaden los de nueva generación y dónde está el cortafuegos que ya trae el propio sistema operativo.

Qué es un cortafuegos y qué decide

Un cortafuegos es el elemento que se coloca en la frontera entre dos redes de distinta confianza y decide, paquete a paquete o conexión a conexión, cuál pasa y cuál no. No es necesariamente una máquina dedicada: puede ser un aparato específico, un programa dentro de un router, una función del propio sistema operativo de un servidor o un servicio contratado a un proveedor. Lo que lo define no es la caja, es la función: aplicar una política de acceso en un punto por el que el tráfico está obligado a pasar.

De esa definición sale su primera condición de uso. Un cortafuegos solo controla el tráfico que lo atraviesa, así que si existe un camino alternativo entre las dos redes (un módem olvidado, un punto de acceso inalámbrico conectado por debajo, un portátil que va y viene) la política no se aplica a ese camino y el perímetro está roto. Por eso la seguridad perimetral empieza por garantizar que hay un único punto de paso.

La política se escribe como una lista ordenada de reglas, y lo importante no son las reglas sino qué se hace con lo que no encaja en ninguna. Hay dos posturas posibles y solo una es aceptable: permitir por defecto y prohibir lo peligroso deja fuera todo lo que aún no se conoce, mientras que denegar por defecto y abrir solo lo expresamente necesario obliga a justificar cada apertura. La segunda es la que se aplica siempre. (Ampliación de esta plataforma: el documento de partida no la trata.)

Y conviene saber qué NO hace, porque es materia de pregunta. Un cortafuegos no detiene lo que viaja por un canal que él permite: si se deja abierto el tráfico web, el código malicioso descargado por web entra igual. No protege del atacante que ya está dentro de la red que él considera de confianza. No sustituye al antivirus del puesto ni a la actualización de los servidores. Y no puede inspeccionar lo que va cifrado si no se le da la clave para descifrarlo.

Los cortafuegos se clasifican por la capa en la que inspeccionan el tráfico, que es lo que determina cuánto entienden de lo que dejan pasar. De menos a más profundidad son cuatro familias: el filtrado de paquetes, la inspección con estado, la pasarela de circuito y la pasarela de aplicación o proxy. Se desarrollan en el punto siguiente.

Regla de oro de la política: lo que no está expresamente permitido, está prohibido. Cualquier enunciado que proponga lo contrario es la opción incorrecta.

Para el examen

  • Cómo decide: por regla

  • Política implícita correcta: cerrar por defecto: se permite lo declarado y se deniega el resto

Las cuatro familias clásicas

Cada familia mira una parte distinta del paquete, y esa es toda la clasificación. Cuanto más arriba inspecciona, más sabe de lo que está dejando pasar y más caro le sale en rendimiento.

FamiliaDónde inspeccionaQué decide con ello
Filtrado de paquetesCapa de red y algo de transporte: direcciones IP de origen y destino, protocolo y números de puertoTrata cada paquete por separado, sin recordar nada de los anteriores. Es rapidísimo y muy limitado: no distingue una respuesta legítima de un paquete fabricado que finge serlo
Inspección con estadoLo mismo, pero manteniendo una tabla con las conexiones en cursoSabe si un paquete pertenece a una conexión que él mismo autorizó a salir. Permite el tráfico de vuelta sin abrir el puerto de entrada, que es lo que hace posible una política de denegación por defecto realista
Pasarela de circuitoCapa de sesión: la apertura y el cierre de la conexión, no lo que se transporta dentroComprueba que el establecimiento de la conexión sea correcto y, una vez validado, deja circular los datos sin mirarlos. El ejemplo típico es SOCKS
Pasarela de aplicación o proxyCapa de aplicación: entiende el protocolo concreto, sea HTTP, FTP o correoEs el único que puede decidir por el contenido: qué URL, qué método, qué tipo de fichero. Termina la conexión del cliente y abre otra por su cuenta hacia el destino, así que los dos extremos nunca se hablan directamente

La diferencia entre las dos primeras es la que más se pregunta, y se resuelve con una palabra: memoria. El filtrado sin estado juzga el paquete que tiene delante y lo olvida; la inspección con estado recuerda la conversación. De ahí que a la segunda se la llame también inspección dinámica.

La pasarela de aplicación tiene una consecuencia que conviene retener: como rompe la conexión en dos, oculta la topología interna y puede registrar y filtrar con todo detalle, pero necesita un módulo distinto para cada protocolo que quiera entender y es, con diferencia, la familia más lenta.

Sin estado mira el paquete; con estado mira la conexión; la pasarela de circuito mira el establecimiento; el proxy mira el contenido.

Para el examen

  • De filtrado de paquetes: mira cabeceras, sin memoria

  • De estado: sigue la conexión

  • De circuito: trabaja en la capa de sesión

  • De aplicación: entiende el contenido

Proxy directo y proxy inverso

Un proxy es un intermediario de nivel de aplicación: recibe la petición de un extremo, la examina y la vuelve a emitir él mismo hacia el otro. Según a cuál de los dos extremos represente recibe un nombre distinto, y esa es la pregunta segura del punto.

Proxy directoProxy inverso
A quién sirveA los clientes de la red interna que salen a internetA los servidores publicados, ante clientes que vienen de internet
Dónde se colocaDelante de los usuariosDelante de los servidores
Quién sabe que existeEl cliente, que está configurado para usarloNadie: el cliente cree estar hablando con el servidor final
Para qué se usaFiltrar navegación, aplicar control de contenido, cachear páginas y ocultar las direcciones internasPublicar varios servicios tras una sola dirección, repartir carga, cachear y terminar el cifrado

Productos habituales en los dos papeles: Squid, que nació como proxy directo con caché, y Nginx, Varnish o HAProxy, que se usan sobre todo como proxy inverso y balanceador delante de servidores web.

El proxy inverso es además una de las piezas que se colocan en la zona desmilitarizada, porque permite que los servidores de aplicaciones no estén nunca expuestos directamente. Eso se ve en el subtema siguiente.

El directo protege y controla a los clientes; el inverso protege y publica a los servidores. Si la pregunta habla de balanceo o de publicar servicios, es el inverso.

Para el examen

  • Proxy directo: protege y controla a los clientes que salen

  • Proxy inverso: protege los servidores publicados, reparte carga y termina el cifrado

Cortafuegos de nueva generación, WAF y UTM

Las cuatro familias clásicas se quedan cortas cuando casi todo el tráfico viaja por el puerto 443 y por dentro puede ir cualquier cosa. La respuesta del mercado fue meter en el mismo aparato funciones que antes eran productos separados, y de ahí salen tres nombres que caen enfrentados.

NombreQué esQué aporta
NGFW (cortafuegos de nueva generación)Un cortafuegos con estado que además identifica la aplicación y al usuario, y no solo el puertoPuede permitir una aplicación concreta y prohibir otra aunque las dos usen el mismo puerto. Suele incorporar prevención de intrusiones e inspección del tráfico cifrado
IPS integradoUn sistema de prevención de intrusiones metido dentro del propio cortafuegosAdemás de decidir si el paquete pasa por dirección y puerto, examina su contenido buscando patrones de ataque conocidos y lo bloquea
WAF (cortafuegos de aplicaciones web)Un cortafuegos especializado en un solo protocolo, HTTP, colocado delante de una aplicación webFrena los ataques propios de la web (inyección, secuencias de comandos en sitios cruzados y demás) inspeccionando parámetros, cabeceras y cuerpo de la petición
UTM (gestión unificada de amenazas)Un único equipo que reúne cortafuegos, antivirus, antispam, filtrado de contenidos, IPS y a menudo terminación de VPNSimplifica la gestión en organizaciones pequeñas, a costa de concentrar todo en un solo punto de fallo y de un rendimiento menor que el de los productos dedicados

El WAF es el que más se pregunta porque se confunde con el cortafuegos de red, y la diferencia es de ámbito: el de red decide si una conexión puede llegar al servidor web; el WAF decide si la petición que ya ha llegado es aceptable. Los dos son necesarios y no se sustituyen.

Sus reglas se apoyan en catálogos públicos de debilidades web, siendo OWASP la referencia del sector con su lista de los riesgos más frecuentes. La implantación de referencia en software libre es ModSecurity, un módulo que se instala sobre el servidor web (Apache, Nginx o IIS) y aplica un conjunto de reglas. Los catálogos generales de vulnerabilidades, CVE y CWE, se estudian en el tema de seguridad de los sistemas de información de este mismo bloque.

WAF es un cortafuegos de UNA aplicación (la web) y de UN protocolo (HTTP). UTM es lo contrario: muchas funciones distintas en UN solo equipo.

Para el examen

  • De nueva generación: identifica aplicación y usuario, e integra IPS

  • WAF: específico de web: inyección SQL y XSS

  • UTM: lo agrupa todo en un aparato

El cortafuegos que trae el sistema operativo

No todo cortafuegos está en el perímetro. Cada máquina lleva el suyo, que filtra únicamente el tráfico que entra y sale de ella misma, y es la última línea cuando el perímetro falla o cuando el atacante ya está dentro de la red. A ese se le llama cortafuegos de anfitrión, frente al de red que protege a un conjunto de equipos.

En Linux el cortafuegos no es un programa que se instale: es netfilter, un marco de filtrado que forma parte del propio núcleo. Conviene fijarlo bien porque circula mal escrito: netfilter NO es un proxy. Un proxy termina la conexión y abre otra en nombre del cliente, y netfilter no hace nada de eso; se limita a inspeccionar los paquetes que atraviesan el núcleo y a dejarlos pasar, descartarlos o modificarlos.

Lo que sí se instala son las herramientas con las que se le escriben reglas, que son varias y conviven. Se preguntan por su nombre.

HerramientaQué es
iptablesLa herramienta clásica de línea de órdenes, la que aparece en casi todos los manuales
nftablesEl sustituto moderno de iptables, con una sintaxis unificada; su orden es nft
firewalldUn servicio de gestión por zonas que se maneja con la orden firewall-cmd y que se apoya en lo anterior
ufwUna capa sencilla pensada para escribir reglas rápidas sin conocer la estructura interna

El detalle de cómo se escriben esas reglas (las cinco cadenas, las cinco tablas, el recorrido del paquete, los objetivos, la traducción de direcciones y cómo se hace que sobrevivan a un reinicio), junto con el cortafuegos de Windows y la orden netsh, es materia del tema de administración del sistema operativo de este mismo bloque. Aquí lo que hace falta saber es qué pieza es cada cosa y dónde encaja.

netfilter es el cortafuegos, dentro del núcleo. iptables, nftables, firewalld y ufw son solo formas de hablar con él.

Para el examen

  • Qué protege: ese equipo, no la red: es de host

  • En Linux: iptables, nftables, ufw o firewalld

  • En Windows: netsh advfirewall