Cosas varias, tecnología y familia.... y descargos de la pega

jueves, 19 de febrero de 2009

Tech: Log blocked IPs by mod recent

Hace un tiempo les mencioné como hacer un bloqueo de puertos utilizando el mod recent de iptables.

Bueno, ahora les digo como pueden hacer un logeo de los mismos… es decir, generar una entrada en el log cada vez que se bloquea una ip.

El truco es muy simple. Veamos primero el original:

iptables -A INPUT-p tcp -i eth0 --dport 22 -m state --state NEW,INVALID -m recent --name ChicoMalo --set
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW,INVALID -m recent --seconds 60 --hitcount 4 --name ChicoMalo --update -j DROP

Primero damos vuelta el orden. Ya que es más optimo que se revise al revés, es decir, para el primer paquete pasa de larglo la primera regla y después los segudnos y los bloqueados no llegan a bajar nada.

Y además le agregamos la línea donde nos va a loggear la dirección bloqueada, con un hitcount con 1 menos que el anterior y listo.

Entonces:

iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW,INVALID -m recent --seconds 60 --hitcount 4 --name ChicoMalo --update -j DROP
iptables –A INPUT –p tcp –I eth0 –dport 22 –m state –state NEW,INVALID –m recent –seconds 60 –hitcount 3 –name ChicoMalo –update –j LOG –log-prefix “BLOQUEADO: ”
iptables -A INPUT-p tcp -i eth0 --dport 22 -m state --state NEW,INVALID -m recent --name ChicoMalo

Eso es todo, aqui tienen sus logs de bloqueo de IPs.

Counter