Fail2ban - Absichern des Maildienstes

Flip

New Member
Hallo zusammen !

Ich habe nun seit einiger Zeit auf meinem VServer (Betriebssystem: Ubuntu 8.04 LTS 64-Bit) Fail2ban in Betrieb genommen. Bisher schütze ich damit meine SSH & FTP Zugänge. Funktioniert auch ohne Probleme, bei einem falschen Passwort wird das gesamte System auf allen Ports für die IP dicht gemacht.

Nun würde ich das gleiche gerne mit imap,pop,smtp machen. HAbe mich dazu auch schon etwas durch das Netz gewuselt aber nicht wirklich etwas gefunden was funktioniert.

Ich habe dafür ein Testmailaccount erstellt und versucht mit einem falschen Passwort emails abzurufen.

geloggt wurde das in: /var/log/mail.info mit...

Oct 18 21:22:38 ns imapd: IMAP connect from @ [91.8.**.**]checkmailpasswd: FAILED: test - short names not allowed from @ [91.8.**.**]ERR: LOGIN FAILED, ip=[91.8.**.**]

Die in der jail.conf vorhandenen Filter greifen leider nicht (Logdateilink natürlich angepasst) und auch verschiedene Lösungsansätze die ich bisher gefunden habe greifen auch nicht. Ich habe weiterhin Zugriff auf das System.

Grüße
 
Hallo!
Welcher IMAP, POP und SMTP daemon läuft denn bei dir? Vergleich die regex Ausdrücke der einzelnen Filter (/etc/failt2ban/filter.d/) mit deinen Logfiles.Schau auch in deine jail.conf, ob die richtigen Logfiles zur Auswertung herangezogen werden. mail.info macht mich schon stutzig - sollte eigentlich die Datei mail.log sein.

mfG
Thorsten
 
Ich kann zwar keine direkte Lösung bieten, aber bei mir musste ich den RegEx-Ausdruck anpassen, weil mein QMail leicht andere Logeinträge macht.

Man kann die Filter mit dem Tool "fail2ban-regex" an Hand der Logdatei prüfen.

Übrigens ist es bei mir auch mail.info bzw. mail.err oder mail.warn. mail.log ist immer leer.
 
Ich habe mit einem guten Freund von Blocklist.de gesprochen und kann dir vielleicht damit helfen (alles ungetestet)

Code:
fail2ban-regex  /var/log/log-datei.log /etc/fail2ban/filter.d/filter-datei.conf

Hiermit kannst du prüfen ob deine RegEx funktioniert.

Ansonsten würde ich als RegEx folgendes empfehlen:
Dein Logfile Auszug:
Code:
geloggt wurde das in: /var/log/mail.info mit...

Oct 18 21:22:38 ns imapd: IMAP connect from @ [91.8.**.**]checkmailpasswd: FAILED: test - short names not allowed from @ [91.8.**.**]ERR: LOGIN FAILED, ip=[91.8.**.**]

RegEx:
Code:
(.*): FAILED: - short names not allowed from @ \[<HOST>\](.*)

Hoffe dir damit ein wenig weiter geholfen zu haben.
 
Last edited by a moderator:
Erst einmal vielen Dank an euch für die schnellen Antworten !
@its Ich mußte die Regel noch etwas abändern, da die Lösung leider noch nicht funktioniert hatte, war mir aber eine sehr gute Hilfe ! Da ich mich mit den Regeln und der Syntax noch nicht so gut augekannt habe.

Hier nun die Lösung:

Filter erstellt: mailban-filter1.conf

HTML:
failregex = (.*) FAILED: (.*) - short names not allowed from @ \[<HOST>\](.*)

Regex mit meinen Pfaden durchlaufen lassen:

HTML:
fail2ban-regex  /var/log/mail.info /etc/fail2ban/filter.d/mailban-filter1.conf

Hier der Teil in der Jail.conf

HTML:
[mailban-filter1]

enabled = true
filter    = mailban-filter1
port = all
banaction = iptables-allports
port     = anyport
logpath  = /var/log/mail.info
maxretry = 1

Einmal falsches Passwort verwendet und ...zack vom gesamten System gesperrt :) So sollte es sein.
Vielen Dank nochmal !

ps. Bei mir sind die eigentlichen logs wie mail.log usw. leider alle Leer, deshalb mail.info wo alles geloggt wird bei mir.
 
Last edited by a moderator:
Einmal falsches Passwort verwendet und ...zack vom gesamten System gesperrt So sollte es sein.
Vielen Dank nochmal !

Wobei die Frage noch ist obs wirklich sinnvoll ist nach 1 falschen Passeingabe schon zu sperren. Ich hab meine Mailclients so eingestellt das passes immer von Hand eingegeben werden. Da passiert mir schnell mal nen Schnitzer.
Je nach deiner Nutzung sollte hier evtl. sinnvoll sein auf 3 o.ä. Fehleingaben hochzusetzen.


Gruß Sven
 
Ich würde die Anzahl der Fehlschläge auch höher stellen, da der TB3 sich per default nur mit dem Kurznamen der E-Mailadresse versucht einzuloggen und die Einstellungen zu testen.
Dadurch kann dann ein User schnell fälschlicherweise gesperrt werden.
 
Back
Top