Wordpress Performance Wordpress SEO Wordpress Security Wordpress Themes Wordpress Hosting Mein Setup Das Buch

11 Schritte zum sicheren WordPress Blog

11 WordPress Security Tipps

WordPress Security wird immer wichtiger

In letzter Zeit gab es mehr als nur ein paar kleine Sicherheitslücken. Vielmehr wurden massive Leaks aufgedeckt, die wieder einmal klarmachten, dass WordPress Security ein Thema ist mit dem sich so ziemlich jeder Anwender ein wenig beschäftigen sollte. Stets bleibt die Gefahr, irgendwann überraschend die Kontrolle zu verlieren, nämlich dann, wenn Hacker in euren WordPress Blog eingedrungen sind und sich Zugang verschafft haben. Das geht einfacher als es zunächst scheint und deshalb gilt es ein paar Standards einzuhalten, um den Angreifern wenigstens ein paar Steine in den Weg zu legen und Möchtegern-Hacker gleich direkt zu blocken. WordPress Security fängt dabei schon mit dem Passwort an und zieht sich bis zur .htaccess und speziellen Firewalls. Ein umfangreiches Thema, welches wir uns heute mal gemeinsam ein wenig genauer anschauen wollen. Doch keine Sorge, der Artikel versucht auf all das Drumherum zu verzichten und soll nur ein paar der wichtigsten Grundlagen in Bezug auf die WordPress Security vorstellen. 11 einfache Tipps für mehr Sicherheit innerhalb von WordPress, die jeder einhalten und umsetzten kann.

1. Admin-Nutzer umbenennen

Nachdem WordPress frisch installiert wurde, solltet ihr sofort dafür sorgen, dass der Admin-Nutzer umbenannt wird. WordPress selbst nennt diesen zu Beginn nämlich einfach “Admin” was alle Angreifer wissen und deshalb inzwischen unzählige automatisierte Brute-Force-Attacken starten, die alle den Nutzernamen “Admin” verwenden und mit Gewalt versuchen sich Zutritt zu eurer WordPress-Installation zu verschaffen. Damit diese einfache Art von Angriffen sofort im Keim erstickt wird und unter keinen Umständen Erfolg haben kann, muss nur der Admin umbenannt werden. Am besten eignen sich lange und vollkommen zufällig gewählte Nutzernamen aus Zahlen und Buchstaben, die im besten Fall nicht einmal einen Sinn ergeben. Ist vielleicht nicht ganz so praktisch, bringt aber wirklich eine Menge Sicherheit in euren Blog.

2. Zufällige Passwörter wählen

Den größten Fehler begehen die meisten Anwender auch bei der Wahl ihres Passwortes. Für die eigene Website sollte dies stets individuell ausfallen, einzigartig und vollkommen zufällig sein. Nehmt keine bereits verwendeten Passwörter, keine die einen Sinn ergeben, sondern erstellt Zeichenfolgen komplett per Zufall. Wer das nicht kann, darf sich auch gerne mit Random.org ein entsprechend zufallsgeneriertes Passwort erstellen, welches dann bis zu 24 Zeichen besitzt. Das alles klingt eigentlich selbstverständlich, ist es aber nicht. Meistens neigen die Nutzer auch heute noch dazu, immer wieder dasselbe Passwort zu verwenden, oder Kombinationen aus ihren Namen, Geburtsdaten etc. zu wählen. Vergesst das und erstellt wichtige Passwörter immer per Zufall. Alles was mehrmals genutzt wird oder einen Sinn ergibt, ist nicht sicher.

3. Login vor Angriffen schützen

Die dritte Maßnahme, die ebenso einfach wie wichtig ist, ist das Schützen des eigentlichen Logins. Wer keine Registrierungen auf seinem WordPress Blog erlaubt, sollte das WordPress Backend sofort mit einer .htpasswd schützen. Dann müsst ihr vor dem Login zwar stets zwei Benutzernamen und Passwörter eingeben, sperrt selbiges aber auch vollständig vor Zugriffen Dritter ab. Das bringt übrigens nebenbei eine Menge Performance, weil die automatischen Attacken nicht mehr durchdringen und die fehlerhaften Logins dann auch keine Ressourcen des Servers mehr verbrauchen können.

Wer Registrierungen auf seinem WordPress Blog zulassen möchte, der kann natürlich auch keine .htpasswd nutzen, weil Besucher zum Anmelden und Registrieren Zugriff auf das Login haben müssen. Trotzdem könnt ihr Brute-Force-Attacken eindämmen und zwar indem die Logins limitiert werden. Eigentlich ist das eine Funktion die WordPress schon lange selbst anbieten sollte, doch weil das nicht der Fall ist helfen mal wieder Plugins. Limit Logins Attempts hat sich hier als gute Wahl erwiesen. Die Erweiterung für WordPress sorgt dafür, dass Nutzer nach mehreren fehlerhaften Login-Versuchen nicht einfach weitermachen können, sondern für eine gewisse Zeit gesperrt werden. So umgeht ihr das Problem, dass automatisiert immer wieder Passwörter getestet werden, bis eines durch Zufall mal funktioniert.

Übrigens könnt ihr mit einer .htpasswd auch das komplette Verzeichnis “/wp-admin” schützen, denn auch dort greifen Hacker immer wieder auf Dateien, wie beispielsweise die “admin-ajax.php”  zu. Solche harten Sperren sind aber eben nur dann möglich, wenn keine Registrierungen zugelassen werden und wichtige Plugins keinen Zugriff auf das Verzeichnis erfordern. Persönlich kann ich euch eine .htpasswd nur empfehlen, weil selbige sehr sicher ist und all die Hackversuche schon von Anfang an unterbindet.

4. Dateischutz

Per .htaccess lässt sich auch der direkte Zugriff auf bestimmte Dateien verbieten und das sollte in jeder .htaccess auch unbedingt festgelegt worden sein. So werden wichtige Dateien, die auch zur korrekten Funktion von WordPress benötigt werden, geschützt und lassen sich nicht mehr so einfach manipulieren oder verändern.

<Files wp-config.php>
order allow,deny
deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>

<files readme.html>
Order Allow,Deny
Deny from all
Satisfy all
</Files>

5. wp-include Dateien blocken

Eine weitere Möglichkeit, die Sicherheit von WordPress deutlich zu erhöhen, ist das Blocken der wp-includes. Das geht relativ einfach über die .htaccess und gehört deshalb auch zum Standard. Eine kleine aber feine Stufe der WordPress Security, die offiziell empfohlen, von Nutzern aber häufig vergessen oder unterschätzt wird. Dabei ist der Code im Grunde winzig und kann daher auch schnell mit in die eigene .htaccess aufgenommen werden.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

6. Datenbank umbenennen

Oft gibt es im Internet den Tipp, die Datenbank von WordPress umzubennen bzw. das Kürzel “wp” aus den Tabellen etc. zu entfernen. Das ist, zumindest meiner Meinung nach, genau wie das verschieben der wp-config.php etc. überschätzter Schwachsinn, der wenig bringt aber viel Ärger bedeuten kann. Nämlich wenn Plugins oder Erweiterungen die Standards verlangen oder Updates plötzlich herumspinnen. Lasst WordPress im Kern wie es ist, das Verschieben und Manipulieren der Datenbank, Dateiordner und anderen Elementen ist nicht so sinnvoll wie es mach einer verspricht. Schlussendlich bringt das alles mehr Ärger als Nutzen und deshalb rate ich persönlich davon ab.

7. Datei-Bearbeitung verhindern

Das verhindern der Datei-Bearbeitung bringt eine ganze Menge. Warum? Ganz einfach, denn wenn Angreifer Kontrolle über euren Blog bekommen, gelingt es ihnen meist, indem sie einen Admin Account anlegen oder vorhandene Accounts hacken. Dann wird Schadcode integriert und das geschieht oft über den Plugin- und Theme-Editor von WordPress, also über die Datei-Bearbeitung im Backend. Wenn nun aber die deaktiviert und somit verhindert wird, ist dies nicht mehr möglich. Ihr selbst könnt Themes etc. dann zwar auch nicht mehr direkt aus dem Backend bearbeiten, doch das ist eh nur Luxus, schließlich habt ihr Zugriff via SFTP und könnt Änderungen so realisieren. Wenn das denn überhaupt noch einmal notwendig ist, denn sind Themes erst einmal vollständig angepasst, ist meist auch keine Änderung mehr von Nöten. Das verhindern der Datei-Bearbeitung bringt sehr viel Sicherheit und verhindert das Ausnutzen einer oft genutzten Schwachstelle. Bei unzähligen Hacks in der Vergangenheit wurde genau diese Datei-Bearbeitung nämlich effektiv ausgenutzt. Um das zu verhindern, müsst ihr folgendes in die wp-config.php integrieren.

define('DISALLOW_FILE_EDIT', true);

8. XXS Security, nosniff und mehr

Es gibt noch ein paar kleine Tags die für mehr Sicherheit sorgen und ebenfalls via .htaccess integriert werden. Zum Beispiel um einfache XXS-Attacken abzuwehren, Clicjacking zu verhindern und ähnliches. Fügt einfach folgendes Snippet in eure .htaccess hinzu, mehr ist gar nicht notwendig.

<ifModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options: "nosniff”
</ifModule>

9. Update installieren

Die automatischen Updates von WordPress sollten unbedingt aktiviert bleiben. Zwar habe ich euch in der Vergangenheit bereits gezeigt, wie ihr selbige einschalten/abschalten könnt, doch das ist alles andere als empfohlen. Ebenfalls nicht empfohlen ist es, Plugins in alten Versionen zu nutzen. Oft haben Anwender Angst vor Updates, weil danach eventuell genutzte Features nicht mehr wie gehabt funktionieren könnten. Das kann unter Umständen zwar wirklich sein, doch Updates schließen meist auch Sicherheitslücken. Diese Lücken werden, spätestens wenn sie mit dem Update bekanntgeworden sind, noch einmal heftig ausgenutzt, um all die zu erwischen, die das Update verschlafen haben. Updates sind also wirklich wichtig, um WordPress mehr Sicherheits zu verleihen. Denn bedenkt: Vor allem Plugins bringen meist die Sicherheitsrisiken mit, WordPress selbst ist relativ sicher und solide programmiert.

10. Firewall und Security Plugins

Wer sich am Ende dann doch etwas mehr WordPress Security wünscht, kommt um ein entsprechendes Plugin oder eine echte Firewall nicht herum. Anbieter gibt es hier viele, doch immer wieder offenbaren Security Plugins für WordPress auch schwere Sicherheitslücken und werden somit selbst zum Sicherheitsrisiko. Von Security Plugins würde ich also abraten, von Firewalls wie NinjaFirewall und Sucuri etc. allerdings nicht. Diese sind unter Umständen sehr stark und effektiv, verhindern vor allem viele direkte Angriffe, was im besten Fall dann sogar Performance bringt, weil die Anfragen bereits vorab geblockt werden und keine Möglichkeit bekommen, den Server überhaupt anzutasten bzw. seine Ressourcen zu nutzen. Doch trotzdem noch einmal Klartext: Jede Erweiterung, auch wenn sie der Sicherheit dient, kann im schlimmsten Fall selbst ein Sicherheitsrisiko darstellen. Ein Einsatz von Plugins sollte immer mehrfach überdacht werden und schlussendlich gilt es, so wenige wie nur möglich zu installieren. Überlegt daher immer wieder genau, ob ihr das gewünschte Plugin wirklich benötigt oder es nur Spielerei ist.

11. Backups, Backups und nochmal Backups

Am Ende lassen sich viele Angriffe abblocken. Firewalls verhindern DDoS-Attacken, starke Passwörter und geschützte Zugriffe sichern alles andere ab. Das Wichtigste ist und bleibt aber das klassische Backup. Sollte euer WordPress Blog irgendwann einmal gehackt werden, ist die Chance Schadcode sauber zu entfernen eher gering. Das kostet meist Zeit, viel Geld und ist ziemlich aufwendig. Sicherer und schneller ist es da immer ein zeitnahes Backup einzuspielen, welches vor dem Hack erstellt wurde. Deshalb sollte alle 24 Stunden, oder besser noch alle 12 Stunden, ein vollständiges Backup angelegt werden. So verliert ihr nie viele Daten und könnt im Notfall schnell alles in den Ursprungszustand zurückversetzten. Backups sind die beste Absicherung die möglich ist, denn haben es Hacker erst einmal ernsthaft auf euch abgesehen, gibt es meist kein echtes entkommen mehr. Das haben uns die großen Leaks der Vergangenheit immer wieder gezeigt. Also am besten für eine grundlegende Sicherheit innerhalb von WordPress sorgen und den Fokus auf stabile und beständige Backups legen.

Die totale Sicherheit gibt es nicht

Wie gesagt: Wenn es Hacker tatsächlich auf euch abgesehen haben, werden sie bestimmt auch eine Schwachstelle finden, da braucht sich niemand etwas vormachen und von vollständiger Sicherheit reden. Allerdings muss es den Anfängern und Skriptkiddies nicht unbedingt so einfach gemacht werden, grundlegende Sicherheitsregeln sollten also durchaus auch befolgt werden. Oben sind die wichtigsten Schritte festgehalten, die für eine grundlegende WordPress Security sorgen. Mehr geht immer, doch zu viel zwingt Server in die Knie und hat kaum einen effektiven Nutzen, außer dass dann auch irgendwann harmlose Besucher ausgesperrt werden. Das wichtigste beim Thema WordPress Security ist aber der dezente Einsatz von Plugins. Es gibt da draußen unfassbar viele Erweiterungen und ich würde mal behaupten, dass die Hälfte von ihnen heftige Schwachstellen aufweist und damit zur potenziellen Gefahr für den eigenen Blog wird. Wählt eure Erweiterungen also mit Bedacht, haltet die Regeln von oben ein und legt vor allem immer wieder saubere Backups an. Wenn dem so ist, seit ihr gut gerüstet und könnt, falls es mal gefährlich wird, zeitnah reagieren.



Wordpress Performance eBook