fail2ban und nftables – Nützliche Tips

Hilfestellung wenn fail2ban in Zusammenhang mit nftables Probleme bereitet

Möglicherweise verursacht Fail2Ban Probleme. Häufig genügt es, die von Fail2Ban angelegten nftables-Regeln zu löschen, den Dienst kurz zu stoppen und anschließend wieder zu starten. Beim Neustart erstellt Fail2Ban automatisch alle erforderlichen nftables-Sets und -Regeln neu.

sudo lasse ich bei den nachfolgenden Beispielen weg. Es wird für nft Kommandos nötig sein.

Beispiel um die f2b-table im Familien-Kontext inet zu löschen:

Bash
nft delete table inet f2b-table

Vorgehensweise wenn Ports zu einzelnen Jails von fail2ban geändert werden

Wenn du zu einem Jail von fail2ban die Ports änderst, wird es auch nötig sein, fail2ban zu beenden und neu zu starten, damit die Änderungen in die nft-Tabellen übernommen werden.

Beispiel:

jail.local excerpt
[proftpd]
enabled = true
maxretry = 2
backend = auto
port = 21,20,989,990,2222,40000-40100
logpath = /var/log/proftpd/proftpd.log

Hier habe ich die Liste der zu überwachenden Ports angepasst.

Nachdem ich Fail2Ban gestoppt und anschließend neu gestartet habe, tauchen die geänderten Ports erwartungsgemäß in den von Fail2Ban erzeugten nftables-Regeln auf – konkret in der Tabelle inet f2b-table (Chain f2b-chain).

Befehl:

Bash
nft list chain inet f2b-table f2b-chain

Ausgabe:

excerpt
tcp dport { 20-21, 989-990, 2222, 40000-40100 } ip saddr @addr-set-proftpd reject with icmp port-unreachable

Änderungen immer über fail2ban durchführen

Meine Erfahrung hat gezeigt, dass manuelle Anpassungen an nft Tabellen die von fail2ban verwendet werden, nur zu Problemen führen. Besser ist, man führt die Änderungen in fail2ban durch.

Hinzufügen und entfernen von IPs zu Jails von fail2ban

Wenn du nftables als Backend für Fail2Ban nutzt, solltest du IPs nicht direkt über nft ändern, sondern über fail2ban-client – so bleibt alles synchron.

IP-Adresse zu einem Jail hinzufügen:

fail2ban-client set <jail> banip 1.2.3.4

Bash
fail2ban-client set proftpd banip 1.2.3.4

IP-Adresse aus einem Jail entfernen:

fail2ban-client set <jail> banip 1.2.3.4

Bash
fail2ban-client set proftpd unbanip 1.2.3.4

Kommentare

Schreibe einen Kommentar