fail2ban ist auf den ersten Blick ein sehr tolles Programm es durchsucht die Log Dateien und wenn ein Rechner sich mit eine bestimmbaren Anzahl falsch einloggt über SSH so wird seine IP für eine bestimmte Zeit gespeert.
Zusätzlich kann man fail2ban noch für Apache, ProFTPD und und und nutzen.
Zur Realisierung verwendet fail2ban iptables und jetzt kommt die Schwachstelle.
Schon mehrmals in der Vergangenheit wurde ermöglicht das zB. durch eine DoS Attacke fail2ban verrückt spielte und ganz andere iptables ausspuckte als er wollte darunter Aussperrung von allen IPs.
Klar ein Angreifer hätte jetzt nichts davon aber wenn fail2ban beispielsweise alle IPs speert so kann man auch nicht mehr auf der Homepage kommen wenn auf den Server noch ein Webserver lief.
Ein unnötigs Risiko in dass man sich begibt, wo es doch sogar sichere Alternativen wie knockd existieren.
Moment mal knockd ist sicher und fail2ban nicht?
Das liegt daran dass knockd anders arbeitet, es bannt keine Nutzer und er fasst nichtmal die Logs an. Auf den Server gibt man knockd bekannt was passieren soll wenn man drei ausgedachte Ports vom Clienten zu ihn schickt.
yoschi@client: knock example.org 10047 7822 23487
Was er nun macht hängt davon ab was wir für ein Befehl wir ihm gegeben haben denn wir selber müssen das bestimmen sowas wie bei fail2ban der sich selber darum kümmert gibst nicht.
Wir könnten ihn eine iptables Regel geben die den Port 22 für 10 Minuten öffnet aber nur für die IP die drei geheime Ports geschickt hat.
SSH Username und Passwort muss man zwar nach wie vor eingeben, aber wenn nun ein Bot Rechner wiedermal versucht sich mittels SSH einzuloggen ohne dabei die 3 geheimen Ports über knock zu verschicken erhält er nur eine Meldung dass auf Port 22 kein Dienst läuft.
Da wir ja die iptables Regel (oder andere solange sie Sinn machen) selber vergeben kann er nicht kompromiert werden. (Wobei wenn man schwachsinnige/unsichere iptables Regeln vergibt sollte man sich nicht wundern wenn knockd da immer noch nicht besser läuft).
Natürlich kann man fail2ban weiternutzen denn bis jetzt wurde jede Schwachstelle die bekannt geworden ist behoben. Aber die Einrichtung von knockd ist so kinderleicht, warum sollte man da noch fail2ban nutzen?