FAQ german
Allgemeines
Was ist Fail2Ban?
Fail2Ban durchsucht Logdateien wie /var/log/pwdfail oder /var/log/apache/error_log und blockiert IP-Adressen, die zu viele fehlgeschlagene Loginversuche haben. Es aktualisiert Firewallregeln, um die IP-Adressen zu sperren. Fail2Ban kann mehrere Logfiles lesen - wie die von sshd oder apache.
Ist Fail2Ban freie Software?
Fail2Ban ist Freie Software, Sie können sie unter den Bedingungen der GNU General Public License Version 2 oder optional jede neuere Version ändern oder weitergeben.
Welche Abhängigkeiten hat Fail2Ban?
Die genauen Abhängigkeiten sind in der Sektion Requirements zu finden.
Wie interpretiere ich die Versionsnummer von Fail2Ban?
Die Struktur der Versionsnummer ist major.minor.revision. Die derzeitige major Version ist 0, die Richtlinie für minor ist wie folgt:
- ungerade Zahlen (0.5, 0.7, etc) sind Entwicklerversionen
- gerade Zahlen (0.6, 0.8, etc) sind stabile Versionen
Neue Versionen und Änderungen an der API werden in den Entwicklerversionen durchgeführt. Stabile Versionen beinhalten nur Security Updates und kleine Verbesserungen.
Revisionen sind benannt nach alpha, beta, release candidate und stable. Stabile Versionen mit einer geraden minor Versionsnummer heissen immer stable. Entwicklerversionen folgen dem Schema das sie zuerst alpha mit steigender Stabilität beta und kurz vor dem Release release candidate benannt werden.
Wo finde ich Hilfe, kann ein neues Feature beantragen oder einen Bug Report erstellen?
Die erste Anlaufstelle ist diese Seite. Lesen Sie die FAQ das Manual und die HOWTOs. Suchen Sie in den Archiven der Mailing Liste und des Bug Trackers. Wenn Sie keine Antwort gefunden haben registrieren Sie sich bei der Mailing Liste. Die Registrierung ist notwendig um Spam Probleme zu vermeiden.
Wenn Sie überzeugt davon sind einen neuen Bug gefunden zu haben können Sie ein neues Ticket unter anlegen.
Wenn Sie ein neues Feature vorschlagen möchten Erstellen Sie hier ein neues Ticket.
Stellen Sie bitte in beiden Fällen sicher, dass nicht bereits ein Ticket vorhanden ist das Ihren Anwendungsfall abdeckt.
In jedem Fall sollten sie die folgenden Informationen angeben:
- Die Version von Fail2Ban die Sie benutzen (-V oder --version)
- Die Python Version
- Wie haben Sie Fail2Ban installiert (Sourcen, .deb, .rpm, etc)
- Relevante Teile der Konfiguration von Fail2Ban
- Logging Ausgabe von Fail2Ban unter Benutzung des DEBUG mode (-vvv und loglevel = 4)
Und natürlich eine genaue und klare Beschreibung des Problems.
Installation
Gibt es RPM/DEB Pakete für Fail2Ban?
Natürlich. Sie finden sie auf der Downloads Seite
Wie installiere ich Fail2Ban von einem RPM/DEB/Gentoo Paket?
Wenn Sie rpm benutzen:
rpm -Uvh fail2ban-X.X.X.rpm
Wenn Sie die Anforderung haben ein src.rpm (Source Paket) zu installieren gehen Sie folgendermaßen vor:
rpm --rebuild fail2ban-X.X.X.src.rpm
Danach finden Sie das Binary rpm unter /usr/src/RPM/RPMS/ix86
rpm -Uhv /usr/src/RPM/RPMS/ix86/fail2ban-X.X.X.rpm
Bitte überprüfen Sie Ihre PATH Variable (/usr/src/RPM/RPMS/ix86/) bevor Sie etwas ändern.
Fail2Ban von einem .deb Paket installieren:
dpkg -i fail2ban-X.X.X.deb
Fail2Ban unter Gentoo installieren:
emerge fail2ban
Konfiguration
Was ist das Hauptkonfigurationsfile von Fail2Ban?
Die Fail2Ban Konfiguration ist relativ einfach. Es gibt nur ein Konfigurationsfile in dem Fail2Ban insgesamt konfiguriert wird. Die Datei befindet sich unter /etc/fail2ban.conf
Sie können jeden beliebigen Texteditor verwenden um die Datei zu bearbeiten: vim, emacs, joe, ae...
Die Datei muss als root editiert werden.
Wie kann ich Fail2Ban konfigurieren?
Dieser Schritt ist im Detail unter HOWTOs erklärt.
Kann ich bestimmte User Accounts davon ausschließen eine IP Sperre auszulösen?
(I don't know, perhaps that's a feature request.)
Da Fail2Ban nichts über Usernamen weiß ist dies nur möglich indem bestimmte User in der Regular Expression ausgeschlossen werden.
Security
Was muss ich bei der Benutzung von Fail2Ban beachten?
Especially on systems which provide ssh/CGI/PHP services to unknown users, it is possible to block other users from ssh and probably other services. How would a user do so? The user could issue:
logger -p auth.warning -t 'sshd[123]' 'Illegal user user1 from 1.2.3.4'
Or the malicious user may write via PHP's openlog()/syslog() to syslog.
Lösung #1: This security hazard can be handled via ownership/permissions of /dev/log, which allows logging to all the users by default. Just add a group log, add all daemons and root to that group and be happy.
Troubleshooting
I have Postfix on my system but no "mail" command. How can I get e-mail notifications?
You have probably the sendmail command. Copy /etc/fail2ban/action.d/mail-whois.conf to /etc/fail2ban/action.d/mail-whois.local, edit this file and replace mail with sendmail. Here is an example:
actionban = echo -en "From:root <fail2ban> To: <dest> Subject: [Fail2Ban] <name>: banned <ip> Hi,\n The IP <ip> has just been banned by Fail2Ban after <failures> attempts against <name>.\n\n Here are more information about <ip>:\n `whois <ip>`\n Regards,\n Fail2Ban"|sendmail -t
mail.conf can be modified too.
Why do my CVS users using SSH getting blocked?
If your are using the Eclipse CVS integration with SSH, then each access of the CVS results in a failed access before a valid one is done. As a consequence your CVS users get banned from time to time.
I get the error "Please check the format and your locale settings"
The error looks like this:
ERROR: time data did not match format: data=Mar 21 10:00:50 fmt=%b %d %H:%M:%S ERROR: Please check the format and your locale settings.
This is a known bug. Since 0.6.1, Fail2ban uses your locale settings for date and time format. However, some daemons do not take care of locale and write their log messages using the POSIX standard. Please look at this bug for more details.
You can try to override the LANG variable:
# LANG=en_US /etc/init.d/fail2ban restart
You can get all the available locale with:
# locale -a
How do I increase verbosity?
In order to increase the verbosity of Fail2ban, use the command line option -vvv for fail2ban-client and fail2ban (only for 0.6.x). Set loglevel to 4 in /etc/fail2ban/fail2ban.conf (only for > 0.6.x).