Limitar la tasa de conexiones SSH entrantes con iptables

Limitar la tasa de conexiones SSH entrantes con iptables permite abrir el puerto SSH en forma ilimitada y reduce considerablemente los intentos de hackeo a este puerto. Sirve principalmente para permitir el ingreso por SSH a usuarios que se conectan en forma remota desde redes donde el IP cambia a menudo.

Voy a reproducir las reglas de iptables pero a la manera de nuestra guía sobre cortafuegos en Debian.

La regla se inserta en /etc/network/if-up.d/firewall en la cadena pqtes-tcp-permitidos,

$IPTABLES -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --set
$IPTABLES -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 4 -j DROP
$IPTABLES -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -j ACCEPT

La primera regla agrega el número IP que inicia una conexión SSH a una lista. La segunda regla actualiza la lista y prueba que no hayan más de 4 requerimientos nuevos en un lapso de 60 segundos. Si los hay, la regla descarta el requerimiento. De esta manera limitamos la tasa a máximo 3 requerimientos por minuto por IP.

IptablesSSHDebian (última edición 2009-09-14 03:53:05 efectuada por RicardoYanez)