0

Configuración Firewall con nftables

Hola a tod@s, en este post vamos a ver ejemplos de como configurar un firewall con nftables, el esquema de la infraestructura montada sería el siguiente:

Antes de empezar debemos de ejecutar sobre la máquina cortafuegos los siguientes comandos:

apt-get update para actualizar

apt-get install nftables para instalar

systemctl start nftables.service para iniciar el servicio

systemctl status nftables.service para ver el estado del servicio

  • Vamos a crear una tabla llamada accesojramos, en la máquina cortafuegos vamos a añadir la tabla indicando, nft add table inet accesojramos con nft list tables podemos ver el listado de tablas:

  • Vamos a crear dos cadenas en los hook input y output con política accept por defecto
  • En la máquina cortafuegos vamos a añadir las dos cadenas en los hook input y output con política accept por defecto, para ello, introducimos para la entrada nft add chain inet accesojramos entrada { type filter hook input priority 0 \; policy accept \;} y para la salida nft add chain inet accesojramos salida { type filter hook output priority 0 \; policy accept \;}

  • Con nft list table inet accesojramos podemos ver la tabla con su contenido:

  • Para finalizar, guardamos la configuración y reiniciamos el servicio, nft list ruleset > /etc/nftables.conf y systemctl restart nftables.service

  • Bloquear en la entrada el acceso al servidor FTP desde el Cortafuegos
  • En la máquina cortafuegos introducimos, nft add rule inet accesojramos entrada ip daddr 10.0.0.10 tcp dport 21 counter reject y con nft list table inet accesojramos podemos ver la tabla con su contenido:

  • Para finalizar, guardamos la configuración y reiniciamos el servicio, nft list ruleset > /etc/nftables.conf y systemctl restart nftables.service

  • Bloquear en la salida el ping con cualquier IP destino u origen
  • En la máquina cortafuegos introducimos, nft add rule inet accesojramos salida ip protocol icmp drop y con nft list table inet accesojramos podemos ver la tabla con su contenido:

  • Para finalizar, guardamos la configuración y reiniciamos el servicio, nft list ruleset > /etc/nftables.conf y systemctl restart nftables.service

  • Ahora si desde la máquina servidor intentamos hacer un ping a la máquina cortafuegos, podemos ver que no funciona:

  • Mostramos toda la configuración indicando el código de cada línea
  • Con nft list table inet accesojramos podemos ver toda la configuración realizada y el código de cada línea:

Saludos y espero que os sea de ayuda 😉

 

Jose Ramon Ramos Gata

Técnico Superior STI

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.