Fail2ban Handling: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 24: | Zeile 24: | ||
=Übersicht der Optionen= | =Übersicht der Optionen= | ||
{| class="wikitable" | {| class="wikitable" | ||
| + | |- style="vertical-align:middle;" | ||
| + | ! colspan="3" | Übersicht der Optionen | ||
| + | |- style="vertical-align:middle;" | ||
| + | | Eintrag | ||
| + | | Beschreibung | ||
| + | | Beispiel | ||
|- | |- | ||
| − | + | | colspan="3" | [DEFAULT] | |
| − | + | |- style="vertical-align:middle;" | |
| − | + | | 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 |
| − | | | + | |- style="vertical-align:middle;" |
| − | + | | bantime | |
| − | | | + | | Bannzeit in Sekunden. Ein negativer Wert ist ein permanenter Bann. |
| − | + | | bantime = 86400 | |
| − | |- | + | |- style="vertical-align:middle;" |
| − | | | + | | findtime |
| − | | | + | | Die Anzahl der Sekunden nach dem der Zähler für maxretry zurückgesetzt wird. |
| − | | | + | | findtime = 660 |
| − | | style=" | + | |- style="vertical-align:middle;" |
| − | | | + | | maxretry |
| − | | | + | | Die maximale Anzahl an Fehlversuchen, bevor fail2ban die IP bannt. |
| − | |- | + | | maxretry = 2 |
| − | | | + | |- style="vertical-align:middle;" |
| − | | | + | | backend |
| − | | | + | | Hier kann das backend, wie z.B. systemd eingestellt werden. Voreinstellung ist auto (empfohlen). |
| − | | | + | | backend = systemd |
| − | | | + | |- style="vertical-align:middle;" |
| − | | | + | | usedns |
| − | + | | Einstellung für das reverse-Lookup-Verhalten von fail2ban. Mögliche Werte sind yes, no und warn.<br />Letzteres bewirkt, dass Einträge mit Hostnamen eine Warnung ins Logfile geben, was u.U. zu sehr vielen Einträgen führt. | |
| − | + | | usedns = warn | |
| − | | | + | |- style="vertical-align:middle;" |
| − | | | + | | [myJail] |
| − | | | + | | Hier kann der Name des jail vergeben werden. |
| − | | | + | | [ssh] |
| − | | | + | |- style="vertical-align:middle;" |
| − | |- | + | | enabled |
| − | | | + | | (De-)Aktiviert das jail |
| − | | | + | | enabled = true |
| − | | | + | |- style="vertical-align:middle;" |
| − | | | + | | port |
| − | | | + | | Portdefinition, kann numerisch sein. Mehrere Werte werden durch Kommata getrennt. |
| − | + | | port = ssh | |
| − | |- | + | |- style="vertical-align:middle;" |
| − | + | | filter = sshd | |
| − | | | + | | Name der Filterdatei |
| − | | | + | | /etc/fail2ban/filter.d/sshd.conf |
| − | | | + | |- style="vertical-align:middle;" |
| − | | | + | | logpath |
| − | | | + | | Die zu überwachende Logdatei, die auf den Filter geprüft wird. |
| − | |- | + | | logpath = /var/log/auth.log |
| − | | | + | |- style="vertical-align:middle;" |
| − | | | + | | maxretry, bantime,... |
| − | | | + | | Abweichende Werte für die Default-Optionen können ebenfalls definiert werden. |
| − | + | | maxretry = 3 | |
| − | |||
| − | |||
| − | |- | ||
| − | | | ||
| − | |||
| − | | | ||
| − | | | ||
| − | | | ||
| − | | | ||
| − | |- | ||
| − | | | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|} | |} | ||
Version vom 16. Mai 2022, 12:32 Uhr
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
| Ü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