
A primera vista, configurar nuestro firewall en Linux a través de iptables puede parecer una odisea complicada, sin embargo, comprendiendo algunos comandos veremos que es fácil y simple elaborar un muro a prueba de intrusos:
A continuación, veamos 25 reglas del firewall por excelencia en Linux:
1. Borrar las reglas actuales
Antes de iniciar nuevas reglas, lo ideal es borrar las anteriores.
iptables F (or) iptables flush
2. Configurar las normas básicas
Recuerda que al principio, el firewall se encuentra configurado para aceptar todo tipo de tráfico, por lo tanto es racional modificarlos a DROP.
iptables P INPUT DROP iptables P FORWARD DROP iptables P OUTPUT DROP
3. Bloquear una dirección IP
Si deseamos impedir el acceso de una dirección IP por completo, se debe ejecutar el siguiente comando:
iptables A INPUT s «$BLOCK_THIS_IP» j DROP
4. Limitar el tráfico a nuestro puerto SSH
Si deseamos aumentar la seguridad de nuestro puerto SSH, para que no pueda ser encontrado por bots que realizan operaciones de bruteforce de manera automática, se debe utilizar lo siguiente:
iptables A INPUT i eth0 p tcp s 192.168.100.0/24 dport 22 m state state
NEW,ESTABLISHED j ACCEPT
iptables A OUTPUT o eth0 p tcp sport 22 m state state ESTABLISHED j ACCEPT
5. Permitir el tráfico HTTP y HTTPS
El puerto 80 suele tener tráfico HTTP y el 443 el HTTPS:
iptables A INPUT i eth0 p tcp dport 80 m state state NEW,ESTABLISHED j ACCEPT iptables A OUTPUT o eth0 p tcp sport 80 m state state ESTABLISHED j ACCEPT iptables A INPUT i eth0 p tcp dport 443 m state state NEW,ESTABLISHED j ACCEPT iptables A OUTPUT o eth0 p tcp sport 443 m state state ESTABLISHED j ACCEPT
6. Permitir el Loopback
Siempre es necesario permitir el acceso de 127.0.01
iptables A INPUT i lo j ACCEPT iptables A OUTPUT o lo j ACCEPT
7. Prevenir un ataque DoS
Las siguientes líneas te ayudarán a prevenir un ataque a tu servidor iptables A INPUT p tcp dport 80 m limit limit 25/minute limitburst 100 j ACCEPT
8. Permitir IMAP
Permitir el tráfico IMAP se configura de la siguiente manera:
iptables A INPUT i eth0 p tcp dport 143 m state state NEW,ESTABLISHED j ACCEPT iptables A OUTPUT o eth0 p tcp sport 143 m state state ESTABLISHED j ACCEPT
9. Permitir el acceso de la red interna a la externa
Si tenemos varias redes interconectadas, será ideal aplicar el siguiente comando:
iptables A FORWARD i eth0 o eth1 j ACCEPT
10. Guardar el ingreso de paquetes dudosos
Es útil para saber si alguien está escaneando nuestra red, inclusive puede automatizarse el proceso a través de detectores de intrusión.
iptables N LOGGING iptables A INPUT j LOGGING
iptables A LOGGING m limit limit 2/min j LOG logprefix «IPTables Packet Dropped: » loglevel 7 iptables A LOGGING j DROP