Wordpress absichern

WordPress ist gerne Ziel von automatisierten Angriffen (Bots). Dabei scheinen die Dateien wp-login.php und xmlrpc.php, sowie Dateien unter /wp-admin häufig das Ziel zu sein. Wir zeigen Ihnen hier, wie Sie diese Dateien bzw. Bereiche absichern können.

Generierung einer .htpasswd

Für alle Beispiele werden Logindaten benötigt. Diese werden generiert und in einer .htpasswd (oder auf .htuser) Datei gespeichert. Auf unseren Managed Servern kann dies über die Shell erzeugt werden:

/usr/local/pd-admin2/httpd-2.4/bin/htpasswd -nb user password

Die erzeugten Logindaten speichern Sie dann in einer .htpasswd Datei. Dies können Sie zum Beispiel im Home-Verzeichnis des Nutzers abspeichern. Als Beispiel nehmen wir hier /home/userbsp/.htpasswd

Sie können Logindaten aber auch online generieren, z.B. über die Webseite https://htpasswdgenerator.de/

Absicherung von wp-login.php und xmlrpc.php

<Files ~ "^(wp-login|xmlrpc)\.php$">
AuthType Basic
AuthName "WordPress Backend"
AuthUserFile /home/userbsp/.htpasswd
Require valid-user
Require ip 127.0.0.1
</Files>

Diese Zeilen tragen Sie in der .htaccess Datei im Document Root Ihrer WordPress Webseite ein. Sie können mit Require ip einzelne IPs freischalten. Unter Umständen muss hier die IP des Managed Servers eingetragen werden. Auch Dienste, welche auf die xmlrpc.php zugreifen möchten, müssen hier freigeschaltet werden.

Absicherung von /wp-admin

AuthName "WordPress Backend"
AuthType Basic
AuthUserFile /home/userbsp/.htpasswd
require valid-user
Require ip 127.0.0.1

In der Regel ist unter /wp-admin noch keine .htaccess Datei angelegt. Legen Sie die Datei an und fügen die o.g. Zeilen ein. Auch hier können Sie mit Require ip einzelne IPs freischalten.

Manchmal greifen einzelne Plugins oder Themes auf /wp-admin/images zu. Dann bekommt ein Besucher eine Abfrage angezeigt. In dem Fall muss /wp-admin/image/.htaccess angelegt werden und

Satisfy any

eingefügt werden.