iptables mit ipset blocklist
Ziel ist es Verbindungsversuche auf bestimmte Ports zu Loggen und diese IP’s zu sperren. Wer möchte kann mit wenig Aufwand eine Sperrung z.B. via Fail2Ban erst bei einem wiederkehrenden Verbindungsversuch umsetzen.
Folgender iptables Befehl legt temporär (bis zum nächsten Neustart) einen Logeintrag für alle Verbindungsversuche auf Port 22 (SSH) an:
iptables -I INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j LOG --log-prefix='[netfilter] ssh '
Sofortiges hinzufügen eines Verbindungsaufbaus auf Port 22 mit TCP zur „blacklist“
iptables -I INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j SET --add-set blacklist src
Alle eingehenden Verbindungen die in der „blacklist“ stehen werden gedroppt
iptables -I INPUT -m set --match-set blacklist src -j DROP
iptables -I FORWARD -m set --match-set blacklist src -j DROP
Erstellen einer ipset liste
ipset create blacklist hash:ip hashsize 4096
Prüfen ob IP 1.1.1.1 in der „blacklist“ vorhanden ist
ipset test blacklist 1.1.1.1
Alle IPs in „blacklist“ anzeigen
ipset list blacklist