Tutorial de Nftables

Tutorial de Nftables

Nftables es un firewall de red de espacio de usuario y sistema de filtrado de paquetes para Linux. Es el sucesor del anterior sistema de filtrado de paquetes iptables.

En este tutorial, aprenderás cómo utilizar Nftables para filtrar paquetes en Linux. Comenzaremos explicando las diferencias entre Nftables e iptables, y luego pasaremos a la instalación y configuración básica de Nftables. También cubriremos conceptos avanzados como el emparejamiento (matching), el seguimiento de conexiones y cómo escribir reglas personalizadas para Nftables.

Al final de este tutorial, podrá configurar su propio firewall personalizado utilizando Nftables.

📋 Aquí podrás encontrar✍
  1. ¿Qué es Nftables?
  2. Instalación y configuración básica
  3. Emparejamiento y seguimiento de conexiones
  4. Reglas personalizadas
  5. Conclusión
  6. Preguntas frecuentes
    1. ¿Qué es Nftables?
    2. ¿Cómo instalo Nftables?
    3. ¿Cómo puedo ver las reglas de Nftables?
    4. ¿Cómo puedo cargar reglas personalizadas en Nftables?

¿Qué es Nftables?

Nftables es un conjunto de herramientas para filtrar paquetes en Linux. Se utiliza en el kernel de Linux para inspeccionar y bloquear el tráfico de red no deseado antes de que llegue a un servidor o dispositivo.

Hay varios programas que se incluyen en Nftables, incluyendo:

  • nft: Una herramienta de línea de comandos utilizada para configurar y administrar la tabla de reglas de Nftables.
  • nftables: El módulo del kernel de Nftables que analiza y filtra los paquetes. También se encarga de mantener una lista de conexiones establecidas para realizar un seguimiento del tráfico de red.
  • libnftnl: Una biblioteca de usuarios que permite la interacción con el modulo del kernel desde aplicaciones de terceros.

Instalación y configuración básica

Para utilizar Nftables, necesitará una distribución de Linux que admita el módulo del kernel de Nftables. Muchas distribuciones modernas, como Ubuntu y Red Hat Enterprise Linux, admiten Nftables de forma nativa.

Para instalar Nftables en Ubuntu o Debian, use el siguiente comando en la terminal:

sudo apt-get install nftables

Una vez instalado Nftables, puede ejecutar el siguiente comando para ver las reglas predeterminadas:

sudo nft list ruleset

Esto mostrará una lista de reglas vacías, ya que aún no hemos definido ninguna.

A continuación, crearemos una regla básica de Nftables para filtrar todo el tráfico entrante excepto el tráfico SSH. Para hacer esto, crearemos un archivo de reglas en el directorio /etc/nftables llamado "default.nft" y agregaremos las siguientes reglas a ese archivo:

table inet filter {
chain input {
type filter hook input priority 0;
ct state established,related accept;
iifname lo accept;
tcp dport ssh accept;
drop
}
}

Esta regla permite el tráfico entrante para conexiones SSH y el tráfico para la red loopback. Todo lo demás será rechazado.

Una vez que haya escrito el archivo "default.nft", puede cargar las reglas utilizando el siguiente comando:

sudo nft -f /etc/nftables/default.nft

Las reglas serán cargadas y ahora Nftables filtrará automáticamente el tráfico según las reglas que hemos definido.

Emparejamiento y seguimiento de conexiones

Emparejamiento es el proceso de buscar paquetes que coincidan con determinadas condiciones. En Nftables, el emparejamiento se realiza utilizando expresiones regulares y estructuras de árbol de decisión.

El seguimiento de conexiones le permite realizar un seguimiento del estado de las conexiones y especificar diferentes reglas para paquetes de inicio de conexión y paquetes de datos de la misma conexión. También puede realizar un seguimiento de los servicios y puertos utilizados en las conexiones.

Para realizar un seguimiento de una conexión, use la expresión "ct" junto con una opción para especificar qué elementos de la conexión se deben realizar un seguimiento. Por ejemplo, para realizar un seguimiento de las conexiones SSH, utilize el siguiente comando:

sudo nft add rule filter input tcp dport ssh ct state new,established accept

Esta regla seguirá todas las conexiones entrantes SSH nuevas y establecidas permitiendo el tráfico.

Reglas personalizadas

Una de las características más poderosas de Nftables es la capacidad de escribir reglas personalizadas para controlar el tráfico de redes específico. Las reglas personalizadas se escriben en el lenguaje de nftables y se agregan a la tabla de filtrado utilizando la herramienta nft.

Para escribir una regla personalizada, primero debe definir la tabla de filtrado utilizando el comando "table" y luego agregar una cadena utilizando el comando "chain". Finalmente, agregue la regla utilizando la sintaxis específica del protocolo, como tcp o udp.

Conclusión

Nftables es una herramienta avanzada y muy potente para filtrar y controlar el tráfico de red en servidores Linux. Este tutorial ha cubierto los conceptos básicos de instalación y configuración de Nftables, pero hay mucho más que se puede hacer con esta herramienta.

Experimente con diferentes reglas y emparejamientos para bloquear el tráfico no deseado en su red y proteja su servidor contra ataques malintencionados.

Esperamos que este tutorial te haya resultado útil y encuentres Nftables una herramienta valiosa en tu arsenal de seguridad.

Preguntas frecuentes

¿Qué es Nftables?

Nftables es un conjunto de herramientas para filtrar paquetes en Linux. Se utiliza en el kernel de Linux para inspeccionar y bloquear el tráfico de red no deseado antes de que llegue a un servidor o dispositivo.

¿Cómo instalo Nftables?

Para instalar Nftables en Ubuntu o Debian, use el siguiente comando en la terminal:

sudo apt-get install nftables

¿Cómo puedo ver las reglas de Nftables?

Para ver las reglas definidas en Nftables, use el siguiente comando:

sudo nft list ruleset

¿Cómo puedo cargar reglas personalizadas en Nftables?

Para cargar reglas personalizadas en Nftables, cree un archivo de reglas en el directorio /etc/nftables y luego use el siguiente comando:

sudo nft -f /etc/nftables/default.nft
[nekopost slugs="pci-linux,actualizar-el-nucleo-centos-7,linux-kernel-watchdog-explico,tutorial-de-kernel-de-linux-principiantes,comprension-de-la-vm-swappiness,api-del-nucleo-de-linux,personalizar-el-intercambio-de-linux,utilidades-pci-en-linux,navegar-por-la-fuente-del-nucleo-de-linux"]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir