Al hilo de esta entrada, si lo que queremos es controlar, incluso, un posible escaneo de puertos desde una IP, y no solo peticiones abusivas a uno de nuestros servicios que es de lo que trataba la entrada anterior, tenemos:
iptables -I INPUT --m state --state NEW -m recent --set iptables -I INPUT --m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
Con la ejecución de estas 2 órdenes, cualquier intento de realizar más de 5 conexiones (destinados a cualquiera de nuestros puertos) desde una misma IP, producirá un bloqueo de las conexiones desde esta IP durante 60 segundos.
Este es un mecanismo fácil, rápido y eficiente de control de las peticiones que recibimos en nuestros servidores y más ligero que opciones como la comentada aquí, ya que detectamos y protegemos con el módulo recent de iptables, en un nivel más bajo y que apenas introduce carga al sistema.
Como ya comenté, lo podemos hacer también en routers, solo que afecta a otras tablas/cadenas (filter/FORWARD, nat/PREROUTING,…) y opciones a considerar.
¡Espero que os sea útil!
Referencias
- man iptables