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.