[Tutorial] Zarafa mit fail2ban absichern
Hallo zum zweiten Teil meiner kleinen Security Reihe!
Diesmal geht es darum Zarafa mit fail2ban abzusichern.
Was ist fail2ban?
Fail2ban dient dazu Angreifer des Webservers per iptables auszusperren. Dies funktioniert vollautomatisch, es muss nur einmal konfiguriert werden. Eine Erklärtung zur Installation und Einrichtung gibt es im 1. Teil der Serie.
- [Tutorial] Server mit fail2ban absichern
- [Tutorial] Zarafa mit fail2ban absichern
- [Tutorial] WordPress Blog mit fail2ban absichern
Was ist Zarafa?
Zarafa ist eine Open Source Collaboration Software und eine gute Alternative zu Microsoft Exchange. Unterstützt werden u.a. imap, impas, pop3, pop3s und eine Exchange Ähnliche Integration in Outlook. Zusätzlich lässt sich auch eine Pushfunktion einrichten.
Mir ist aufgefallen, dass fail2ban zwar das postfix Log überwacht, nicht jedoch das Zarafa Gateway Log unter /var/log/zarafa/gateway.log. Deshalb habe ich eine kleine Erweiterung geschrieben, die genau das erledigt und IPs mit fünf fehlgeschlagenen Loginversuchen sperrt.
Die Konfiguration ist sehr simple, wie im ersten Teil erwähnt, lässt sich fail2ban leicht mit eigenen Skripten erweitern. Los gehts!
Zuerst erstellen wir eine neue Datei namens zarafa.conf unter /etc/fail2ban/filter.d/ mit folgendem Inhalt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # Fail2Ban filter for zarafa authentication failures # # Author: http://kopfkino.irosaurus.com # # [INCLUDES] before = common.conf [Definition] failregex = Failed to login from : ignoreregex = |
Danach öffnen wir die Datei /etc/fail2ban/jail.local und fügen am Ende folgenden Code ein
1 2 3 4 | [zarafa] enabled = true port = pop3,pop3s,imap,imap2,imap3,imaps,submission,465,smtp,smtps logpath = /var/log/zarafa/gateway.log |
Vermutlich sind das etwas zu viele Ports die überwacht werden, aber schaden kann es nicht und es funktioniert tadellos 😉
Im Anschluss noch fail2ban neustarten, damit das neue Jail aktiv wird.
sudo fail2ban-client restart
Fertig! 😀 Nach ein paar Stunden dürfte man schon die ersten geblockten IPs im fail2ban Log sehen.
Falls das Tutorial gefallen hat, dann freuen wir uns über einen Klick auf eines der Werbebanner oder eine kleine Spende um die laufenden Kosten für unseren Server zu decken oder neue Projekte zu finanzieren – Danke! 😀
Gruß iro
[Last Edit: 17.05.2014]
Intressanter Lösungsweg 😉
Ich setze selber Zarafa im Unternhemensumfeld meiner Kunden ein und muss diese gegen Attacken aus dem WordWideWeb Absichern.
fail2ban hilft schonmal die scriptkiddys fern zu halten 😉
was noch gemeiner ist eine auto-abuse an den ISP!
*sehr einfach mit fail2ban zu realisieren
Deine Lösung bedarf in meinem fall noch etwas Anpassung damit sie sauber funktioniert ansonsten eine TOP Anleitung für die eher unerfahren admins 😉
Leider funktioniert Deine Lösung oben nicht, weil die Filterbeschreibung (in der Zwischenzeit?) fehlerhaft ist.
Der korrekte Eintrag im Filter-File lautet
failregex = Failed to login from :
Die Regex muss in der Lage sein, die IP-Adresse zum blockieren aus dem String zu filtern. Dazu dient das Pattern . Ohne diese Angabe bekommst Du zum einen eine Fehlermeldung beim Starten von fail2ban, außerdem wüsste f2b nicht, welche IP-Adresse in der Firewall zu blocken ist.