PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fail2ban und dovecot failregex



Muling
02.01.2009, 19:47
Hi,

Ich habe in letzter Zeit häufig Brute-Force Atacken auf meinen dovecot pop3/imap Server registriert. Daher wollte ich ihn mit fail2ban absichern, da ich bei anderen Diensten sehr gute erfahrungen gemacht habe.

Nur lieder kann ich keinen Failregex finden, der passt. Die fehlerhaften Login-Versuche kann man in verschiedenen Logs finden:

/var/log/auth.log

Jan 2 20:36:24 cl-t116-190cl dovecot-auth: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=dovecot ruser= rhost=96.57.118.132
Jan 2 20:36:24 cl-t116-190cl dovecot-auth: (pam_unix) check pass; user unknown

/var/log/mail.info

Jan 2 20:41:23 cl-t116-190cl dovecot: auth(default): shadow(oscar,96.57.118.132): unknown user
Jan 2 20:41:24 cl-t116-190cl dovecot: pop3-login: Aborted login: user=<oscar>, method=PLAIN, rip=96.57.118.132, lip=70.38.22.193
Jan 2 20:41:26 cl-t116-190cl dovecot: auth(default): pam(oscar,96.57.118.132): pam_authenticate() failed: User not known to the underlying authentication module

/var/log/mail.log

Jan 2 20:43:50 cl-t116-190cl dovecot: auth(default): pam(owen,96.57.118.132): pam_authenticate() failed: User not known to the underlying authentication module
Jan 2 20:43:50 cl-t116-190cl dovecot: auth(default): shadow(owen,96.57.118.132): unknown user


Was könnte ich in /etc/fail2ban/filter.d/dovecot.conf schreiben? Ich habe verschiedene Regex'es ausprobiert doch hat keiner gegriffen. Ich kann auch nicht wirklich viel Doku zu fail2ban finden.

Ich wäre sehr dankbar wenn ihr euch das mal ansehen könntet.

Gruß, Muling

doc
02.01.2009, 20:28
das problem hatte ich auch, habe dann in der dovecot.conf logging to syslog aktiviert, und dann ham die regexps gegriffen.

ne erklärung dafür habe ich nicht, weil mit allen anderen programmen läuft es in beliebigen logfiles und regexps, aber mit dovecot nicht.

edit: hmmh wobei sieht ja nach syslog aus ...

probier doch einfach mal mit grep ob deine regexps greifen, weil dann sollte das eigentlich auch in fail2ban laufen.
Eigentlich, weil wie bereits erwähnt, bei mir das erst ging nachdem ich die manuellen logfilepaths in der config deaktivierte, und syslogfacility: mail ausgewählt habe.

Muling
02.01.2009, 21:04
Hmm, also Die einzige Option die ich in der /etc/dovecot/dovecot.conf unter Logging gesetzt habe ist syslog_facility = mail. Von daher sollte schon Syslog genutzt werden. Sowas hab ich auch schon irdengwo gelesen.

Kannst du mir denn sagen welche Regexp du benutzt, oder einen Link wie man die Regexps zu formulieren hat? Ich steig da nicht wirklich durch.

Gruß, Muling

doc
02.01.2009, 21:59
hmmh ich nutze eine andere auth method als du.

ich würde es einfach mal mit:


Aborted login:.*rip=<HOST>

und /var/log/mail.info

probieren.

mein regexp ist auch recht simpel, nutze sql auth und habe nach einigen tests gesehn, das nach jedwegen fehlerhaften login immer eine zeile ala:


pop3-login: Disconnected: user=<xxxxxxxx>, method=PLAIN, rip=xxxxxxxxxxx, lip=xxxxxxxxxx, TLS

ausgespuckt wird.

und habe einfach das


failregex = Disconnected:.*rip=<HOST>

bei mir.

ist eventuel nicht failsafe, funktioniert bisher aber einwandfrei

und wenn es so läuft kannste das ja noch verfeinern, ich war bisher zu faul dazu :p

Muling
02.01.2009, 22:56
Dank dir!

Funktioniert einwandfrei. Ich werde das dann noch etwas verfeinern wenn Bedarf besteht.

Allerdings funktioniert es komischerweise nicht wenn man es mit fail2ban-regex testen möchte, sondern nur wenn man es in die Config-Datei schreibt und fail2ban neustartet.

Vielen Dank für deine Hilfe.

Gruß, Muling

BeNeDeLuX
05.03.2009, 09:59
Versuch es mal damit:

failregex = (?:imap|pop3)-login: Disconnected: user=<.*>, method=(?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5), rip=<HOST>, lip

Greez BeNe