Dev License: This installation of WHMCS is running under a Development License and is not authorized to be used for production use. Please report any cases of abuse to abuse@whmcs.com

Plesk Fail2Ban für Wordpress, Joomla und WHMCS inkl. Regex Drucken

  • 3

Für die Experten unter uns: Wir haben Jails & Filter gegen Brute-Force-Attacken für folgende Content Management Systeme: Wordpress, Joomla und WHMCS.

1. Per SSH auf dem Pleskserver folgende Datei editieren und Code einfügen "/etc/fail2ban/jail.local"

[wplogin-jail]
enabled = true
filter = wp-login-filter
action = iptables-multiport[name="wp-login", port="http,https", protocol="tcp"]
logpath = /var/www/vhosts/system/*/logs/*access*log
        /var/log/apache2/*access.log
bantime = 86400
maxretry = 6

[joomla-login-jail]
enabled = true
filter = joomla-login-filter
action = iptables-multiport[name="joomla-login", port="http,https", protocol="tcp"]
logpath = /var/www/vhosts/system/*/logs/*access*log
        /var/log/apache2/*access.log
bantime = 86400
maxretry = 6

[whmcs-jail]
enabled = true
filter = whmcs-login-filter
action = iptables-multiport[name="whmcs-login", port="http,https", protocol="tcp"]
logpath = /var/www/vhosts/system/*/logs/*access*log
        /var/log/apache2/*access.log
bantime = 86400
maxretry = 6

2. Per SSH auf dem Pleskserver folgende Dateien im Verzeichnis anlegen und Code einfügen "/etc/fail2ban/filter.d/"


2.1 wp-login-filter.local:
[Definition]
failregex = ^ .* "POST .*(wp-login.php|xmlrpc.php) HTTP/.*" (200|401)
ignoreregex =

2.2 joomla-login-filter.local:
[Definition]
failregex = ^ .* "POST .*(\/administrator\/index\.php|\/index\.php\/component\/users\/\?task=user\.login) HTTP/.*" 303
ignoreregex =

EDIT: Joomla schreibt leider keine korrekten Logeinträge (bisher). Der oben genannte failregex hat viele false positives. 
Man könnte versuchen "\[client (\S+):\d+\] .* user (\S+) authentication failure" (ohne Anführungsstriche) einzubinden. Dies wurde noch nicht getestet.
Dann müsste man aber auch https://extensions.joomla.org/extension/fail2ban/ als Komponente bei Joomla installieren.

2.3 whmcs-login-filter.local:
[Definition]
failregex = ^ .* "GET .*(\/clientarea\.php\?incorrect\=true|\/admin\/login\.php\?incorrect\=1) HTTP/.*" 200
ignoreregex =

Hinweise: - Hier gehen wir davon aus, dass das admin Verzeichnis auch /admin/ hier abrufbar ist. Ansonsten bitte anpassen. Vor jedes Sonderzeichen kommt ein \
- Dateien bitte ohne Doppelpunkt anlegen. Beispielsweise hier einmal der komplette Pfad der Datei für Wordpress: "/etc/fail2ban/filter.d/wp-login-filter.local"

3. Fail2Ban neustarten:

service fail2ban restart

Mit folgendem befehl kann überprüft werden, ob Fehler entstanden sind:
service fail2ban status

4. Fertig.

War diese Antwort hilfreich?

« Zurück

Powered by WHMCompleteSolution