0

Configuración Firewall con iptables

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

  • En nuestra infraestructura de virtualización VMware, hemos desplegado estas dos máquinas, una llamada cortafuegos y otra servidor con las configuraciones de red indicadas en la actividad, la máquina cortafuegos es un Ubuntu Server 20.04 sin interfaz gráfica y la máquina servidor es un Ubuntu Server 20.04 con interfaz gráfica:

  • La configuración de red para la máquina cortafuegos es la siguiente, hemos renombrado las interfaces de red para tenerlo todo más claro (WAN y LAN):

  • La configuración de red para la máquina servidor es:

  • En la máquina servidor podemos ver, que la ruta por defecto, sale a través de la máquina cortafuegos (10.0.0.1):

  • Ahora vamos a realizar las siguientes tareas con el cortafuegos configurando iptables.
  • Preparar el Cortafuegos para que haga NAT compartiendo la IP de la interface WAN:
  • Lo primero que vamos a realizar es que la máquina cortafuegos deje pasar el tráfico entre la red externa (WAN) y la red interna (LAN), para ello, editamos el fichero /etc/sysctl.conf y descomentamos la línea net.ipv4.ip_forward=1:

  • Ejecutamos sysctl -p /etc/sysctl.conf para que los cambios tengan efecto:

  • En la máquina cortafuegos configuramos la siguiente regla, para que haga NAT compartiendo la IP dinámica de la interface WAN iptables -t nat -A POSTROUTING -o WAN -j MASQUERADE:

  • Una vez configurada la máquina cortafuegos, vamos a realizar la prueba desde la máquina servidor, y verificar que podemos navegar hacia suarezdefigueroa.es:

  • Para finalizar, guardamos la configuración, para que al reiniciar el sistema se carguen las iptables que hemos diseñado:

apt-get install iptables-persistent

iptables-save > /etc/iptables/rules.v4

  • Abrir los puertos 80 (instalar apache en Servidor) y 21 (instalar vsftpd en Servidor) hacia el servidor:
  • Sobre la máquina servidor instalamos el servidor web apache:

  • Sobre la máquina servidor instalamos el servidor FTP vsftpd:

  • Ahora en la máquina cortafuegos vamos a configurar la regla con iptables para abrir el puerto 80 hacia el servidor, para ello, introducimos iptables -t nat -A PREROUTING -p tcp –dport 80 -i WAN -j DNAT –to 10.0.0.10:80:

  • En la máquina cortafuegos vamos a configurar la regla con iptables para abrir el puerto 21 hacia el servidor, para ello, introducimos iptables -t nat -A PREROUTING -p tcp –dport 21 -i WAN -j DNAT –to 10.0.0.10:21:

  • Para finalizar, guardamos la configuración, para que al reiniciar el sistema se carguen las iptables que hemos diseñado:

iptables-save > /etc/iptables/rules.v4

  • Ahora que hemos configurado las reglas con iptables, nos vamos a conectar al puerto 80 de la interface WAN de la máquina cortafuegos (192.168.14.101, ip servida por DHCP al cortafuegos) y como podemos ver, nos dirige al apache instalado en la máquina servidor:

  • Nos conectamos ahora al puerto 21 de la interface WAN de la máquina cortafuegos (192.168.14.101, ip servida por DHCP al cortafuegos) y como podemos ver, nos dirige al FTP instalado en la máquina servidor:

  • Permitir el acceso por SSH al cortafuegos cuando NO provenga de la MAC 02:42:02:42:02:42
  • En Ubuntu Server 20.04 LTS que es el sistema operativo de la máquina cortafuegos viene instalado por defecto openssh-server, como podemos ver aquí, accedemos sin problemas por SSH:

  • Ahora en la máquina cortafuegos vamos a configurar la regla con iptables para no permitir el acceso por SSH cuando provenga de la MAC 02:42:02:42:02:42, para ello, introducimos iptables -A FORWARD -m mac –mac-source 02:42:02:42:02:42 -p tcp –dport 22 -j DROP

  • Para finalizar, guardamos la configuración, para que al reiniciar el sistema se carguen las iptables que hemos diseñado:

iptables-save > /etc/iptables/rules.v4

  • Bloquear el acceso desde el Servidor a la web suarezdefigueroa.es
  • En la máquina cortafuegos vamos a configurar la regla con iptables para bloquear el acceso desde el servidor a la web suarezdefigueroa.es, para ello, introducimos iptables -t filter -A FORWARD -s 10.0.0.10 -d www.suarezdefigueroa.es -j DROP

  • Para finalizar, guardamos la configuración, para que al reiniciar el sistema se carguen las iptables que hemos diseñado:

iptables-save > /etc/iptables/rules.v4

  • Desde la máquina servidor, podemos ver, que ya no se puede acceder a la web suarezdefigueroa.es:

  • No permitir el ping con origen externo hacia el Servidor
  • En la máquina cortafuegos vamos a configurar la regla con iptables para no permitir el ping con origen externo hacia el servidor, para ello, introducimos iptables -t filter -A OUTPUT -d 10.0.0.10 -p icmp -j DROP, luego le realizamos un ping desde la propia máquina cortafuegos al servidor y como vemos, la operación no está permitida:

  • Para finalizar, guardamos la configuración, para que al reiniciar el sistema se carguen las iptables que hemos diseñado:

iptables-save > /etc/iptables/rules.v4

 

Saludos y espero que os resulte 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.