WordPress: Sicherheitsempfehlungen

Der Artikel beschreibt Sicherheitsmaßnahmen für WordPress-Installationen, um Angriffe zu verhindern. Dazu gehören das Begrenzen falscher Anmeldeversuche, das Absichern des Admin-Bereichs, die Anpassung der .htaccess-Datei, die Verwendung individueller Benutzernamen und das Ändern von Secret-Keys. Zudem wird die Nutzung von Sicherheits-Plugins wie "Limit Login Attempts" und "Google Authenticator" empfohlen, um die Sicherheit durch Zwei-Faktor-Authentifizierung zu erhöhen. Regelmässige Updates von WordPress, Plugins und Themes sind ebenfalls essenziell, um Sicherheitslücken zu schliessen.

WordPress ist in der Standardinstallation ein sicheres System. Aber allein aufgrund seiner großen Verbreitung ist es ein lohnenswertes Ziel für Angreifer. In diesem Artikel werden einige Tipps für mehr Sicherheit beschrieben.
Falsche Anmeldeversuche begrenzen
Admin-Bereich absichern
.htaccess Code Beispiele
Benutzername
WordPress Secret-Keys ändern
WordPress Security Plugins
Updates

Falsche Anmeldeversuche begrenzen

Mithilfe von Erweiterungen, die die Anzahl ungültiger Anmeldeversuche innerhalb eines festgelegten Zeitraums verhindern, lässt sich die Sicherheit einer WordPress-Installation erhöhen. Security Plugins werden am Schluss erwähnt.

Admin-Bereich absichern

Die Login Datei lässt sich (wp-login.php) mittels passwortgeschützte Verzeichnisse absichern. Das zu schützende Verzeichnis wäre wp-admin:
Plesk: Passwortgeschützte Verzeichnisse.

.htaccess Code Beispiele

Standardvorlage der .htaccess Datei nach der Installation:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Wordpress Backend nur für ausgewählte IP Adressen zulassen:

order deny,allow
deny from all
allow from XXX.XXX.XX.X
allow from XXX.XXX.XX.X

Bestimmte Nutzer mittels der IP Adresse sperren:

<Limit GET POST>
order allow,deny
deny from XXX.XXX.XX.X
deny from XXX.XXX.XX.X
allow from all
</Limit>

Benutzername

Für den Benutzernamen des Administrators sollte eine individuelle Namenskombination festgelegt werden.

Dabei sollten auf keinen Fall die Standardnamen wie zum Beispiel
admin - administrator - test - demo - wordpress - webmaster - webadmin -benutzer
verwendet werden.

Bei einer Brute-Force Attacke werden solche Benutzernamen zuallererst getestet.

WordPress Secret-Keys ändern

Nach der Installation sollte man noch die Secret-Keys in der wp-config.php ändern.
Die Keys dienen der Verschlüsselung und werden z.B. beim Login-Cookie verwendet. Dafür kann am Besten der Secret-Key Generator von WordPress verwendet werden.
Die neuen Keys werden anschließend mit den vorhandenen ersetzt:

Secret-Key Generator

Beispiel der Secret-Keys:

define('AUTH_KEY', 'G3Ht|IXb,]6Az<?O+ZVUI9gJTZ>+)W}@U=z]!xw&%Q0$YgnXVh.Sb_;3-v;AWR|7');
define('SECURE_AUTH_KEY', 'Z] [x@%81l<WI0] %`CN]J~OKz||kf~=Hkm-VnI5HUi=v~Q`gQ3<v4O0b%~:e9~4');
define('LOGGED_IN_KEY', 'c5&.0){%llR;x6?#)fP:<CU|F3Y9EA]h1Ey=w}lr(-A|:c{k$@rGh6+^4XsiEQHD');
define('NONCE_KEY', '^_N%cD>)(H%u7r8Di</FhlxdZF}jaBq|QFfFcx[FG|/OnNjJ|Ye.9+W G(,DO(Q{');
define('AUTH_SALT', '6S]fH6KXn454d@D5<;F6om@#A$<xLz.k#?.U2yzy5Q5suzG..Dy-}P!?a}2lzumz');
define('SECURE_AUTH_SALT', 'Y?CL9vrqc6_H1hD9OhNs?|41BQ5Hvl=qx6#kNL4+.G L29.P1:lj:8dV~^&Sn,s@');
define('LOGGED_IN_SALT', 'Y{vvgAo06T<Ge45hv+)^ZpSq u.gy^bRcdO?gyR$qjW$?Ym_G=+lWf3T+LElt9U)');
define('NONCE_SALT', '=K@y3<d4H)5?TmbwO->hyY<j4t03*0D7[+Q_b>,{6Ro>/-E->ZF=Qh{5vy?rB Kl');

WordPress Security Plugins

Limit Login Attempts

Das Plugin Limit Login Attempts beschränkt die Anmeldeversuche bei falscher Eingabe. Werden die Login-Daten x-Mal falsch eingegeben, wird die Anmeldung für einen fest definierten Zeitraum gesperrt. Passiert dies nochmals, so wird die Anmeldesperre erneut verlängert.

Das Plugin kann direkt im WordPress Backend unter Plugins → Plugins installieren gefunden und installiert werden. Manuell wird es unter folgender Webseite heruntergeladen und via WordPress Backend oder FTP hochgeladen:
Limit Login Attemps

Google Authenticator

Mit dem Google Authenticator Plugin wird der Login-Bereich mithilfe einer 2-Faktor Authentifizierung geschützt. Installierieren können Sie das Plugin von der WordPress-Seite herunter. Hierzu wird noch ein Smartphone mit der Android oder iPhone App benötigt. Dadurch braucht ein Angreifer nicht nur Ihren Benutzernamen und das Passwort, sondern auch den Code des Google Authenticator.

Das Plugin kann direkt im WordPress Backend unter Plugins → Plugins installieren gefunden und installiert werden. Manuell wird es unter folgender Webseite heruntergeladen und via WordPress Backend oder FTP hochgeladen:
Google Authenticator

Updates

Jede eingesetzte Webapplikation weist von Zeit zu Zeit Sicherheitslücken auf. Daher sollten Sie auch in Bezug auf die WordPress Sicherheit zeitnah auf das Einspielen von Core- und Sicherheitsupdates achten. Dies gilt ebenso für Plugins und Themes. 
Sicherheitsrichtlinien