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 😉