Para evitar ataques de fuerza bruta contra ssh, he agregado algunas reglas de iptables (a continuación). La pregunta es: ¿cómo puedo enumerar las direcciones IP bloqueadas?
(1)
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
iptables -L INPUT -v -n
muestra toda la IP bloqueadaRespuestas:
Una opción sería registrar cualquiera de sus paquetes descartados con una regla como:
Inserte eso inmediatamente antes de la
DROP
regla. Luego, puede seleccionar el archivo syslog para cualquier cosa que contenga "FW_DROPPED" y la lista de IP estará allí. Las entradas en el archivo de registro se ven así:Por lo tanto, recortar lo que sigue "SRC =" le mostrará las direcciones IP caídas. Ordene eso, eliminando duplicados, y tendrá su lista.
He encontrado que el Tutorial de Iptables es la documentación más útil para iptables / netfilter.
fuente
Puede encontrar detalles en / proc / net / ipt_recent / SSH.
Este artículo tiene más información.
fuente
Mirar
/proc/net/ipt_recent/YOURNAME
donde YOURNAME es el nombre que usó con la opción --name en su regla de iptables.
fuente
/proc/net/xt_recent/[list-name]
Aquí hay un simple revestimiento:
fuente
Lo que hago, por ejemplo, para la suplantación de direcciones de entrada, es definir la cadena
SPOOF_REJECT
:luego enviar paquetes a esta cadena si son falsificados:
Puede hacer algo como esto para cada categoría de paquetes que descarta o rechaza para obtener una línea en el registro del sistema para buscar, luego grep, cortar, ordenar periódicamente, para obtener solo las direcciones IP de estas líneas de registro.
El beneficio de usar cadenas individuales para cada categoría es que su configuración se vuelve más sencilla y es más fácil leer su
iptables
configuración. A medida que agregue más y más reglas, se alegrará de haber utilizado cadenas individuales para diferentes acciones específicas.fuente
"La pregunta es: ¿cómo puedo enumerar las direcciones IP bloqueadas?"
Crea una cadena PROHIBIDA:
Crear una cadena de registro:
Agregue salto a la cadena prohibida en la cadena INPUT antes de la mayoría de las otras reglas
Ahora agregue ipaddresses a la cadena prohibida:
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:
Para ver direcciones IP únicas y ordenadas:
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.
fuente