Řešení 1:
Jednou z možností by bylo zaznamenat jakýkoli z vašich zahozených paketů pomocí pravidla jako:
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: "
Vložte jej bezprostředně před DROP
pravidlo. Pak můžete grep soubor syslog pro cokoli s "FW_DROPPED" v něm a seznam IP adres tam bude. Záznamy v souboru protokolu vypadají asi takto:
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
Takže vystřižením toho, co následuje za "SRC=", se vám zobrazí vynechané IP adresy. Seřaďte to, eliminujte duplicity a budete mít svůj seznam.
Zjistil jsem, že Iptables Tutorial je nejužitečnější dokumentací pro iptables/netfilter.
Řešení 2:
Podrobnosti najdete pod /proc/net/ipt_recent/SSH.
Tento článek obsahuje více informací.
Řešení 3:
Podívejte se na
/proc/net/ipt_recent/YOURNAME
kde YOURNAME je jméno, které jste použili s volbou --name v pravidle iptables.
Řešení 4:
Zde je jednoduchá vložka:
$ iptables -L -n --line