Fail2Ban mehr Schutz gegen Spam und Hacker
Es ist schon extrem nervig! Wenn man ,einen oder mehrere Server am Netz hat, kann man schön sehen was im da eigentlich los ist. Ständige Attacken, auf E-Mail Postfächer, Brutforce Attacken und und und. Leider gibt es immer wieder so ein paar Vollpfosten die sich aus so einem Bödsinn ein Hobby gemacht haben. Ich würde denen ja raten, sucht euch ein anderes Hobby, Fahrradfahren, stricken, Häkeln oder so was. Da halt sich dann der Schaden in grenzen. Es ist ein ständiger Kampf gegen Windmühlen.
Fail2Ban Das Kleine Helferlein das die Server Administratoren etwas besser schlafen lässt
Dieses Tool sperrt nach x Fehlversuchen eines Logins die IP-Adresse, entweder für eine gewisse Zeit oder dauerhaft. So kann man z.b. die Attacken auf den Mailserver unterbinden.
Fail2Ban installieren (Plesk – Debian)
Installation Paket holen und installieren
apt-get install fail2ban
update-rc.d fail2ban defaults
Konfiguration von Fail2Ban
Die Standard Konfiguration von Fail2Ban ist eigentlich schon ausreichend, wenn man die einzelnen Module die zu schützen sind auch aktiviert. Ihr findet nachdem Ihr das Tool installiert habt einen Ordner Namens fail2ban im Root/ect/ in diesem sind 2 Ordner action.d sowie filter.d und 2 Dateien einmal die Datei fail2ban.conf und einmal eine Datei Namens jail.conf
In der Datei jail.conf findet Ihr die Filterregeln die Fail2Ban von Haus aus mittbringt. Die eigentlichen Filter sind im Ordner filter.d in jeweils einzelnen Dateien angelegt.
Wenn ich das komplette Programm aktivieren wollt müsst ich nur in der jail.conf die Einträge auf true umstellen. Wie im Beispiel für proftp.
[proftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = proftpd
logpath = /var/log/proftpd/proftpd.log
maxretry = 3
Sinnvoll ist besonders, die Einstellung für den Postfix. Da hier sehr viel und hartnäckig attackiert wird.
Dafür muss aber auch in der entsprechenden Filterdatei > root/ect/fail2ban/filter.d/ < etwas umgeschrieben werden.
Standard sieht diese so aus
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 728 $
#[Definition]
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named „host“. The tag „<HOST>“ can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values: TEXT
#failregex = reject: RCPT from (.*)\[<HOST>\]: 554
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
Hier greift aber nicht der sasl-login versuch. Um diesen aber auch zu bekommen. Wie folgt vorgehen. (so sollte die postfix.conf aussehen)
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 728 $
#[Definition]
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named „host“. The tag „<HOST>“ can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values: TEXT
#failregex = warning: (.*)\[\]: SASL LOGIN authentication failed: authentication failure
reject: RCPT from (.*)\[\]: 554 5.1.1
reject: RCPT from (.*)\[\]: 450 4.7.1
reject: RCPT from (.*)\[\]: 554 5.7.1
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#ignoreregex =
Danach sollte die Fail2Ban jail.conf auch noch angepasst werden. (> root/etc/fail2ban/jail.conf <
Da postfix schon angelegt ist solltet Ihr die Standard Einträge mit einer # vor den Einträgen deaktivieren und anschließend das hier einfügen.
[postfix]
enabled = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
bantime = 2592000
maxretry = 3
Nachdem Ihr die dateien Umgeschrieben habt müsst Ihr Fail2Ban einmal neu Starten.
/etc/init.d/fail2ban restart = Befehl neustart
/etc/init.d/fail2ban stop = fail2ban Stoppen
/etc/init.d/fail2ban star = fail2ban Starten
Wenn alles läuft wie es soll könnt Ihr die geblockten IP-Adressen mit dem Befehl > iptables –nL < einsehen.
Aber Vorsichtig mit der Bantime (Zeit die die IP-Adresse geblockt wird) bei und ist diese sehr hoch oder gar auf komplett auf wiedersehen. Stellt also die Zeit und die Versuche (maxretry) so ein wie es euch am besten passt.
Hier ein Paar Beispiele für die Zeit Einstellung, gemessen wird immer in Sekunden.
- 2592000 = ein Monat
- 1209600 = Zwei Wochen
- 604800 = eine Woche
- 86400 = einen Tag
- 3600 = eine Stunde
- 1800 = 30 Minuten
- 600 = 10 Minuten
-1 = für Immer
So einfach kann man mit den richtigen Helfern großen schaden abwenden.
Aber Vorsicht! Fail2Ban nütz nicht wenn Ihr unsichere Software auf dem Server habt, über die Spam versendet werden kann. Fail2Ban hilft lediglich gegen das eindringen.