Este documento describe los diferentes gestores de firewall disponibles en Linux, incluyendo el firewall integrado en el kernel (Netfilter), Iptables, Firewalld y Nftables. Explica que Netfilter proporciona la funcionalidad básica de filtrado de paquetes en el kernel, mientras que herramientas como Iptables, Firewalld y Nftables ofrecen interfaces para configurar y administrar las reglas de firewall de una manera más sencilla. Recomienda usar Firewalld para configuraciones de firewall simples y Nftables para configuraciones más complejas o crí
2. 2022 - Contenido desarrollado por @redesiptec
Temario
Firewalls en Linux, mejores prácticas
• Firewall desde el Kernel de Linux.
• Descripción de los Gestores de Firewall.
• Uso de los Gestores de Firewall.
• Mejores Practicas.
3. 2022 - Contenido desarrollado por @redesiptec 1
¿ Que es un Firewall ?
Firewall desde el Kernel de Linux
Un firewall es un recurso disponible para proteger un host, una red o un conjunto de redes
de cualquier tráfico no deseado procedente de su exterior.
Un firewall permite a los administradores de sistemas controlar el tráfico de red mediante la
definición de un conjunto de reglas de contrafuego.
Las reglas se utilizan para clasificar el tráfico, lo que significa que cualquier paquete de red
entrante, saliente o reenviado puede inspeccionarse, modificarse, eliminarse o rechazarse
mediante programación, antes de llegar a los componentes en el espacio de usuario.
4. 2022 - Contenido desarrollado por @redesiptec 2
Introducción a Netfilter
Firewall desde el Kernel de Linux
Desde Linux 2.4.x se ha incluso en su kernel un poderoso subsistema y/o framework de
filtrado de red denominado Netfilter, el cual permite que los módulos de su kernel
inspeccionen cada paquete que atraviesa el sistema.
Netfilter comprende un conjunto de ”hooks” dentro del kernel de Linux, que permite a los
módulos específicos del kernel realizar llamadas al sistema con la pila de red del kernel.
Entonces, se puede aseverar que Netfilter proporciona al sistema operativo la funcionalidad
necesaria para encaminar paquetes entre redes y para bloquear flujos de paquetes
destinados a segmentos de la red.
5. 2022 - Contenido desarrollado por @redesiptec 3
Flujos de paquetes a través de redes Linux
Firewall desde el Kernel de Linux
El procesado de paquetes se realiza en
función de lo que se denominan “chains”
El Origen y el Destino de los paquetes
determinan la cadena (3) en la que son
procesados mediante política por defecto.
Existen cinco tablas básicas predefinidas:
• NF_IP_ PRE_ROUTING
• NF_IP_LOCAL_IN
• NF_IP_FORWARD
• NF_IP_LOCAL_OUT
• NF_IP_POST_ROUTING
6. 2022 - Contenido desarrollado por @redesiptec 4
Políticas con acciones en Netfilter
Firewall desde el Kernel de Linux
En Netfilter existen diversos ”targets” entre los cuales se encuentran:
NF_ACCEPT NF_REJECT
NF_DROP NF_REPEAT
NF_STOLEN DNAT
NF_QUEUE MASQUERADE
En caso de no cumplirse ninguna regla (no matches) entonces la política por defecto es
restrictiva (DROP) y descarta el paquete, o permisiva (ACCEPT).
7. 2022 - Contenido desarrollado por @redesiptec 5
Tupla de Valores en Netfilter
Firewall desde el Kernel de Linux
En cada una de las conexiones a la red Netfilter identifica las siguientes secuencias de
valores o tupla:
• Protocolo a nivel de red ---> Permite filtro basado en interfaz
• Dirección de origen ---> Permite filtro basado en dirección IP Origen
• Dirección de destino ---> Permite filtro basado en dirección IP Destino
• Protocolo de nivel de Transporte ---> Permite filtro basado en puerto
• Llave del nivel de transporte ---> Permite filtro basado en el contenido del paquete
8. 2022 - Contenido desarrollado por @redesiptec 6
Enumeración de los Firewall de Linux
Descripción de los Gestores de Firewall.
Generalmente los administradores de sistemas tienen la tendencia de confundir los
conceptos de Netfilter y los Gestores de Firewall en Linux.
En resumen, Netfilter es una infraestructura completa que cuenta con una API muy sencilla
que se ofrece desde el kernel de Linux para aplicaciones que desean ver y manipular
paquetes de red.
Por ejemplo, Iptables es una es una interfaz que usa Netfilter para clasificar y actuar sobre
los paquetes de red.
9. 2022 - Contenido desarrollado por @redesiptec 7
Arquitectura de Netfilter
Descripción de los Gestores de Firewall.
Es posible que los administradores del
sistema desarrollen sus propios módulos de
kernel para interactuar con Netfilter, pero
esto normalmente es complicado y en su
lugar, se valen de herramientas disponibles en
los repositorios del O.S.
Uno de los más comunes y conocidos de
estos programas es Iptables.
El comando Iptables es una herramienta de
bajo nivel para administrar firewall desde
Netfilter.
10. 2022 - Contenido desarrollado por @redesiptec 8
Gestores de Firewall - Firewalld
Descripción de los Gestores de Firewall.
A partir de CentOS 7 se ha introducido un nuevo método predefinido de interacción con
Netfilter denominado Firewalld, destinado a la administración de firewall a nivel de host.
Firewalld administra el subsistema Netfilter del Kernel de Linux utilizando los comandos de
bajo nivel Nftables.
Firewalld es un demonio del sistema que puede configurar y monitorear las reglas del
firewall del sistema, cubren IPv4, IPv6 y simplifica la administración del firewall al clasificar
todo el tráfico de red en Zonas.
11. 2022 - Contenido desarrollado por @redesiptec 9
Gestores de Firewall - Nftables
Descripción de los Gestores de Firewall.
Nftables es el sucesor de las herramientas Iptables, Ip6tables, Arptables, y Ebtables, el cual
proporciona facilidades de clasificación de paquetes y ofrece numerosas mejoras en cuanto
a comodidad, características y rendimiento con respecto a las anteriores herramientas de
filtrado de paquetes.
Al igual que Iptables, Nftables utiliza tablas para almacenar cadenas que contienen reglas
individuales para realizar acciones.
Cuenta con una herramienta llamada nft que sustituye a todas las anteriores en el marco de
filtrado de paquetes. Cuenta con la biblioteca libnftnl, la cual puede utilizarse para la
interacción de bajo nivel con Nftables.
12. 2022 - Contenido desarrollado por @redesiptec 10
Recomendaciones de Uso para Gestores de Firewall
Uso de Gestores de Firewall.
firewalld: se utiliza para casos de uso de cortafuegos sencillos. La utilidad es fácil de usar y
cubre los casos de uso típicos para estos escenarios.
nftables: se utiliza para configurar cortafuegos complejos y de rendimiento crítico, como
por ejemplo para toda una red.
iptables: en el caso RedHat iptables utiliza la API del kernel nf_tables en lugar del back
end legacy, donde la API nf_tables proporciona compatibilidad con versiones anteriores
para que los scripts que utilizan comandos Iptables sigan funcionando.