fail2ban 1.1.0 kommt bereits mit einem fertigen SSH-Jail. Die Ausgabe von sudo fail2ban-client status sshd zeigt mir brav eine steigende Zahl für „Total banned“ und bei „Banned IP list“ werden aktuell gesperrte IPs angezeigt. Den Befehl sudo nft list table inet f2b-table verweigert das System jedoch mit dem Hinweis, dass es nft nicht kenne.
Schaue ich in /var/log/fail2ban.log nach, sehe ich ebenfalls zahlreiche Fehlermeldungen, dass nft nicht gefunden wurde. Die Aussage „Total banned“ ist demnach nicht richtig. fail2ban hat zwar versucht, die IPs zu sperren, konnte es aber nicht, weil nft fehlt. Ich habe denn zum Testen nftables nachinstalliert und dann wurde auch wirklich gesperrt. Da man aber wohl besser nicht iptables UND nftables gemeinsam betreiben soll, habe ich nftables erst mal wieder deinstalliert.
Aber wie nun korrekt weiter? Eine jail.local anlegen und die banaction auf iptables festlegen?
Oder im kompletten System iptables gegen nftables austauschen? Wenn ja, wie?
Auf meinem VPS, welchen ich mit dem vom Hoster angebotenen Debian-13-Image ausgestattet habe, erhalte ich:
$ apt list --installed *tables*
iptables/stable,now 1.8.11-2 amd64 [installed]
libxtables12/stable,now 1.8.11-2 amd64 [installed,automatic]
$ apt list --installed *nft*
libnftnl11/stable,now 1.2.9-1 amd64 [installed,automatic]
Sollte da bei Debian 13 eigentlich nftables auftauchen, damit auch der Befehl nft funzt? Hat der Hoster da was vermurkst?
Ach, ich habe ja noch einen zweiten VPS bei einem anderen Hoster …
$ apt list --installed *tables*
iptables/stable,now 1.8.11-2 amd64 [installed]
libnftables1/stable,now 1.1.3-1 amd64 [installed,automatic]
libxtables12/stable,now 1.8.11-2 amd64 [installed,automatic]
nftables/stable,now 1.1.3-1 amd64 [installed,automatic]
$ apt list --installed *nft*
libnftables1/stable,now 1.1.3-1 amd64 [installed,automatic]
libnftnl11/stable,now 1.2.9-1 amd64 [installed,automatic]
nftables/stable,now 1.1.3-1 amd64 [installed,automatic]
Da ist also nftables drauf. Aber okay, es kam mit dem Paket docker.io mit.