Du solltest die WordPress Sicherheit nicht vernachlässigen. Ich zeige dir, wie du in nur 9 Schritten für mehr Sicherheit sorgst

WordPress Sicherheit in 9 Schritten verbessern

5/5 (7)

Im heutigen Artikel geht es um ein Thema, dass oft gern vernachlässigt wird aber doch essentiell für jeden WordPress Blogbetreiber ist. Die Sicherheit. Angreifer nutzen Sicherheitslücken um unbegrenzten Zugriff auf deine Daten  zu bekommen. Um dies zu verhindern, reichen die voreingestellten Maßnahmen von WordPress nicht aus. Wie du dich dagegen schützen kannst möchte ich dir heute zeigen.

Was ist eine Sicherheitslücke?

Kurz gesagt sind Sicherheitslücken Fehler in der Software. Diese können von einem potenziellen Angreifer ausgenutzt werden, um vollen Zugriff auf das System zu bekommen. Voller Zugriff bedeutet zum Beispiel Einsicht auf sensible Kundendaten.

Leider können Sicherheitslücken nie komplett geschlossen werden. Sie entstehen im Entwicklungsprozess wenn Aspekte der Sicherheit in Planung, Konzeption und Entwicklung vernachlässigt werden oder Sicherheitsvorgaben nicht ausreichend berücksichtigt werden.

Aus diesem Grund sollen möglichst alle Fehler in den Alpha und Beta Prozessen aufgedeckt und beseitigt werden.

9 Schritte für mehr WordPress Sicherheit

Gleich vorneweg: Nicht jeder hier genannte Schritt ist eine Notwendigkeit. Es ist alleine dir überlassen, ob du deinen Sicherheitsschlüssel ändern willst oder dein Passwort regelmäßig ändern möchtest. Es sind lediglich Empfehlungen und Erfahrungen von mir, die ich im Laufe meiner Zeit als Entwickler für WordPress gesammelt habe.

1. Wie du den WordPress Sicherheitsschlüssel änderst

Mit Hilfe der Sicherheitsschlüssel soll es den Angreifern schwer gemacht werden, sensible Daten ohne weiteres auszulesen. Die Daten werden nämlich zusätzlich verschlüsselt und sind somit nicht mehr als Klartext lesbar.

Den Sicherheitsschlüssel gibt es bei WordPress seit Version 2.5, mit Version 2.6 wurde dieser von drei anderen Sicherheitsschlüssel ersetzt. Seit WordPress 2.7 gibt es vier unterschiedliche Sicherheitsschlüssel.

Um die Sicherheitsschlüssel einzutragen gehst du wie folgt vor:

  1. Öffne deine wp-config.php Datei mit einem Textbearbeitungsprogramm (z.B. Notepad++)
  2. Dort findest du die vier Schlüssel AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY und NONCE_KEY.
  3. Lass dir einen einmaligen Sicherheitsschlüssel generieren, indem du folgende URL in deinem Browser aufrufst: WordPress Sicherheitsschlüssel generieren
  4. Kopiere den Code, der auf der Webseite angezeigt wird und ersetze ihn mit dem, in deiner wp-config.php Datei
  5. Abschließend speicherst du die Datei … und fertig!

2. Warum du niemals den Benutzernamen „Admin“ wählen solltest
Aus Sicherheitsgründen wird empfohlen, den Benutzernamen Administrator / Admin niemals zu nutzen

Viele Webseitenbetreiber denken gar nicht daran, dass der Benutzername „Admin“ oder „Administrator“ ein potenzielles Angriffsziel für Bruteforce Attacken darstellt. Grund für das Potenzial ist, dass der Angreifer sich keinen Kopf darüber machen muss, wie der
Benutzeraccount mit Administrationsrechten lautet.

Somit muss er lediglich sein Bruteforcing-Tool anschmeißen und hoffen, dass neben dem schlecht gewählten Benutzernamen ein ebenso schlechtes Passwort gewählt wurde. Ich empfehle daher, einen Benutzernamen zu wählen, der sich nicht ohne weiteres erraten lässt und einen Spitznamen im Backend zu definieren.

Um auf Nummer Sicher zu gehen, kann man sich auch mehrere Accounts anlegen, die jeweils für einen Zweck erstellt werden. So würde es zum Beispiel einen Redaktionsaccount geben, der nur Beiträge veröffentlichen und bearbeiten kann.

3. Änder dein Passwort regelmäßig

Unter deinem WordPress Backend kannst du dir jederzeit ein neues Passwort generieren. Aus Sicherheitsgründen sollte dies regelmäßig geschehen

Du solltest dein WordPress Passwort regelmäßig ändern

Das Regelmäßige ändern des Passworts ist eines der Themen, welches mich persönlich am meisten nervt. Aus Gewohnheit wählt man gerne sein Standardpasswort, damit man es nicht wieder vergisst und ein Passwort für alle Zugänge hat. Der Angreifer kann sich dies allerdings zu nutze machen. Stell dir vor, er kommt an dein Passwort und hat von nun an Zugriff auf alles. E-Mails, Facebook, Twitter … keine schöne Vorstellung oder?

Um dir das Merken eines neuen Passworts einfacher zu gestalten, kann ich dir folgenden Tipp geben: Bau dir eine Eselsbrücke für dein neues Passwort. Das mag vielleicht erstmal banal klingen, ist aber sehr effektiv und erfüllt seinen Zweck. Dazu denkst du dir einen Satz aus. Von diesem Satz nimmst du jeweils die Anfangsbuchstaben, fügst ein paar Zahlen hinzu und schmückst das ganze am Anfang und am Ende mit einem Sonderzeichen aus.

Zur Veranschaulichung dient dir folgendes Beispiel:

„Um 20 Uhr wähle Ich ein besonders sicheres Passwort für 15 Wochen“

Daraus würde nach meinem Leitfaden „U20UwIebsPf15W“ werden. Nun schmücken wir das Passwort noch mit Sonderzeichen aus: „#U20UwIebsPf15W#“. Uuund voilá: Jemand, der deine Eselsbrücke nicht kennt, wird es schwer haben, sich das Passwort zu merken oder es zu erraten – und sicher ist es zudem auch noch 🙂

Aus Sicherheitsgründen empfehle ich jedoch, nicht das hier genannte Beispiel-Passwort zu wählen.

4. Wie du die Anzahl der Loginversuche begrenzt

Mit dem Plugin "WP Limit Login Attempts" kannst du die Anzahl der Loginversuche deines Backends limitieren

Die Anzahl der Loginversuche begrenzen

Um der Bruteforce-Attacke noch weiter entgegenwirken zu können, gibt es die Möglichkeit, mit Hilfe eines Plugins die Anzahl der Loginversuche zu begrenzen. So könnte der Angreifer zum
Beispiel nach fünf fehlerhaften Loginversuchen gesperrt werden.

Das Plugin nennt sich „Limit Login Attempts“. Du kannst es direkt über das Pluginverzeichnis deines Blogs installieren. Nach der Installation kannst du das Plugin aktivieren und über die  dazugehörigen Einstellungen konfigurieren.

Es gibt Meinungen von Nutzern, die besagen, dass das Begrenzen der Loginversuche keine Verbesserung der Sicherheit darstellt. Generell ist das auch richtig, weil der Angreifer lediglich seine IP-Adresse ändern muss. Somit hätte er wieder fünf weitere Versuche, dein Passwort zu erraten. Der Angreifer muss es dann aber auch echt auf dich abgesehen haben – denn dafür muss der Angreifer viel Ausdauer mitbringen… oder ein Botnet.

5. Anmeldefehler unterdrücken

Es ist eigentlich eher Schwachsinn, aber wenn du auf Nummer sicher gehen möchtest, kannst du auch diese Anpassung an den Sicherheitsvorkehrungen für deinen Blog vornehmen.

Die Fehlerhinweise des WordPress Backend Logins kannst du ausblenden, indem du folgenden Code in die functions.php deines aktiven Templates schreibst:

Solltest du dein Theme aktualisieren, kann es dazu kommen, dass diese Änderung hinfällig wird. Bei einem Update werden Dateien des Themes nämlich überschrieben – ohne Rücksicht auf deine Änderung. Ich empfehle dir deshalb ein Child-Theme zu erstellen und deine Änderungen in diesem vorzunehmen. Dies bringt den Vorteil, dass deine Änderungen auch bei einem Theme-Update erhalten bleiben 🙂

6. Wie du dein WordPress Backend zusätzlich schützst

Gerade in der heutigen Zeit ist zusätzlicher Schutz immer gut. Angreifer werden mit der Zeit immer kreativer und entwickeln neue Angriffsmethoden. Somit wird es keine 100% -ige Sicherheit geben, wir können allerdings dafür sorgen, dass wir dem Angreifer so wenig Spielraum bieten wie nur möglich. Um zu verhindern, dass der Angreifer über eine Hintertür Zugriff auf dein Backend erlangen kann, solltest du es zusätzlich schützen.

Und wie machst du das am besten? Mit einem Verzeichnisschutz. Der Verzeichnisschutz bringt den Vorteil, dass ohne die Zugangsdaten niemand Zugriff auf das Backend bekommt. Somit werden Bruteforce-Attacken und SQL-Injections innerhalb deines Backends zu nichte gemacht. Alles was du brauchst ist die richtige Konfiguration innerhalb deiner .htaccess-Datei und eine Konfigurationsdatei für deine Zugangsdaten.

Um den Verzeichnisschutz einzurichten müssen wir zuerst die .htaccess Datei im wp-admin Ordner erstellen und folgende Zeilen hinzufügen:

AuthNamebeschreibt den anzuzeigenden Titel, der während der Passwortabfrage angezeigt wird. Diesen können wir beliebig ändern.
AuthUserFileist der Pfad zur .htpasswd Datei, in der Benutzername und Passwort niedergeschrieben sind. Das Passwort ist im MD5-Format hinterlegt
require userdefiniert den zu erwarteten Benutzernamen. Alle anderen Benutzernamen außer den in den eckigen Klammern sind somit unzulässig

Anschließend erstellen wir die .htpasswd Datei in dem Ordner, den wir bei AuthUserFile festgelegt haben. Fertig, der Verzeichnisschutz ist damit eingerichtet.

7. Warum du regelmäßig Backups machen solltestSollte es zu einem Hack gekommen sein, solltest du immer ein Backup deiner WordPress Installation vorliegen haben. Andernfalls kann nur sehr wenig gerettet werden

Ein Backup zu erstellen ist ebenso essentiell wie das regelmäßige ändern deines Passworts. Und wenn du auf Nummer sicher-sicher gehen möchtest, ein nicht zu vernachlässigender Schritt in
Richtung „sicherer Blog“.

Und warum ist ein Backup so wichtig? Stell dir vor, deine bisherigen Sicherheitsvorkehrungen reichen nicht aus und ein Angreifer schafft es, durch eine Hintertür Zugriff auf dein System zu bekommen. Er hat nun die volle Kontrolle darüber was er mit deiner Webseite macht.

Er könnte deinen Blog defacen (in der Gestaltung so verändern, dass ersichtlich wird, dass dein Blog gehackt wurde), Daten abgreifen oder sogar die Kontrolle des Administrationsaccounts übernehmen.

Sollte dieser Fall eintreten und du hast kein Backup dann hast du die Arschkarte gezogen. Du wirst alle bisherigen Änderungen manuell wiederherstellen müssen. Im schlimmsten Fall verlierst du sogar all deine bisherigen Blogbeiträge und du fängst wieder bei null an.

Damit du dieses Szenario gar nicht erst erleben musst, solltest du Regelmäßig ein Backup anlegen. Wie oft du ein Backup anlegst und in welchen Zeitabständen ist dir überlassen.

Ich empfehle dir, jeden Monat ein Backup anzulegen, damit du immer die aktuellsten Beiträge mit sicherst. Du kannst aber auch bei jedem neuen Blogbeitrag oder jeder neu erstellten Unterseite ein Backup anlegen.

Zudem empfehle ich, ein Full Backup durchzuführen, bei dem alle Daten auf deinem FTP-Server und Einträge deiner Datenbank gesichert werden.

Eine Anleitung wie du eine Sicherung deiner Webseite erstellst habe ich in einem anderen Blogartikel beschrieben.

8. Datenbankpräfix ändern

In der vorherigen Version dieses Artikels haben wir diese Sicherheitsvorkehrung nicht genannt. Der Datenbankpräfix ist dass, was vor jeder Tabelle erscheint. Standardmäßig hat WordPress den Präfix „wp_“ voreingestellt.

Im Falle einer SQL-Injection Attacke hat der Hacker ein leichtes Spiel, weil er sich frei durch unsere Datenbank bewegen und Daten abrufen kann. Der Grund dafür ist, dass er den Präfix kennt.

Wenn du es dem Angreifer schwer machen möchtest, dann änderst du im Optimalfall den Präfix – stellt sich nur die Frage, wie wir den Datenbankpräfix stattdessen benennen wollen.

Ich empfehle dir, den Präfix in etwas kryptisches umzuändern. Wir könnten zum Beispiel „ht24_“ als Präfix wählen, dies würde sich im Falle von htaccess24 aber leicht erraten lassen. Besser noch wäre „87access24_“.

Ohne den Zugriff auf die wp_config.php Datei kann der Angreifer nur schwer den Datenbankpräfix erraten – und das ist unser Ziel. Spiel etwas mit dem Namen deines Blogs oder wähl etwas völlig banales, was absolut gar nicht mit deinem Blog zutun hat.

Den Datenbankpräfix änderst du folgendermaßen in der wp_config.php Datei:

9. Wie du die URL zum WordPress Backend änderst

Deinen WordPress Blog kannst du noch weiter schützen, indem du die URL zu deinem WordPress Backend änderst. Der Begriff „WordPress Backend“ beinhaltet die Login- und Registrierungsseite, sowie die Administrationsoberfläche, mit der sich dein Blog verwalten lässt. Ich möchte gleich vorneweg sagen: Mit Hilfe dieser Einstellung lässt sich nicht verbergen, ob du nun WordPress oder eine andere Software für deinen Blog verwendest. Erfahrene Entwickler gucken sich meist nur den Quelltext an und erkennen anhand kleiner Merkmale, welches CMS du verwendest.

Aber welchen Vorteil bringt dir diese Änderung denn dann? Ganz einfach: Du versteckst dein Backend für potenzielle Angreifer. Er muss nun erst den Pfad zu deiner Administrationsoberfläche kennen, bevor er deinen WordPress Blog und deren Sicherheit testen kann. Und wie änderst du nun die URL zu deinem WordPress Backend? Dazu Installieren wir uns das Plugin „iThemes Security“ (vorher: Better WP Security) aus dem WordPress Plugin Verzeichnis.

Nach der Installation des Plugins musst du das Plugin nur noch aktivieren und anschließend deine Einstellungen vornehmen. Und schon sind wir fertig.

Ich habe nun 9 Punkte beschrieben, mit dem du deine WordPress Sicherheit verbessern kannst. Welche Methoden von den hier genannten verwendest du für deinen Blog und welche habe ich hier gar nicht erwähnt? Schreib mir doch ein Kommentar 🙂

  • Ich bin grade dabei meine WordPress Seite sicherer zu machen. Eure Beschreibung ist leicht verständlich und leicht nachvollziehbar. Trotz aller Sicherheitsmaßnahmen halte ich es für enorm wichtig, auch regelmäßig ein Backup einer Seite inklusive der Datenbank zu erstellen.

    • Hallo Andy,

      vielen Dank für dein positives Feedback. Ich arbeite zur Zeit an einem Redesign von Htaccess24 – im gleichen Atemzug bearbeite ich alle Artikel und werde dies dementsprechend hinzufügen 🙂

      Liebe Grüße,
      Jason Bladt

  • Die Tipps sind wirklich enorm wichtig und jeder Blogbetreiber sollte diese dringend beherzigen!

    Zusätzlich finde ich es auch sinnvoll, den Datenbankpräfix zu ändern, also vpn wp_ auf etwas kryptischeres. Das erschwert mögliche SQL-Injections sehr 😉

    Viele Grüße

    Timo

    • Hallo Timo,
      vielen Dank für dein Feedback. Das mit dem abgeänderten Datenbankpräfix stimmt, man sollte dies ebenfalls beherzigen. Ich habe den Artikel um diese zusätzliche Sicherheitsmaßnahme erweitert 🙂

      Liebe Grüße,
      Joel Bladt