Content:

Was ist Fail2Ban?

Fail2Ban ist ein in Python geschriebenes Programm, welches verschiedene Serverdienste gegen unbefugten Zugriff absichern kann.

Wie installiere ich Fail2Ban?

Unter Debian/Raspbian und Ubuntu:

sudo apt install fail2ban

Beispiele um ein Jail zu konfiguieren

Die Jail Datei liegt in /etc/fail2ban Verzeichniss um sicher zu gehen, dass F2B oder das OS diese Datei nicht überschreibt Empfiehlt es sich die jail.conf zur jail.local zu kopieren.

Wie kopiere ich die jail.conf zur jail.local?

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Und nun können wir mit der einrichtung eines Jails weiter machen.

Um ein Jail zu aktivieren ist es nötig in dem [Jail] ein enabled = true zu machen.

Hier ein Beispiel für die minimale konfiguration von SSH:

[sshd]
enabled = true

Dies lässt sich nach bedarf noch mit weiteren Parametern ergänzen/erweitern.

Das würde dann so Aussehen:

[sshd]
enabled = true
port 	= ssh
filter 	= sshd
logpath = /var/log/auth.log
maxretry = 3 #Maximale Versuche.
findtime = n #Die Anzahl der Sekunden nach dem der Zähler für maxretry zurückgesetzt wird.
bantime = n #Zeitraum in Sekunden für permanente Blockierungen -1.

Falls man eine bestimmte IP nicht Blocken will kann man in dem [Default] Jail ein

ignoreip = IP

hinzufügen.

Stop/Start und Analyse

Den Prozess Stoppen/Starten

sudo systemctl restart|start|reload|stop|force-reload fail2ban

Um die Meldungen von Fail2Ban anzusehen eignet sich:

tail -100f /var/log/fail2ban.log

Wie entbanne ich IP Adressen aus einem Jail?

Wenn man sich selbst ausgesperrt hat ist es immer gut wenn man weiß wie man wieder in sein System kommt. :)

Das Entsperren geht so:

sudo fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE
Examples:
sudo fail2ban-client set nextcloud unbanip IP #Um eine IP vom Nextcloud Ban zu befreien.
sudo fail2ban-client set sshd unbanip IP #Um eine IP vom SSH Ban zu befreien.