Fail2ban Handling
Install
- sudo apt install fail2ban
Nach der Installation stehen folgende Programme zur Verfügung
- fail2ban-server - der Server
- fail2ban-client - Clientprogramm zur Konfiguration und Auswertung des Servers
- fail2ban-regex - Programm zum Testen von Regular-Expressions[7]
Konfigurationsdatein
fail2ban.local
- Hier werden grundlegende Dinge eingestellt. Im Normalfall reichen die Voreinstellungen aus.
[Definition] loglevel Mitteilungsfreude einstellen: DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL. loglevel = INFO logtarget logtarget kann eine selbst angegebene Datei sein oder eine der folgenden Werte: STDOUT, STDERR, SYSLOG logtarget=STDERR socket Hier lässt sich die Socket-Datei aus /var/run/ umbenennen. socket = /var/run/fail2ban/fail2ban.sock pidfile Hier lässt sich die Prozess-ID-Datei aus /var/run/ umbenennen. pidfile = /var/run/fail2ban/fail2ban.pid
jail.local
- In der Datei jail.local werden alle von der jail.conf abweichenden Einträge eingestellt.
- Man kann diese auch kopieren und als Grundlage für eine eigene jail.local nutzen.
- Jedoch müssen auch hier nur geänderte Werte eingetragen werden.
- Ein Minimalbeispiel:
[sshd] enabled = true
Übersicht der Optionen
Eintrag Beschreibung Beispiel [DEFAULT] ignoreip Durch Leerzeichen separierte Liste von zu ignorierenden (im Sinne von: nicht zu bannenden) IPs oder Netzwerken. ignoreip = 127.0.0.1/8 192.168.1.33 bantime Bannzeit in Sekunden. Ein negativer Wert ist ein permanenter Bann. bantime = 86400 findtime Die Anzahl der Sekunden nach dem der Zähler für maxretry zurückgesetzt wird. findtime = 660 maxretry Die maximale Anzahl an Fehlversuchen, bevor fail2ban die IP bannt. maxretry = 2 backend Hier kann das backend, wie z.B. systemd eingestellt werden. Voreinstellung ist auto (empfohlen). backend = systemd usedns Einstellung für das reverse-Lookup-Verhalten von fail2ban. Mögliche Werte sind yes, no und warn. Letzteres bewirkt, dass Einträge mit Hostnamen eine Warnung ins Logfile geben, was u.U. zu sehr vielen Einträgen führt. usedns = warn [myJail] Hier kann der Name des jail vergeben werden. [ssh] enabled (De-)Aktiviert das jail enabled = true port Portdefinition, kann numerisch sein. Mehrere Werte werden durch Kommata getrennt. port = ssh filter = sshd Name der Filterdatei /etc/fail2ban/filter.d/sshd.conf logpath Die zu überwachende Logdatei, die auf den Filter geprüft wird. logpath = /var/log/auth.log maxretry, bantime,... Abweichende Werte für die Default-Optionen können ebenfalls definiert werden. maxretry = 3
Config
- sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Example ssh
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 4