Mail Server IP's fehlerhafter Loginversuche am Mailserver (dovecot) per DSM-Autoblock sperren

Status
Für weitere Antworten geschlossen.

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wenn du fail2ban über stop stoppst wird der Socket sauber geschlossen. Hast du etwa fail2ban man mittels kill oder killall "beendet". Die genannte -x Option im Startaufruf des Clients hast du mal probiert?
Und wo genau hast du den RegExp eingebaut? Hoffentlich nicht in die Hauptkonfig ;-) der gehört in ein filter File
 

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Hallo,

öhm, ich hab den Ausdruck in die fail2ban.conf eingebaut. Hab es wieder auskommentiert. :)
Muss ich da ein eigenes File in ../filter.d/ anlegen oder kommt der Eintrag in die sieve.conf? -> Hab gerade was im Netz gefunden...

Der Prozess wird überhaupt nicht gestartet daher kann ich ihn mit kill oder killall nicht beenden. Die .sock Datei wird aber trotzdem angelegt.
Mit dem -x Parameter habe ich es auch versucht.

Rich (BBCode):
meineDS> /opt/local/bin/fail2ban-client -c /opt/etc/fail2ban -s -x /var/run/fail2ban/fail2ban.sock start
ERROR  Unable to contact server. Is it running?

oder

Rich (BBCode):
meineDS> /opt/local/bin/fail2ban-client -c /opt/etc/fail2ban -x -s /var/run/fail2ban/fail2ban.sock start
WARNING 'action' not defined in 'php-url-fopen'. Using default value
WARNING 'action' not defined in 'lighttpd-fastcgi'. Using default value
2012-03-25 12:05:38,849 fail2ban.server : INFO   Starting Fail2ban v0.8.4
2012-03-25 12:05:38,852 fail2ban.server : INFO   Starting in daemon mode
ERROR  Could not start server. Maybe an old socket file is still present. Try to remove /var/run/fail2ban/fail2ban.sock.                 If you used fail2ban-client to start the server, adding the -x option will do it
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
der Ausdruck muss in ein filter File unterhalb von filter.d/ Der Name spielt keine Rolle, einfach möglichst ohne Leer-und Sonderzeichen in Namen. In /opt/etc/fail2ban/jail.conf einfach ein jail definieren welches das Logfile von dovecot als Quelle und dein Filterfile hat
 

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Das habe ich mittlerweile schon gemacht.
In /etc/fail2ban/filter.d/ eine dovecot.conf mit dem regex-Inhalt angelegt.
Anschließend mit fail2ban-regex getestet. Funktioniert.

Dann in der jail.conf (Überall ist immer noch die Rede von einer jail.local. Das ist wohl überholt?) am Ende folgenden Eintrag zugefügt:

Rich (BBCode):
[dovecot]

enabled  = true
port     = imap,imaps,pop3,pop3s
filter   = dovecot
logpath  = /log/opt_log/mail.log
action   = iptables-multiport[named=dovecot-auth, port="pop3,pop3s,imap,imaps", protocol=tcp]
maxretry = 4
findtime = 1200
bantime  = 600

Aufruf von:
Rich (BBCode):
 /opt/local/bin/fail2ban-client -c /etc/fail2ban -x -s /var/run/fail2ban/fail2ban.sock start

Und wieder die Meldung:
Rich (BBCode):
WARNING 'action' not defined in 'php-url-fopen'. Using default value
WARNING 'action' not defined in 'lighttpd-fastcgi'. Using default value
2012-03-25 14:38:47,924 fail2ban.server : INFO   Starting Fail2ban v0.8.4
2012-03-25 14:38:47,928 fail2ban.server : INFO   Starting in daemon mode
ERROR  Could not start server. Maybe an old socket file is still present. Try to remove /var/run/fail2ban/fail2ban.sock. If you used fail2ban-client to start the server, adding the -x option will do it

Ich habe den Ordner "fail2ban" wieder zurück nach /etc kopiert da fail2ban-regex beim Testen des regex-Files einen Fehler brachte.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wegen dem socket:bei mir wurden Teile von fail2ban unter /usr/share/fail2ban installiert du hast sie aber unterhalb von /opt. Möglich dass dies Pfadstress gibt. Es gibt eine setup.cfg im gleichen Verzeichniss wie die setup.py. Dort kann man den Installationspfad angeben und danach setup ausführen
Wegen deinem jail: stimmt denn der Pfad /log? Den gibt es normalerweise auf einer DS ned. Normalerweise nimmt man sich die vorhandene Konf und speichert sie als jail.local. Dann ändert man nur diese weil jail.conf bei einem Update normalerweise überschrieben wird
 

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Jupp, den Logpfad habe ich selber angelegt.
Pfad /log und dann symlinks auf /var/log und /opt/var/log.
So habe ich alle Logs an einem Ort und muss nicht ständig in die Pfade wechseln.

Bei mir sind auch Teile nach /usr/share/fail2ban installiert worden. Du meinst also ich sollte den Ursprungspfad
Rich (BBCode):
install-purelib=/usr/share/fail2ban
ändern? Worauf? /opt/include/ ?

So wie es aber aussieht bin ich nicht der einzige mit diesem merkwürdigen Problem: http://www.gargi.org/archive/index.php/t-211.html
Bin da grad mal am lesen.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich würde den Pfad mal genau so lassen wie er ist. Dann installieren und erstmal nichts nach /opt schieben. Dann probieren ob der Server startet
 

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Also ich habe mir mal noch python2.4 installiert und fail2ban noch mal mit python2.4 als Interpreter installiert. Anschließend in einer Konsole den Server gestartet.

Rich (BBCode):
meineDS> /opt/bin/python2.4 /opt/local/bin/fail2ban-server  -f
2012-03-25 15:52:31,989 fail2ban.server : INFO   Starting Fail2ban v0.8.4
2012-03-25 15:53:21,733 fail2ban.comm   : DEBUG  Command: ['set', 'logtarget', '/var/log/fail2ban.log']

Und danach den Client in einer zweiten Konsole
Rich (BBCode):
meineDS> /opt/bin/python2.4 /opt/local/bin/fail2ban-client reload
WARNING 'action' not defined in 'php-url-fopen'. Using default value
WARNING 'action' not defined in 'lighttpd-fastcgi'. Using default value

Prozess prüfen
Rich (BBCode):
meineDS> ps | grep fail2ban
 7642 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f
 7644 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f
 7645 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f
 7646 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f
 7652 root      2580 D    grep fail2ban

Es scheint wirklich am python zu liegen.
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Also es sieht imho so ganz gut aus:

Rich (BBCode):
MailCore> ps | grep fail2ban
 7681 root     11268 S    /opt/bin/python2.4 /volume1/@optware/local/bin/fail2ban-server -b -s /v
 7682 root     11268 S    /opt/bin/python2.4 /volume1/@optware/local/bin/fail2ban-server -b -s /v
 7683 root     11268 S    /opt/bin/python2.4 /volume1/@optware/local/bin/fail2ban-server -b -s /v
 7684 root     11268 S    /opt/bin/python2.4 /volume1/@optware/local/bin/fail2ban-server -b -s /v
 7690 root      2584 S    grep fail2ban


In /opt/etc/init.d habe ich ein S58fail2ban Script angelegt welches ich aus dem gargi-link übernommen habe.
Nach dem ausführen und Prozessprüfung erhalte ich obige Ausgabe.

Jetzt habe ich die DS mal gebootet aber entweder wird das Script beim Start nicht ausgeführt oder es gab wieder einen Fehler.
 

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Ja, aber mit 2.5 kann ich den Client gar nicht starten und mit 3 kann ich fail2ban nicht mal installieren.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wegen der doppelten /
Code:
meineDS> ps | grep fail2ban 
7642 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f 
7644 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f 
7645 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f 
7646 root     11532 S    /opt/bin/python2.4 /opt/local//bin/fail2ban-server -f 
7652 root      2580 D    grep fail2ban
habe das gemeint.
Bei mir läuft fail2ban definitiv mit python 2.5.6, mit dem 2.4 habe ich es nie probiert. Würde ich auch ned probieren, wenn das Manual ja eher davon abrät ;-)
 

NASe

Benutzer
Mitglied seit
11. Nov 2010
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Hier mal die aktuellen Logeinträge aus der fail2ban.log

Rich (BBCode):
2012-03-25 16:53:24,258 fail2ban.comm   : DEBUG  Command: ['stop']
2012-03-25 16:53:24,391 fail2ban.actions: DEBUG  Flush ban list
2012-03-25 16:53:24,394 fail2ban.actions.action: DEBUG  iptables -D INPUT -p tcp -m multiport --dports pop3,pop3s,imap,imaps -j fail2ban-default
iptables -F fail2ban-default
iptables -X fail2ban-default
2012-03-25 16:53:24,421 fail2ban.filter : DEBUG  dovecot: filter terminated
2012-03-25 16:53:24,446 fail2ban.actions.action: DEBUG  iptables -D INPUT -p tcp -m multiport --dports pop3,pop3s,imap,imaps -j fail2ban-default
iptables -F fail2ban-default
iptables -X fail2ban-default returned successfully
2012-03-25 16:53:24,449 fail2ban.actions: DEBUG  dovecot: action terminated
2012-03-25 16:53:24,452 fail2ban.jail   : INFO   Jail 'dovecot' stopped
2012-03-25 16:53:24,455 fail2ban.server : DEBUG  Removed socket file /var/run/fail2ban/fail2ban.sock
2012-03-25 16:53:24,458 fail2ban.server : DEBUG  Socket shutdown
2012-03-25 16:53:24,463 fail2ban.server : DEBUG  Remove PID file /var/run/fail2ban/fail2ban.pid
2012-03-25 16:53:24,465 fail2ban.server : INFO   Exiting Fail2ban
2012-03-25 16:54:02,068 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.4
2012-03-25 16:54:02,081 fail2ban.jail   : INFO   Creating new jail 'dovecot'
2012-03-25 16:54:02,086 fail2ban.jail   : INFO   Jail 'dovecot' uses poller
2012-03-25 16:54:02,394 fail2ban.filter : INFO   Added logfile = /log/opt_log/mail.log
2012-03-25 16:54:02,407 fail2ban.filter : INFO   Set maxRetry = 4
2012-03-25 16:54:02,451 fail2ban.filter : INFO   Set findtime = 1200
2012-03-25 16:54:02,463 fail2ban.actions: INFO   Set banTime = 600
2012-03-25 16:54:02,661 fail2ban.jail   : INFO   Jail 'dovecot' started

Sieht doch eigentlich ganz vielversprechend aus. :)

Hier mal ein Zitat von Gargi:
"Heute habe ich eine Rückmeldung von Cyril erhalten :) Also er meint, dass er auch schon was von Probs mit Python 2.5 gehört hat, aber wohl eher an 2.5 für ARM selbst liegt ( siehe Bugreport : http://bugs.python.org/issue4942 ) . Wenn möglich sollen wir das mal auf der neuen Version 2.6 probieren.
Ich muss mal schauen, wie man die auf die NSLU2 bekommt.
Zudem hat er das Tutorial auf myslug.de auf der fail2ban Page verlinkt http://www.fail2ban.org/wiki/index.php/HOWTOs
Das fand ich auch prima :)"

Also könnte das der Grund sein warum es bei mir mit der 2.5 nicht funzt.

Was halt noch nicht funktioniert ist der automatische Start. Das Script liegt in /usr/syno/etc.defaults/rc.d/...
Wenn ich "S58fail2ban start" ausführe startet das Script auch. Aber bei Boot der DS nicht.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat