fail2ban - Zusammenfassung
Inhaltsverzeichnis
Thomas Krenn Wiki
Das in Python geschriebene Tool fail2ban verfolgt das Ziel, Serverdienste gegen DoS Angriffe abzusichern. Es prüft Logdateien nach vordefinierten Mustern und sperrt bei wiederholtem fehlgeschlagenem Zugriff temporär die entsprechenden IP-Adressen. Dieser Artikel zeigt, wie Sie einen Debian-basierten Server mit fail2ban absichern. Die eingesetzte Version von fail2ban ist 0.9.6-2 unter Debian 9.1.
Problem
In der Logdatei "/var/log/auth.log" treten mehrere fehlgeschlagene Loginversuche mit dem Protokoll SSH auf, die nicht von Ihnen stammen.
Feb 19 09:21:15 servername sshd\[22796\]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.207.xx.xx user=root Feb 19 09:21:17 servername sshd\[22796\]: Failed password for root from 218.207.xx.xx port 22 ssh2
Feb 19 09:21:15 servername sshd\[22796\]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.207.xx.xx user=root
Feb 19 09:21:17 servername sshd\[22796\]: Failed password for root from 218.207.xx.xx port 22 ssh2
Erklärung
- Der entfernte Benutzer hat (versehentlich) eine falsche Server IP verwendet und irrtümlicherweise versucht sich an Ihrem Server anzumelden. Die Anzahl der Loginversuche ist hier meistens gering.
- Sie sind Opfer einer Brute Force Attacke, bei der automatisch ein Login mit Benutzer root und verschiedenen Passwörtern (z.b. aus sogenannten Wörterbuchdateien) versucht werden. Die Anzahl der Loginversuche ist hier erkennbar hoch.
Lösung
Sichern Sie Ihren SSH Login mit dem Tool fail2ban ab, verbieten Sie direkten Root Login oder melden Sie sich nur mit Public-Key-Verfahren an.
Was ist Fail2Ban
Fail2Ban ist ein in Python geschriebenes Programm, welches verschiedene Serverdienste gegen unbefugten Zugriff absichern kann. In dem Konfigurationsbeispiel unten, wird eine IP Adresse für 1 Stunde gesperrt, nachdem von dieser 4 fehlgeschlagene Anmeledeversuche für SSH stattgefunden haben.
Installation von Fail2Ban
sudo apt install fail2ban
Konfiguration Fail2Ban
Im Ordner /etc/fail2ban/ finden Sie die globale Konfigurationsdatei jail.conf. Diese jedoch nicht bearbeiten, da sie bei jeder Paketaktualisierung überschrieben wird. Die eigene Konfiguration geschieht in der "jail.local".
\# To avoid merges during upgrades DO NOT MODIFY THIS FILE \# and rather provide your changes in /etc/fail2ban/jail.local>
\# To avoid merges during upgrades DO NOT MODIFY THIS FILE
\# and rather provide your changes in /etc/fail2ban/jail.local>
Hierzu kopieren Sie die "jail.conf" nach "jail.local".
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Prüfen Sie die die Einstellungen zur lokalen IP Adresse Ihres Servers. Die Zeit, wie lange eine IP geblockt werden soll wird in unserem Beispiel auf eine Stunde erhöht und die Anzahl der Versuche, nach denen geblockt werden soll, wird auf 3 verringert. Diese Konfiguration ist in der folgenden Sektion der jail.local vorzunehmen:
\[...\] \[DEFAULT\] # \# MISCELLANEOUS OPTIONS # \# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not \# ban a host which matches an address in this list. Several addresses can be \# defined using space (and/or comma) separator. ignoreip = 127.0.0.1/8 \# External command that will take an tagged arguments to ignore, e.g. <ip>, \# and return true if the IP is to be ignored. False otherwise. # \# ignorecommand = /path/to/command <ip> ignorecommand = \# "bantime" is the number of seconds that a host is banned. bantime = 3600 \# A host is banned if it has generated "maxretry" during the last "findtime" \# seconds. findtime = 600 \# "maxretry" is the number of failures before a host get banned. maxretry = 3 \[...\]
\[...\]
\[DEFAULT\]
#
\# MISCELLANEOUS OPTIONS
#
\# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
\# ban a host which matches an address in this list. Several addresses can be
\# defined using space (and/or comma) separator.
ignoreip = 127.0.0.1/8
\# External command that will take an tagged arguments to ignore, e.g. <ip>,
\# and return true if the IP is to be ignored. False otherwise.
#
\# ignorecommand = /path/to/command <ip>
ignorecommand =
\# "bantime" is the number of seconds that a host is banned.
bantime = 3600
\# A host is banned if it has generated "maxretry" during the last "findtime"
\# seconds.
findtime = 600
\# "maxretry" is the number of failures before a host get banned.
maxretry = 3
\[...\]
Sie können die Parameter dann für einzelne Dienste (wie hier in dem Artikel der SSH Daemon) separat anpassen.
Ergänzen Sie nun weiter unten in der eigenen, vorher kopierten, Konfigurationsdatei jail.local im Abschnitt zum SSH Daemon die erforderlichen Parameter um ihn per fail2ban zu überwachen:
\[...\] # \# SSH servers # \[sshd\] enabled= true port = ssh filter= sshd logpath= /var/log/auth.log maxretry = 4 \[...\]
\[...\]
#
\# SSH servers
#
\[sshd\]
enabled= true
port = ssh
filter= sshd
logpath= /var/log/auth.log
maxretry = 4
\[...\]
Starten Sie anschließend fail2ban neu, damit die Änderungen übernommen werden.
sudo systemctl restart fail2ban.service
IONOS Wiki - Server absichern mit Fail2ban
In diesem Artikel wird die Installation und Einrichtung von Fail2ban beschrieben.
Fail2Ban ist ein Sicherheitsprogramm für Linux, das Brute-Force-Angriffe erkennt und abwehrt. Nach der Einrichtung läuft Fail2ban als Dienst im Hintergrund und überwacht die Einträge in den Log-Dateien der verschiedenen Dienste (z.B. SSH, FTP). Zu viele fehlgeschlagene Versuche führen dazu, dass die angreifende IP-Adresse für einen gewissen Zeitraum geblockt wird, sodass keine weiteren Verbindungen zustande kommen.
Voraussetzung
Für die Installation von Fail2ban wird Root-Server mit Linux-Betriebsystem benötigt (Cloud Server, Dedicated Server, Bare Metal Server, VPS).
Anmerkung
Bei Servern mit Plesk sollten Anwendungen wie Fail2Ban immer über das Plesk Panel installiert und verwaltet werden.
Installation
Ubuntu 16.04 / 18.04
Paketlisten aktualisieren:
sudo apt update
Fail2ban installieren:
sudo apt install fail2ban
Fail2Ban starten:
sudo systemctl start fail2ban
Fail2Ban bei Systemstart automatisch starten:
sudo systemctl enable fail2ban
CentOS 7
Paketlisten aktualisieren:
sudo yum update
EPEL Repository installieren:
sudo yum install epel-release
Fail2Ban installieren:
sudo yum install fail2ban
Fail2Ban starten:
sudo systemctl start fail2ban
Fail2Ban bei Systemstart automatisch starten:
sudo systemctl enable fail2ban
Konfiguration
Die Fail2Ban-Konfigurationsdateien werden im Verzeichnis /etc/fail2ban gespeichert. In diesem Verzeichnis enthält die Datei jail.conf die Standardeinstellungen.
Wenn es Standardeinstellungen gibt, die Sie überschreiben möchten, sollten diese in eine jail.local-Datei aufgenommen werden, um Konflikte zu vermeiden. Dazu erstellen Sie einfach eine Kopie von jail.conf namens jail.local:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Sie können dann die Datei jail.local zur Bearbeitung öffnen:
sudo nano /etc/fail2ban/jail.local
Um zukünftige Verwirrung zu vermeiden, können Sie den ersten Textblock löschen, der vor der Bearbeitung der Datei jail.conf warnt:
# WARNING: heavily refactored in 0.9.0 release. Please review and # customize settings for your setup. # # Changes: in most of the cases you should not modify this # file, but provide customizations in jail.local file, # or separate .conf files under jail.d/ directory, e.g.: # # HOW TO ACTIVATE JAILS: # # YOU SHOULD NOT MODIFY THIS FILE. # # It will probably be overwritten or improved in a distribution update. # # Provide customizations in a jail.local file or a jail.d/customisation.local. # For example to change the default bantime for all jails and to enable the # ssh-iptables jail the following (uncommented) would appear in the .local file. # See man 5 jail.conf for details. #
# WARNING: heavily refactored in 0.9.0 release. Please review and
# customize settings for your setup.
#
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory, e.g.:
#
# HOW TO ACTIVATE JAILS:
#
# YOU SHOULD NOT MODIFY THIS FILE.
#
# It will probably be overwritten or improved in a distribution update.
#
# Provide customizations in a jail.local file or a jail.d/customisation.local.
# For example to change the default bantime for all jails and to enable the
# ssh-iptables jail the following (uncommented) would appear in the .local file.
# See man 5 jail.conf for details.
#
Sperrzeit erhöhen
Eine empfohlene Änderung ist die Erhöhung der Sperrzeit-Einstellung (ban time), die standardmäßig auf nur 10 Minuten (600 Sekunden) eingestellt ist.
Um die Sperrzeit zu erhöhen, suchen Sie den Abschnitt, der lautet:
# "bantime" is the number of seconds that a host is banned. bantime = 600
# "bantime" is the number of seconds that a host is banned.
bantime = 600
Ersetzen Sie 600 mit der gewünschten Anzahl von Sekunden. Um beispielsweise Hosts für zwei Stunden zu sperren, ändern Sie diesen Befehlsblock wie folgt:
# "bantime" is the number of seconds that a host is banned. bantime = 7200
# "bantime" is the number of seconds that a host is banned.
bantime = 7200
Speichern Sie die Datei und starten Sie Fail2Ban neu, damit Ihre Änderungen wirksam werden:
sudo systemctl restart fail2ban
Logdatei
Alle von Fail2Ban durchgeführten Aktionen und Maßnahmen werden in der Datei /var/log/fail2ban.log protokolliert.
sudo less /var/log/fail2ban.log
ubuntuuser - wiki
fail2ban ???????? ist ein Set aus Client, Server und Konfigurationsdateien, welches Logdateien überwacht, dort nach vordefinierten Mustern sucht und nach diesen temporär IP-Adressen sperrt. Es ist unter der GNU General Public License Version 2 ???????? veröffentlicht und basiert auf Python.
Ziel des Programms ist, alle Serverdienste gegen Angriffe des Typs Denial of Service (DoS) abzusichern. Allerdings darf man nicht vergessen, dass die Grundfunktion (Sperren einzelner IP-Adressen) insbesondere bei "Distributed Denial of Service"-Angriffen (DDoS) durch Bot-Netze an ihre Grenzen stoßen kann.
Installation
Folgendes Paket kann aus den offiziellen Paketquellen installiert werden:
- fail2ban (universe)
Paketliste zum Kopieren:
sudo apt-get install fail2ban
Oder mit apturl installieren, Link: apt://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
Fremdquelle
Über NeuroDebian kann eine Fremdquelle eingerichtet werden, die aktuellere Versionen bereitstellt.
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ohne Installation
Als Python-Skript kann fail2ban ohne Installation oder Kompilierung ausgeführt werden. Dafür sind Root-Rechte oder ein speziell eingerichteter Benutzer erforderlich, um Zugriff auf iptables oder die Routingtabelle via ip zu haben.
Konfiguration
Hinweis:
fail2ban liest Konfigurationsdateitypen mit den Endungen .conf und .local. Dateien mit der Endung .conf werden bei der Installation erstellt und können bei einem Paketupgrade überschrieben werden, daher sind alle Änderungen in entsprechenden .local-Dateien vorzunehmen. In diesen müssen lediglich geänderte Werte gespeichert werden, die von den Voreinstellungen abweichen.
fail2ban hat drei Konfigurationsdateitypen:
-
/etc/fail2ban/action.d/.conf/.local
-
/etc/fail2ban/filter.d/.conf/.local
-
/etc/fail2ban/jail.d/.conf/.local
Alle Konfigurationsdateien folgen dem Ini-Format:
-
"Actions" - Kommandos zum Bannen und Entbannen von IP-Adressen
-
"Filter" - Suchmuster
Die Datei jail.conf kombiniert Actions
und Filter
zu einem Jail. Auch hier gilt, dass Benutzerdateien mit der Endung .local gespeichert werden sollen.
fail2ban.local
In der Datei /etc/fail2ban/fail2ban.local werden grundlegende Dinge eingestellt. Im Normalfall reichen die Voreinstellungen aus.
Optionen der fail2ban.local | ||
---|---|---|
Eintrag | Beschreibung | Standardwert |
[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
\[sshd\]
enabled = true
Es wird lediglich der SSH-Filter aktiviert. Eine Übersicht der möglichen Werte bietet die jail.conf und die nachfolgende Tabelle.
Übersicht der Optionen | ||
---|---|---|
Eintrag | Beschreibung | Beispiel |
[DEFAULT] |
||
ignoreip |
Leerzeichenseparierte Liste von zu ignorierenden 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 |
Action.local
Die Dateien im Verzeichnis /etc/fail2ban/action.d/ enthalten die Befehle zum (Ent-)Sperren von IP-Adressen. Action-Dateien enthalten zwei Sektionen: [Definition]
und [Init]
. Die Einträge in der [Init]
-Sektion dienen zum Überschreiben der im Jail definierten Regeln. Die Beispiele der folgenden Tabelle sind der Aktion iptables-multiport-conf entnommen. Alle Befehle werden mit den Benutzerrechten von fail2ban ausgeführt.
Übersicht der Optionen | ||
---|---|---|
Eintrag | Beschreibung | Beispiel |
[Definition] |
||
actionstart |
Befehle, die beim Starten von fail2ban ausgeführt werden. | actionstart = iptables -N fail2ban-<name> iptables -A fail2ban-<name> -j RETURN iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name> |
actionstop |
Befehle, die beim Beenden von fail2ban ausgeführt werden. | actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name> iptables -F fail2ban-<name>[[BR]]iptables -X fail2ban-<name> |
actioncheck |
Befehle, die vor jedem actionban ausgeführt werden. Diese dienen dazu die aktuelle Umgebung auf Funktionalität zu überprüfen. | actioncheck = iptables -n -L <chain> \| grep -q 'fail2ban-<name>[ \t]' |
actionban |
Befehle, die beim Bannen einer IP ausgeführt werden. Die Bedingung lautet immer maxretry muss überschritten und findtime unterschritten sein. | actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype> |
actionunban |
Befehle, die zum Entbannen benutzt werden sollen. | actionunban = iptables -D fail2ban-<name> -s <ip> -j <blocktype> |
[Init] |
||
name |
Standardname der Kette | name = default |
port |
Port | port = ssh |
protocol |
Wird intern vom config reader genutzt. Mögliche Werte: tcp , udp , icmp , all . |
protocol = tcp |
chain |
Die iptables-Kette zu der die fail2ban-Regeln hinzugefügt werden sollen. Standard ist INPUT . |
chain = INPUT |
Action Tags | Action Tags sind Platzhalter, welche in actionban , actionunban und actioncheck verwendet werden können. |
|
ip |
Die zu bannende IPv4-Adresse. | |
failures |
Die Anzahl der gezählten Fehlversuche. | |
time |
Der Unix-Zeitstempel (Sekunden) des Banns. | |
matches |
Die verketteten Einträge aus den Zeilen des Logfiles, die zum Bann führen. Viele Shell-Zeichen werden escaped dargestellt. |
Filter.local
Die Dateien im Verzeichnis /etc/fail2ban/filter.d/ enthalten die regulären Ausdrücke[6] zur Analyse der Logdateien und zum Extrahieren der IP-Adresse, bzw. bei Verwendung von usedns den Hostnamen. Es gibt in diesen Dateien nur zwei Sektionen: [Definition]
und [Includes]
. Letztere kann benutzt werden, um andere Konfigurationsdateien einzulesen.
Die Beispiele der folgenden Tabelle sind der Aktion iptables-multiport-conf entnommen. Alle Befehle werden mit den Benutzerrechten von fail2ban ausgeführt.
Übersicht der Optionen | ||
---|---|---|
Eintrag | Beschreibung | Beispiel |
[Definition] |
||
failregex |
Mit Hilfe dieses regulären Ausdrucks[6] werden die Logdateien nach Treffern durchsucht. Hier ist der Tag HOST verfügbar, welche als Teil der regex benutzt wird und den Hostnamen, bzw. die IP-Adresse enthält. Die Unterscheidung zwischen IP-Adresse und Hostname wird von fail2ban automatisch ermittelt. |
failregex = ^%(__prefix_line)sFAIL: \S+ address from=<HOST>$ ^%(__prefix_line)sFAIL: \S+ libwrap from=<HOST>$ |
ignoreregex |
Hier können Ausnahmen definiert werden, selbst wenn sie für die obige failregex gültig wäre. ignoreregex unterstützt String_interpolation, so dass man eigene Variablen mittels %(variablenname)s verwenden kann. |
ignoreregex = |
[INCLUDES] |
||
before |
Die Datei wird vor der Sektion [Definition] gelesen. Beispiel ist die common.conf |
before = common.conf |
after |
Die Datei wird nach der Sektion [Definition] gelesen. |
after = example_after.local |
Beispiel | Nach Einbindung der common.conf steht _daemon zur Verfügung. Siehe /etc/fail2ban/filter.d/common.conf für mehr Details. |
_daemon = xinetd |
Bannen mit ip route
Grundlegend kann fail2ban auf zwei Arten bannen: Mittels Paketfilterung über iptables (Standard) oder per Eintrag in der Routingtabelle mit ip. Der Vorteil von ip ist, dass keine Konflikte mit eigenen iptables-Regeln auftreten.
Die Umstellung erfolgt über die Datei /etc/fail2ban/action.d/route.conf, welche man ggf. mit einem Editor[4] und Root-Rechten erstellen muss. Dort definiert man das Bannverhalten:
\[Definition\] actionban = ip route add unreachable IP actionunban = ip route del unreachable IP
\[Definition\]
actionban = ip route add unreachable IP
actionunban = ip route del unreachable IP
IP
dient dabei ein Platzhalter. Dieser darf also nicht verändert werden.
In der Datei /etc/fail2ban/jail.local muss die Aktion nun über den Eintrag:
banaction = route
bekannt gemacht werden. Zum Übernehmen der Änderungen ist ein Neustart von fail2ban erforderlich.
Entbannen
Das Entbannen funktioniert über das Programm fail2ban-client:
fail2ban-client set <JAIL> unbanip <IP> #Beispiel fail2ban-client set sshd unbanip 192.168.16.33
fail2ban-client set <JAIL> unbanip <IP>
#Beispiel
fail2ban-client set sshd unbanip 192.168.16.33
Weitere Informationen
Neustart¶
-
Mittels systemd
sudo systemctl restart fail2ban
Status
-
Mittels systemd
sudo systemctl status fail2ban
fail2ban ohne Root-Rechte
Die Nutzung von fail2ban ohne Root-Rechte ist möglich, wenn man einen eigenen Benutzer für fail2ban anlegt und diesem mittels visudo die nötigen Rechte für die verwendeten Befehle - welche dann auf die Benutzung von sudo
umgestellt werden müssen - und natürlich den Zugriff auf die Logdateien gewährt.
Eigene Definitionen
Als Beispiel dient hier ein Jail für den klassischen HTTP-Statuscode 404
.
- jail.local:
\[apache_404\] # Name des Jails enabled = true port = http,https # Standardports filter = apache_404 # Name der Filterdatei logpath = /var/log/apache*/*access.log # zu überwachende Logdateien maxretry = 3 # Wieviele Fehlaufrufe sind erlaubt?
\[apache_404\] # Name des Jails
enabled = true
port = http,https # Standardports
filter = apache_404 # Name der Filterdatei
logpath = /var/log/apache*/*access.log # zu überwachende Logdateien
maxretry = 3 # Wieviele Fehlaufrufe sind erlaubt?
- apache_404.local:
\# Fail2Ban configuration file \# Author: ChickenLipsRfun2eat \# Website: wiki.ubuntuusers.de \# License: https://ubuntuusers.de/lizenz/#CC-BY-NC-SA-2-0-DE \# $Revision: 0.0.1 $ \[Definition\] failregex = <HOST> - - \\\[.*\\\] "GET /.* HTTP/1\\.\[01\]" 404 \[0-9\]+.*$ \# Option: ignoreregex \# Notes.: regex to ignore standard search for favicon.ico and robots.txt ignoreregex = .*(robots.txt|favicon.ico)
\# Fail2Ban configuration file
\# Author: ChickenLipsRfun2eat
\# Website: wiki.ubuntuusers.de
\# License: https://ubuntuusers.de/lizenz/#CC-BY-NC-SA-2-0-DE
\# $Revision: 0.0.1 $
\[Definition\]
failregex = <HOST> - - \\\[.*\\\] "GET /.* HTTP/1\\.\[01\]" 404 \[0-9\]+.*$
\# Option: ignoreregex
\# Notes.: regex to ignore standard search for favicon.ico and robots.txt
ignoreregex = .*(robots.txt|favicon.ico)
Problembehebung¶
Bekannte Probleme¶
Bekannte Probleme, Erklärungen und Lösungen findet man in der FAQ ????????
vsftpd absichern¶
vsftpd mit PAM-Authenifizierung übermittelt Hostnamen in die /var/log/secure, welche auch standardmäßig von fail2ban überwacht wird. Durch Probleme bei der Namensauflösung kann es dazu kommen, dass der Filter fehlschlägt.
Die Lösung ist, vsftpd mittels des Eintrages
dual\_log\_enable=YES
auf zwei Logdateien umzustellen und fail2ban anzuweisen, statt der vordefinierten /var/log/secure die /var/log/vsftpd.log zu überwachen.