
Para evitar ataques de fuerza bruta contra ssh, agregué algunosreglas de iptables(abajo). 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
Respuesta1
Una opción sería registrar cualquiera de los paquetes descartados con una regla como:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl -j LOG --log-prefix "FW_DROPPED: "
Insértelo inmediatamente antes de la DROP
regla. Luego, puede buscar en el archivo syslog cualquier cosa que contenga "FW_DROPPED" y la lista de IP estará allí. Las entradas en el archivo de registro se ven así:
Jun 3 08:05:57 some-machine kernel: [15852451.420557] FW_DROPPED: IN=eth0 OUT= MAC=00:50:ba:4a:d9:e3:00:12:17:3a:e3:64:08:00 SRC=228.23.45.189 DST=192.168.1.1 LEN=48 TOS=0x00 PREC=0x00 TTL=106 ID=10941 PROTO=TCP SPT=58212 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0
Entonces, al recortar lo que sigue a "SRC=", se mostrarán las IP eliminadas. Ordene eso, eliminando duplicados y tendrá su lista.
he encontrado elTutorial de Iptablesser la documentación más útil para iptables/netfilter.
Respuesta2
Puede encontrar detalles en /proc/net/ipt_recent/SSH.
Este artículotiene más información.
Respuesta3
Mira a
/proc/net/ipt_recent/YOURNAME
donde TUNOMBRE es el nombre que usaste con la opción --name en tu regla de iptables.
Respuesta4
Lo que hago, por ejemplo para la suplantación de direcciones de entrada, es definir la cadena SPOOF_REJECT
:
iptables -N SPOOF_REJECT
iptables -A SPOOF_REJECT -j LOG --log-prefix "Input spoof detected: "
iptables -A SPOOF_REJECT -j REJECT
luego enviar paquetes a esta cadena si están falsificados:
iptables -A INPUT -i $EXT_DEV1 -s $INT_NET -j SPOOF_REJECT
iptables -A INPUT -i $EXT_DEV2 -s $INT_NET -j SPOOF_REJECT
Podría hacer algo como esto para cada categoría de paquetes que descarta o rechaza para obtener una línea en el syslog para buscar, luego buscar, cortar y ordenar periódicamente para obtener solo las direcciones IP de estas líneas de registro.
El beneficio de utilizar cadenas individuales para cada categoría es que su configuración se vuelve más sencilla y más fácil de leer iptables
. A medida que agregue más y más reglas, se alegrará de haber utilizado cadenas individuales para acciones diferentes específicas.