Un aspecto fundamental de la seguridad de todo equipo informático conectado a una red radica en su cortafuegos, la aplicación (aunque en algunos casos puede ser un dispositivo completo) encargada de regular las conexiones entrantes y salientes, en base a unas reglas predefinidas.
En Linux, no existe un cortafuegos como acostumbramos a entenderlo en entornos Windows, sino que técnicamente sus funciones se dividen entre varios programas que trabajan en sucesivas capas.
Nivel 1: NetfilterNetfilter es un framework integrado en el mismo kernel de Linux, que permite al sistema operativo llevar a cabo diversas operaciones relacionadas con las redes (traducción de direcciones y puertos, filtrado de paquetes, rastreo de conexiones, etc).
Pero el usuario no interactúa directamente con Netfilter, sino que éste se limita a proporcionar una API que permite a otro software actuar como intermediario.
En Genbeta
Qué es un cortafuegos y cómo funciona
Nivel 2: Iptables / Nftables
Iptables es una herramienta que podemos invocar desde la línea de comandos, y que desembarcó en Linux a partir del lanzamiento de la versión 2.4 del kernel como sustituto del ya obsoleto ipchains.
Este software es el que nos permite modificar los parámetros de trabajo de Netfilters, estableciendo para ello conjuntos de reglas de filtrado. Veamos un ejemplo de un comando que permite establecer dichas reglas:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.167.1.1:80
Pero también Iptables está empezando a ser …