exim4 login retry limit

hybrid

Registered User
Hi Leute, heute morgen wollte jemand wohl einfach nur meinen MTA belasten bzw hacken.. Hat innerhalb von Sekunden mehrere Login anfragen an Exim gesendet...

PHP:
Feb 19 07:22:13 ipop3d: Login failed user=html auth=html host=mail.ceacisp.org [67.102.163.46]
Feb 19 07:22:13 ipop3d: Login failed user=email auth=email host=mail.ceacisp.org [67.102.163.46]
Feb 19 07:22:13 ipop3d: Login failed user=ben auth=ben host=mail.ceacisp.org [67.102.163.46]
Feb 19 07:22:14 ipop3d: Login failed user=client auth=client host=mail.ceacisp.org [67.102.163.46]
Feb 19 07:22:14 ipop3d: Login failed user=info auth=info host=mail.ceacisp.org [67.102.163.46]

Ich hab jetzt mit iptables die IP Adresse geblockt.. d.h. das Problem ist im Endeffekt aus der Welt nur ist mir nun der Gedanke gekommen ob es möglich wäre, das der Login nach 3 Fehlversuchen für 20 Minuten gesperrt ist oder so ..

Ich hab schon mit der suche probiert aber irgendwie sind mir die passenden Begriffe nicht eignefallen. Kann mir da jemand Tipps geben ?
 
Das wäre sehr einfach mit fail2ban und einem entsprechenden Regex zu realisieren.

--marneus

Edit: Ungetestet, ohne Gewähr der fail2ban failregex in Deinem Fall:
Code:
failregex = Login failed [\w\s\=\.]* \[<HOST>\]
 
Last edited by a moderator:
Cool danke .. von fail2ban hab ich schon gelesen! Aber es is mir just im Momment nicht eingefallen!
 
Falls es sonst untergeht, ich habe da oben mal eine Regex für Fail2ban zusammengebastelt. Quick & Dirty - bitte testen und Feedback geben.

--marneus
 
Falls es sonst untergeht, ich habe da oben mal eine Regex für Fail2ban zusammengebastelt. Quick & Dirty - bitte testen und Feedback geben.

--marneus

Danke für das Regex ich habs schon Eingebaut .. aber irgendwo hakt es noch ! Die Kette für Exim wird in Iptables angelegt, aber irgendwie passiert nix, ich weiß noch nicht obs am Ausdruck liegt, probiere noch rum !
 
Hm, der Regex ist aber korrekt :confused: Du kannst die Regex für fail2ban prüfen lassen:
Code:
fail2ban-regex "line" "failregex"
Siehe auch hier.

--marneus
 
Dank für den Tipp, hab ich aber auch schon vorher ausprobiert(mit meiner erstellen exim.conf) da bringt er mir mir Sorry no Match ... hab auch auf Verdacht einfach dein Regex genommen un mit der /var/log/auth.log prüfen lassen kam aber das gleiche ! Wollt es dann mit einem Simplen versuch machen und einfach nur nur "Login failed" als Regex setzen aber das macht er auch nicht ! Ich probier mal weiter!
 
So .. ich hab jetzt weitestgehend alles Ausprobiert ! SSH per IPTables bannen geht auch ohne Probleme! Da ich aber mit dem Aufbau einer Regex nicht so vertraut bin weiß ich auch nicht ob nicht vielleicht doch ein Fehler darin enthalten ist. Hier nochmal ein Logauszug auf den fail2ban reagieren soll!

PHP:
Feb 20 14:27:39 vs123456 ipop3d[21602]: Login failed user=test auth=test host=blabla.dip1.t-ipconnect.de [217.123.45.6]
 
Hallo Hybrid,

also jeder RegEx Tester winkt meinen Regex durch *grml* Ich installiere mal fail2ban auf einer meiner Testkisten und jage das durch den Evaluator.

Grüße,
marneus
 
Brauchst du nicht ! Hab den Fehler indirekt gefunden .. bräuchte aber wenn möglich doch deine Hilfe! Das Problem liegt daran das im Hostnamen des Angreifers auch mal Zahlen vorkommen wenn das passiert spricht deine Regex nicht an!

EDIT: Zumindest hat es mit den Unterschiedlichen Hostnamen zu tun!
 
Last edited by a moderator:
Hier .. ein Beispiel ich hab die Zahlen etwas verdreht .. aber vom Aufbau her isses genau so in der auth.log

PHP:
Feb 20 15:01:51 vs123456 ipop3d[1887]: Login failed user=test auth=test host=pd345b0b1.dip0.t-ipconnect.de [217.23.112.133]

EDIT: Wenn ich die Log Datei durch den fail2ban-reg jage dann Zeigt er mir im Endeffekt alle Zeilen von dem Hack Angriff gestern. Aber die von mir selbst ausgeführten versuche nicht !
 
Last edited by a moderator:
Dann so:
Code:
failregex = Login failed [\w\s\=\.\d-_]* \[<HOST>\]

Vorsicht, geändert!
 
Last edited by a moderator:
Das kommt dabei raus wenn ich den neuen Regex testen will

Code:
Running tests
=============

Use regex line : Login failed [\w\s\=\.\d-_]* \[<HOST>\]
Use log file   : /var/log/auth.log

Unable to compile regular expression 'Login failed [\w\s\=\.\d-_]* \[(?:::f{4,6}:)?(?P<host>\S+)\]'
Cannot remove regular expression. Index 0 is not valid
Unable to compile regular expression 'Login failed [\w\s\=\.\d-_]* \[(?:::f{4,6}:)?(?P<host>\S+)\]'
Cannot remove regular expression. Index 0 is not valid



EDIT: Ohne den "_" hinter d- gehts !!!
 
Last edited by a moderator:
Funktioniert auch nicht, bringt die selbe Fehlermeldung wie ohne ... aber falls du es überlesen hast wenn ich den Underscore weg lasse funktionierts dann findet er auch die T-Online Hosts ..
 
Last edited by a moderator:
Back
Top