Uso básico de Iptables con ejemplos

Published:

Iptables es una herramienta avanzada para filtrar paquetes en Linux. Es una herramienta muy establecida, ya que hay millones de sitios en todo el mundo que funcionan y utilizan iptables de forma continua. En el blog y los cursos vimos como usar algunas herramientas más simples como UFW o Firewalld, pero como hace tanto tiempo que no lo usaba, dejo este pequeño manual con ejemplos.

1- Listar reglas

iptables -L

2- Listar reglas INPUT

iptables -L INPUT -n --line-numbers

3- Listar reglas OUTPUT

iptables -L OUTPUT -n --line-numbers

4- Bloqueando accesos

4.1- Bloquear acceso puerto 80

iptables -A INPUT -p tcp --dport 80 -j DROP

4.2- No permitir ping

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

5- Permitir accesos

5.1- Permitir acceso al puerto 22 o ssh

iptables -A INPUT -i ens33 -m tcp -p tcp --dport 22 -j ACCEPT

Permitir el tráfico de Sendmail o Postfix

iptables -A INPUT -i ens33 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ens33 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

Permitir todos los SSH entrantes

iptables -A INPUT -i ens33 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o ens33 -p tcp --sport 22 -j ACCEPT

5.2- Permitir multiples puertos

iptables -A INPUT -i ens33 -p tcp -m multiport --dports 22,80,443 -j ACCEPT

6- Eliminar todas las reglas

iptables -F
o
iptables --flush

6.1- Eliminar relas de a 1 por su número

Listar

iptables -L INPUT -n --line-numbers

Eliminar

iptables -D INPUT 1

7- Guardar la configuración de iptables

iptables-save

7.1- Si queremos guardar las reglas a un archivo para tener un backup:

iptables-save > /root/my.active.firewall.rules

7.2- En distros como RHEL usamos

service iptables save

7.3- Para restaurar reglas hacemos:

iptables-restore < /root/my.active.firewall.rules

8- Bloquear una url

Vamos a bloquear Facebook por ejemplo.

iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP

9- Prevenir ataques DoS

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

-m limit: este limite que usará iptables
-limit 25 / minute: solo se pueden conectar 25 paquetes de solicitud por minuto.
-limit-burst 100: este valor indica que el límite / minuto se implementará solo después de que el número total de conexiones alcance el límite

10- Consultar los paquetes rechazados por iptables

Para saber los paquetes que iptables ha rechazado debemos teclear:

iptables -N LOGGING
- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles