SUCKUP.de

WordPress Sicherheit erhöhen

This blog post has been published on 2010-10-09 and may be out of date.

In diesem Blog-Post beschreibe ich, wie du deinen WordPress Blog absichern kannst. Ich werde jedoch nicht weiter darauf eingehen, dass man sich nicht jedes Plugin installieren sollte, sein Passwort nicht weitergeben und nicht überall das selbe Passwort verwenden sollte. Wobei dies natürlich auch Sicherheitsrelevante Dinge sind!!!

 

1.) WordPress auf dem aktuellen Stand

Um ein Mindestmaß an Sicherheit zu gewährleisten, solltest du folgende Dinge regelmäßig Updaten:

– 1.1.) WordPress

– 1.2.) Theme

– 1.3.) Plugins

 

Seit “WordPress 3” kannst du die genannten Punkte automatisch aktualisieren, mit einem klick auf “Dashboard” -> “Aktualisierungen” kommst du auf folgende Seite…

 

 

2.) Sicherheits-Plugin installieren

2.1.) Secure WordPress:

http://wordpress.org/extend/plugins/secure-wordpress/

 

 

 

Ein Passwort sollte aus mindestens 8 Zeichen (je mehr desto besser) bestehen. Dabei sollten Ziffern und Buchstaben (Groß und Kleinschreibung) und Sonderzeichen verwendet werden und es sollte wenn möglich einmalig sein.

z.B.: zwei+acht=zehn (Bitte nicht verwenden)

 

2.2.) WP Security Scan:

http://wordpress.org/extend/plugins/wp-security-scan/

Untere dem neuen Menü-Punkt “Security” kannst du nun den “Security“-Check durchführen. Dabei solltest du darauf achten, dass du die “table_prefix” änderst. Danach solltest du auch noch den “Security” -> “Scanner” ausprobieren…

 

… und ggf. die Dateiberechtigungen anpassen.

 

 

3.) regelmäßig Backups durchführen

3.1.) Serverseitig

Unter Ubuntu / Debian kannst du dafür folgendes Programm verwenden…

aptitude install automysqlbackup

Einstellungen für das Programm:

/etc/default/automysqlbackup

Standard Backup-Verzeichnis:

ls /var/lib/automysqlbackup

daily/  monthly/  weekly/

 

3.2.) Backup per WordPress-Plugin

WP-DBManager:

http://wordpress.org/extend/plugins/wp-dbmanager/


4.) Suchmaschinen nicht alles zeigen

Durch die Datei “robots.txt” kann man theoretisch regeln, was von Suchmaschiennen indiziert wird. (Wenn du bestimmte Verzeichnisse wirklich schützen möchtest, musst du dies über eine .htaccess regeln.)

Hier mein Beispiel: http://suckup.de/robots.txt

 

5.) Secret-Key hinzufügen

Mit folgendem Link kannst du dir einige Zufalls-Schlüssel für WordPress erstellen lassen, diese Schlüssel musst du dir nicht merken, die neue Schlüssel sind vorrangig für die Multiuser-Funktionalität und werden klassisch wenig genutzt, haben jedoch auch keinen Nachteil.

https://api.wordpress.org/secret-key/1.1/salt/

Die Keys musst du anschließend in folgende Datei speichern…

/var/www/wordpress/wp-config.php

 

6.) “wp-config.php”-Datei schützen

Zudem sollte der erwähnten Datei, folgende Rechte vergeben werden, da dort auch das MySQL Passwort abgespeichert ist.:

chmod 640 wp-config.php

 

7.) SSL-Verschlüsselung für den Admin-Bereich

Folgendes kannst du auch wieder in die “wp-config.php“-Datei kopieren, so dass der Admin-Bereich auf “https” umgeleitet wird…

define('FORCE_SSL_ADMIN', true);

 

PS: Wer https-Anfragen auf http per Nginx umleiten möchte, außer “wp-*” kann folgendes in der Nginx-Konfiguration eintragen. Dies dürfe die wenigsten betreffen, wollte es jedoch notiert haben. ;-)

## https nur fuer wp-*
if ($request_uri !~* "/wp-") {
rewrite ^/(.*)$ http://$host/$1 permanent;
}

 

8.) “wp-admin”-Verzeichnis schützen

8.1.) .htaccess-Datei selber anlegen

Wie du dies realisieren kannst, habe ich bereits in einen anderen Blog-Post beschrieben.

-> http://suckup.de/blog/2010/02/09/htaccess-mod-rewrite/

 

8.2.) .htaccess per WordPress-Plugin

AskApache Password Protect:

http://wordpress.org/extend/plugins/askapache-password-protect/

 

9.) Login Versuche limitieren

Nachdem wir bereits abgestellt haben, dass angezeigt wird, wenn wir unser Passwort oder Benutzernamen falsch eingegeben haben… können wir mit diesem Plugin limitieren wie viele Login-Versuche von einer IP-Adresse zugelassen sind.

Limit Login Attempts:

http://wordpress.org/extend/plugins/limit-login-attempts/

 

Hier gibt es noch mehr Infos:

20 Steps to a Flexible and Secure WordPress Installation

Spammer/Hacker fernhalten (Apache2)