WordPress absichern

Nachdem ich nun schon einige Zeit mit WordPress (WP) immer wieder zu tun habe und noch länger über Sicherheitsprobleme in dem Zusammenhang lese, habe ich mich entschlossen, einen Artikel zur Absicherung (hardening) von WP-Installationen zu schreiben. Das meiste davon ist sehr einfach und schnell umzusetzen. Jedem, der einen Blog mit WordPress betreibt kann ich nur raten, sich die Zeit dafür zu nehmen.

Ich versuche auch alles sehr allgemein verständlich zu halten, dass niemand mit den Begriffen Probleme bekommt. Sollten dennoch Fragen auftauchen – die Kommentare sind freigeschalten!

Problematisch ist es, wenn man nicht selbst Zugriff auf den Server hat. Einige Punkte (vor allem die ersten) lassen sich dann jedoch trotzdem noch umsetzen.

1. Es beginnt damit, immer die aktuellste Version einzusetzen. Im Admin-Bereich zeigt WP auch an, wenn ein update bereitsteht. Jetzt heißt es nur noch: nicht schieben, gleich machen 🙂 Leider gibt es genug Argumente gegen ein Update. Hier die häufigsten und die Antworten darauf:

  1. Ich befürchte das danach etwas nicht mehr funktioniert, weil ich etwas falsch mache!
    Es ist wirklich nicht schwer oder kompliziert, ein Update zu machen. Entweder mit der ein-Klick-Variante, oder einfach durch kopieren der neuen Dateien.
  2. Eines meiner Plugins funktioniert nicht mehr mit der neuen Version von WordPress – allein die Vorstellung daran gefällt mir nicht!
    Das kommt heute eigentlich nur noch selten vor. Wenn es doch vorkommt, hilft es auf der Seite des Plugins nachzuschauen, ob schon eine Anpassung in Arbeit ist. Ansonsten kann ich nur sagen: ein Update des Systems ist deutlich wichtiger, als auf ein Plugin für eine gewisse Zeit zu verzichten. Vielleicht gibt es ja auch mittlerweile ein alternatives Plugin, welches sogar noch besser meinen Vorstellungen entspricht?
  3. Ich mag die neue Version einfach nicht. Da gefällt mir das XY nicht!
    Ok, ich hab schon bessere Argumente gehört 😉 Aber auch hier gibt es meistens Abhilfe: für fast alles findet man mittlerweile ein Plugin oder Theme.
  4. Es kommen viel zu oft neue Updates! Mir fehlt die Zeit/Lust dazu!
    In der Regel gibt es drei Hauptversionen pro Jahr und ein kleineres Update pro Monat. Die kleinen Updates machen wirklich in den allermeisten Fällen nichts kaputt. Trotzdem sind sie die wichtigsten. Mit diesen werden meistens Sicherheitslücken geschlossen. Ein Update auf die neue Version sollte außerdem selten mehr als fünf Minuten in Anspruch nehmen. Die Stunde, oder selbst zwei Stunden pro Jahr dürfte man schon finden 🙂

2. Security Plugins. Es gibt einige Plugins, die einem die Absicherung zum großen Teil abnehmen. Hier stelle ich vier kurz vor.

  1. Secure WordPress
    Dieses Plugin deaktiviert unter anderem Fehlermeldungen beim Login, entfernt die Versionsnummer aus den ausgelieferten Seiten und Skripten/Stylesheets, hinterlegt index-Dateien im Plugins und Themes Verzeichnis.
  2. WP Security Scan
    Zeigt an, ob verschiedene Dinge zum absichern der Installation vorhanden sind. Die einzelnen Punkte und wie sie erreicht werden beschreibe ich in einem folgenden Artikel.
  3. WordPress File Monitor
    Der Datei Monitor überprüft die Installation auf Veränderungen und kann den Administrator dann per eMail (und auf der Administrationsoberfläche) davon in Kenntnis setzen. Wichtig ist hier, dass man die Variante mit den Hashes verwendet. So kann man schnell erkennen, ob zusätzliche Skripte oder ähnliches in die Installation geladen wurden. Das verschafft einem (deutliche) Anzeichen, ob ein Einbruch stattgefunden hat.
  4. WordPress HTTPS
    Dieses Plugin wird benötig, um den Administrationsbereich und die Benutzerlogin-Seite vollständig – und somit auch sichtbar – mit Hilfe von SSL auszuliefern. Näher beschrieben ist es in meinem Artikel “SSL-Auslieferung von WordPress“.

3. Nur die nötigsten Plugins und Themes installieren. Wenn ich verschiedene Plugins oder Themes ausprobieren möchte spricht ja auch nichts dagegen. Aber am Schluss steht in der Regel eine Entscheidung für eine kleine Auswahl. Die Plugins und Themes gegen die ich mich entschieden habe sollte ich dann auch gleich wieder entsorgen. Je mehr installiert ist, desto mehr Türen für einen Einbruch gibt es! Ein weiterer netter Seiteneffekt ist, WordPress wird schneller, je weniger Plugins und Themes installiert sind.

4. Wenn es nicht zwingend benötigt wird, sollte man auch die Registrierung von neuen Benutzern abschalten.

5. Den Webserver (für WordPress) sicher zu konfigurieren und fortgeschrittene Absicherung.

  1. .htaccess Dateien
    Zumindest das Hauptverzeichnis der WordPress-Installation und der Ordner /wp-admin/ sollten mit einer solchen Datei geschützt werden. Wie genau das funktioniert, habe ich bereits in einem seperaten Artikel beschrieben.
  2. Login und Administration per SSL absichern
    Die Oberfläche zur Konfiguration von WP ermöglicht leider nicht die gesamte Funktionalität. Um WordPress weiter abzusichern muss die Datei /wp-config.php angepasst werden. Was man hinzufügen muss und was noch zu erledigen ist, hab ich in dem Artikel “SSL-Auslieferung von WordPress” beschrieben. Voraussetzung ist natürlich, dass ein SSL-Zertifikat zur Verfügung steht. Wie man sehr schnell ein SSL Zertifikat seinem Apachen unterjubelt beschreibe ich auch in einem anderen Artikel.
  3. Dateirechte
    Auch wenn das automatisierte Update von WP nett ist und Arbeit spart. Es macht die Installation verwundbar. Also entweder alles, immer von Hand auf den aktuellsten Stand bringen, oder aber die Berechtigungen vor dem Update kurzzeitig verändern. Wie das schön und geht, beschreibt ein anderer Post dieser Artikelserie von mir. Hier erwähne ich nur die Variante, dass man alles von Hand macht. Hierzu müssen die Berechtigungen für die Dateien und Verzeichnisse so stehen, dass der Webserver nur lesend darauf zugreifen kann.
  4. Dateien löschen
    WordPress beinhaltet einige Dateien, die nicht notwendig für den Betrieb des Blogs sind: /readme.html und /liesmich.html (bei einer deutschen Installation). Diese kann man getrost löschen, einfach um weitere Anhaltspunkte auf die verwendete Version zu vermeiden. Dies ist zwar “security by obscurity“, also Sicherheit durch Verschleierung, hilft aber dennoch etwas bei automatisierten Skript-Attacken!
  5. Tabellenpräfix ändern
    Am einfachsten ist dies schon bei der Installation von WordPress einzurichten. Während der Installation fragt der Installer nach einem Tabellenpräfix. Dieser ist standardmäßig auf „wp_“ gestellt. Bevor man den Präfix im Nachhinein ändert, ist ein Backup der Datenbank absolut notwendig!
    Wie man den Präfix bei einem bereits installierten Blog ändert, erkläre ich in dem Artikel “Prefix der Tabellen von WordPress ändern“.
  6. Regelmäßige Backups
    Zum Schluss will ich noch auf regelmäßige Backups hinweisen. Wenn einmal etwas schiefgeht und ein Einbruch stattfindet, so kann man wenigstens ohne größere Probleme wieder einen halbwegs aktuellen Zustand des Blogs herstellen.

Die Artikelserie “Absichern von WordPress” soll helfen, die eigene Installation von WordPress auf einem Webserver gegen Angriffe zu schützen. Bisher sind erschienen:

Wer dann noch nicht genug hat, kann sich noch den Artikel “Hardening WordPress” im WordPress-Codex durchlesen.

2 comments

Leave a Reply

Your email address will not be published. Required fields are marked *