Plesk 12.5.x fail2ban

Thorsten

SSF Facilitymanagement
Staff member
Hallo!

Könnte hier mal jemand prüfen, ob nach einer Standardinstallation (kein Upgrade von 12.0) von Plesk 12.5.x irgendeine Jail funktioniert? Unter Debian 7.0 und Ubuntu 14.4 war dies in keinem Fall so. Und das trotz reichlich matches via fail2ban-regex.

mfG
Thorsten
 
Ich habe eine Clean Install von 12.5 am laufen mit Fail2Ban. Also bei mir wurden schon 2 IPs blockiert (ssh) und auch die Regel "recidive" hat schon gegriffen. Mein System ist allerdings Ubuntu 14.04 LTS und nicht Debian, wobei dies keinen Unterscheid machen sollte ;)

Hast du Fail2Ban über Plesk oder manuell installiert? Hast du die Config außerhalb deines Plesk modifiziert?
 
Ich habe Debian 7 und Plesk 12.5.3. Das einzige Jail was sich nicht starten lässt ist "plesk-modsecurity". Der Rest läuft und es wird auch hier und da mal eine IP gebanned (und unbanned).

Was sagt denn das Log?
 
Hallo!

Sorry, hat einen Moment gedauert.

Ubuntu 14.04.3 LTS
12.5.30 Update #14, last updated at Dec 10, 2015 01:38 PM

/var/log/auth.log
Code:
Dec 11 10:53:42 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
Dec 11 10:53:47 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
Dec 11 10:53:51 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
Dec 11 10:53:55 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
Dec 11 10:53:59 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
Dec 11 10:54:04 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
/etc/fail2ban/filter.d/sshd.conf
Code:
[ssh]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
maxretry = 2
/var/log/fail2ban.log
Code:
2015-12-10 14:02:09,247 fail2ban.jail           [1008]: INFO    Creating new jail 'ssh'
2015-12-10 14:02:09,293 fail2ban.jail           [1008]: INFO    Jail 'ssh' uses pyinotify
2015-12-10 14:02:09,318 fail2ban.filter         [1008]: INFO    Set jail log file encoding to ANSI_X3.4-1968
2015-12-10 14:02:09,323 fail2ban.jail           [1008]: INFO    Initiated 'pyinotify' backend
2015-12-10 14:02:09,330 fail2ban.filter         [1008]: INFO    Added logfile = /var/log/auth.log
2015-12-10 14:02:09,332 fail2ban.filter         [1008]: INFO    Set maxRetry = 2
2015-12-10 14:02:09,333 fail2ban.filter         [1008]: INFO    Set findtime = 600
2015-12-10 14:02:09,334 fail2ban.actions        [1008]: INFO    Set banTime = 600
2015-12-10 14:02:09,334 fail2ban.filter         [1008]: INFO    Set maxlines = 10
2015-12-10 14:02:09,407 fail2ban.server         [1008]: INFO    Jail ssh is not a JournalFilter instance
fail2ban-regex --print-all-matched /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
Code:
|  Dec 11 10:53:41 1990xx sshd[19275]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.159.xxx.xxx
|  Dec 11 10:53:42 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
|  Dec 11 10:53:47 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
|  Dec 11 10:53:51 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
|  Dec 11 10:53:55 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
|  Dec 11 10:53:59 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
|  Dec 11 10:54:04 1990xx sshd[19275]: Failed password for invalid user test from 193.159.xxx.xxx port 1481 ssh2
iptables -L
Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
f2b-plesk-wordpress  tcp  --  anywhere             anywhere             multiport dports http,https,7080,7081
f2b-plesk-modsecurity  tcp  --  anywhere             anywhere             multiport dports http,https,7080,7081
f2b-plesk-login  tcp  --  anywhere             anywhere             multiport dports 8880,8443
f2b-BadBots  tcp  --  anywhere             anywhere             multiport dports http,https,7080,7081
f2b-apache  tcp  --  anywhere             anywhere             multiport dports http,https,7080,7081
f2b-plesk-roundcube  tcp  --  anywhere             anywhere             multiport dports http,https,7080,7081
f2b-plesk-horde  tcp  --  anywhere             anywhere             multiport dports http,https,7080,7081
f2b-plesk-dovecot  tcp  --  anywhere             anywhere             multiport dports imap2,imap3,imaps,pop3,pop3s,sieve
f2b-plesk-postfix  tcp  --  anywhere             anywhere             multiport dports smtp,urd,submission
f2b-plesk-proftpd  tcp  --  anywhere             anywhere             multiport dports ftp,ftp-data,ftps,ftps-data
f2b-recidive  tcp  --  anywhere             anywhere
f2b-SSH    tcp  --  anywhere             anywhere             tcp dpt:ssh
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Chain f2b-BadBots (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-SSH (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-apache (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-dovecot (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-horde (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-login (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-modsecurity (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-postfix (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-proftpd (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-roundcube (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-plesk-wordpress (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain f2b-recidive (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
mfG
Thorsten
 
Hi,

ist der Server virtualisiert?
Es könnte evtl. helfen, bei banaction/action auf "firewallcmd-new" umzustellen. Bei einigen OpenVZ-Server kann das die Lösung sein.

Evtl. noch bei "backend" ein anderes ("polling") testen?

Sind in der /etc/fail2ban/filter.d/sshd.conf alle include-Zeilen enthalten, bzw. "before"-Anweisungen?
 
Habe hier Debian 7 laufen. Virtualisiert mit Virtuozzo.
Bei mir laufen die Jails - habe das gestern selber unfreiwillig getestet...
 
fail2ban mit iptables wirkungslos

Würde das Thema hier auch gern aufgreifen.

Wir sind auf einen frischen vServer mit Plesk 12.5 umgezogen und da es dort sehr viele Brute's auf den smtp_auth gab habe ich über Plesk auch das Fail2ban hinzugefügt.

Ein Jail musste ich mir anpassen, da keines der vorgegeben davon griff.
(Details kann ich gerne bei Bedarf posten).

Es werden auch IP's gefunden und in die iptables übernommen (mit DROP und allport). - Jedoch finde ich weiterhin smtp_auth Anfragen im maillog - solange die IP in den Tables steht sollte der doch gar nicht soweit kommen irgend einen Usernamen anzufragen, oder?

Habe dann gestern mal alles zurückgesetzt und folgenden Fall nachverfolgen können

maillog:
Code:
Jan  5 19:01:45 sxxxxxxxxx /var/qmail/bin/relaylock[7759]: /var/qmail/bin/relaylock: mail from 185.130.5.240:39311 (not defined)
Jan  5 19:01:45 sxxxxxxxxx smtp_auth[7760]: SMTP connect from unknown [185.130.5.240]
Jan  5 19:01:45 sxxxxxxxxx smtp_auth[7760]: No such user 'admin12345@domain.de' in mail authorization database
Jan  5 19:01:45 sxxxxxxxxx smtp_auth[7760]: FAILED: admin12345@domain.de - password incorrect from (null) [185.130.5.240]
Jan  5 19:44:39 sxxxxxxxxx /var/qmail/bin/relaylock[7846]: /var/qmail/bin/relaylock: mail from 185.130.5.240:46725 (not defined)
Jan  5 19:44:39 sxxxxxxxxx smtp_auth[7847]: SMTP connect from unknown [185.130.5.240]
Jan  5 19:44:39 sxxxxxxxxx smtp_auth[7847]: No such user 'administrate@domain.de' in mail authorization database
Jan  5 19:44:39 sxxxxxxxxx smtp_auth[7847]: FAILED: administrate@domain.de - password incorrect from (null) [185.130.5.240]
Jan  5 20:27:41 sxxxxxxxxx /var/qmail/bin/relaylock[7957]: /var/qmail/bin/relaylock: mail from 185.130.5.240:54136 (not defined)
Jan  5 20:27:41 sxxxxxxxxx smtp_auth[7958]: SMTP connect from unknown [185.130.5.240]
Jan  5 20:27:41 sxxxxxxxxx smtp_auth[7958]: No such user 'kontakt@domain.de' in mail authorization database
Jan  5 20:27:41 sxxxxxxxxx smtp_auth[7958]: FAILED: kontakt@domain.de - password incorrect from (null) [185.130.5.240]
...
Jan  5 21:10:44 sxxxxxxxxx /var/qmail/bin/relaylock[8056]: /var/qmail/bin/relaylock: mail from 185.130.5.240:33310 (not defined)
Jan  5 21:10:44 sxxxxxxxxx smtp_auth[8057]: SMTP connect from unknown [185.130.5.240]
Jan  5 21:10:44 sxxxxxxxxx smtp_auth[8057]: No such user 'adm@domain.de' in mail authorization database
Jan  5 21:10:44 sxxxxxxxxx smtp_auth[8057]: FAILED: adm@domain.de - password incorrect from (null) [185.130.5.240]
...
Jan  5 21:53:48 sxxxxxxxxx /var/qmail/bin/relaylock[8114]: /var/qmail/bin/relaylock: mail from 185.130.5.240:40720 (not defined)
Jan  5 21:53:48 sxxxxxxxxx smtp_auth[8115]: SMTP connect from unknown [185.130.5.240]
Jan  5 21:53:48 sxxxxxxxxx smtp_auth[8115]: No such user 'advanced@domain.de' in mail authorization database
Jan  5 21:53:48 sxxxxxxxxx smtp_auth[8115]: FAILED: advanced@domain.de - password incorrect from (null) [185.130.5.240]

Obwohl diese IP schon in den iptables steht - "iptables -nL":
Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-couriersmtp  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 25,465,587
fail2ban-courierlogin  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 25,110,143,465,587,993,995

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-courierlogin (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-couriersmtp (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-smtp_auth (1 references)
target     prot opt source               destination
DROP       all  --  185.130.5.240        0.0.0.0/0
fail2ban-smtp_auth  tcp  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Ich bin nicht so richtig glücklich mit der Konfiguration des fail2ban über Plesk selbst - aber ich denke dass es vielen das erstellen einfacher Jails vereinfachen könnte.
Allerdings wäre es schön wenn es dann auch funktionieren würde...

1und1 vServer mit openSuse 13.1
 
Last edited by a moderator:
Back
Top