WordPress Sicherheit

Man predigt immer wieder, dass man aus Sicherheitsgründen bei WordPress immer die Updates von Plugins, Themes und den WordPress Kerndateien durchführen soll, wenn welche vorhanden sind.

Doch das ist nicht das einzige, was man im Bezug auf Sicherheit bei seinem WordPress Blog beachten kann/sollte. Sicherheit fängt schon bei der Installation an, indem man nicht den von WP vorgeschlagenen Login Namen admin verwendet, sondern einen anderen Namen eingibt, sowie ein Passwort bestimmt, das minimum 14 Zeichen enthält. Man kann als Passwort sogar ganze Sätze eingeben, was die Sache dann für den Nutzer um so einfacher macht, sich das Passwort zu merken, aber dem bösen Buben, der das Passwort erraten will die Sache um so schwieriger geastaltet. Noch sicherer ist es, wenn man nach der Installation sogar einen weiteren Administrationszugang anlegt und den alten dann über den neuen Administrator löscht. Das hätte dann den Grund, dass in der Datenbank dann der Zugang mit der Nutzer ID 1 verschwindet.

Wenn man allerdings bereits einen Blog mit dem Nutzer admin betreibt und nun doch lieber einen neuen Administrator anlegen möchte, um den alten zu löschen muss man zwei Dinge beachten. Das erste ist beim Löschen des alten Administrator die unter dem gemachten Veröffentlichungen auf den neuen Administrator zu übertragen. Dafür wird beim Löschvorgang ein Menü eingeblendet, über diesem man dann die Übertragung einstellen kann. Zum zweiten wird es gut möglich sein, dass die Zuweisung des Avatar, welcher bei gravatar hinterlegt ist, nicht mehr korrekt ist. Das ist allerdings ein kleiner Bug im WordPress und an der Lösung wird zur Zeit noch gearbeitet. Dieses kann allerdings etwas dauern, da dies kein Sicherheitsrisiko dar stellt (Stand: Juni 2013). In diesem Fall kann man sich mit einem Direkt Eingriff über phpMyAdmin in der MySQL-Datenbank behelfen, indem man dieses in der Kommandozeile eingibt.

UPDATE wp_comments SET user_id = [XY] WHERE user_id = 1

Anstelle von XY muss hier die neue ID Nummer des Accounts eingetragen werden. Die Anzeige von IDs im Adminbereich wurde im Laufe der Weiterentwicklung von WordPress ausgegliedert und kann mittels eines Plugin wieder nachgerüstet werden. Ein älteres Plugin wäre Simply Show IDs und wer etwas aktuelleres haben will, kann auf WP Show IDs zurückgreifen. Beide Plugins erfüllen den selben Zweck.

Allerdings ist es empfehlenswert, dass man vor dieser Aktion eine Sicherung seiner MySQL Datenbank anfertigt, falls etwas daneben geht und man die Datenbank dann mittels der vorher angelegten Sicherung wieder herstellen kann.

Des weiteren kann man seinen Blog noch mittels Plugins etwas mehr absichern. Zum Beispiel kann man mit Limited Login Attempts sehr restriktiv gegen Webuser und Server vorgehen. Das Plugin sperrt die IP nach gewissen Anzahl an Versuchen für eine bestimmte Zeit von weiteren Loginversuchen. Besonders hartnäckige IPs, kann man dann mittels Erweiterung der .htaccess aussperren.

## Zugriffsregel definieren

order allow,deny

## Bestimmte IP

deny from x.x.x.x

## Alle IPs die mit x.x.x. beginnen

deny from x.x.x.*

## Kompletter IP-Range eines Provider (CIDR Version)

deny from x.x.x.x/x

## Kompletter IP-Range eines Providers

deny from x.x.x.x-x.x.x.x

## Zugriffe aller anderen IPs erlauben.
allow from all

So würde dann der Kopf der .htaccess aussehen (x steht für die jeweilige Nummer welche in der IP ermittelt wurde). Ich habe auch direkt ein paar Aufbaubeispiele angegeben, was es an Möglichkeiten gibt IP Sperren zu definieren. Man kann zwar auch auf Plugin Lösungen, wie WP Ban zurückgreifen und die IP dann im Backend dort eingeben, was dann den Vorteil hat, dass dann sogar ein Bestimmter Text den man selber anpassen kann angezeigt wird, sobald eine IP von der Sperrliste versucht den Blog aufzurufen, aber egal für welche Lösung man sich entscheidet, ist beides mit Handarbeit verbunden.

Sinnvoll ist es auch, wenn man diese Aussperr-Technik bei Spambots einsetzen will, welche einem immer wieder Kommentare in den Blog versuchen zu schreiben. In diesem Fall empielt es sich unbedingt ein AntiSpam Plugin einzusetzen, dass diese Kommentare im Vorfeld schon ausfiltert. WordPress bringt zwar von Haus aus das Plugin Akismet mit, doch dieses ist bezüglich der in Deutschland geltenden Datenschutzverordnung ein wenig umstritten. Daher wäre hier das Plugin AntiSpam Bee von Sergej Müller ganz praktisch.

Es gab auch in Vergangenheit immer wieder Meldungen im WordPress Forum, dass Bloguser mit dem Problem des Blog Hacking konfrontiert wurden. Vielfach war eine Sicherheitslücke in einem Plugin, oder einer bestimmten Datei die Ursache. Die Datei war damals TimThumb, welche für die Bilddarstellung bei einigen Themes genutzt wurde. Wer testen will, ob eines seiner Themes im Blog von dieser Lücke betroffen ist, kann dieses mit dem Plugin Timthumb Vulnerability machen.

Auch sehr beliebt sind so genannte Code Injections, bei deren Erfolg plötzlich Schadcode (Malware) auf der Website vorzufinden ist. Hier kann man sich im Vorfeld auch schon etwas absichern, indem man das Plugin AntiVirus, ebefalls von Sergej Müller entwickelt, einsetzt.

Dies alles ist natürlich nur ein kleiner Teil von dem, was man unternehmen kann. Doch wenn man die Tipps beherzigt, kann man zumindest halbwegs sicher vor bösen Überraschungen sein.