"La pregunta es: ¿cómo puedo enumerar las direcciones IP bloqueadas?"
Crea una cadena PROHIBIDA:
iptables -N BANNED
iptables -F BANNED
Crear una cadena de registro:
iptables -N BANNEDLOG
iptables -F BANNEDLOG
iptables -A BANNEDLOG -j LOG --log-prefix "BANNED:" --log-level 6
iptables -A BANNEDLOG -j DROP
Agregue salto a la cadena prohibida en la cadena INPUT antes de la mayoría de las otras reglas
...
iptables -A INPUT -j BANNED
...
Ahora agregue ipaddresses a la cadena prohibida:
flock -w 5 /var/lock/iptables -c 'iptables -A BANNED -s 140.130.20.202/32 -i eth0 -m comment --comment "2012-03-19 23:49:33 accesslog" -j BANNEDLOG'
etc...
También puede usarlo como una base de datos con las opciones de comentarios, para que pueda saber cuándo y por qué, etc., el lote es importante cuando iptables se actualiza con frecuencia por muchos procesos; parece que iptables no tiene ningún bloqueo incorporado.
Para ver las direcciones y reglas prohibidas en la cadena prohibida:
iptables -S BANNED
Para ver direcciones IP únicas y ordenadas:
iptables -S BANNED | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u
Tengo una serie de demonios ejecutándose en mis servidores que comprueban los archivos de syslog y los weblogs, por lo que si alguien intenta algo desagradable, su dirección se bloqueará automáticamente durante unos días, según el tipo, la gravedad y el número de ataques anteriores. La información se registra en una base de datos mysql y caduca periódicamente. Las direcciones también se distribuyen a todas las demás máquinas del clúster a través de la replicación mysql, por lo que también están protegidas y se mantienen sincronizadas. Mi software también busca al propietario de la red y envía una queja al ISP.
Después de 10 años de trabajo, espero que esté disponible para que todos lo usen pronto. Actualmente tengo alrededor de 1.5 millones de historiales de direcciones IP y cientos de miles de ataques de correo y ssh reportados, lo que ayuda a limpiar la red. Si más lo usaría, espero que tenga más impacto.
iptables -L INPUT -v -n
muestra toda la IP bloqueada