WordPress sicher machen – Die Installation

WordPress sicher machen –
mit 6 einfachen Schritten

Vor kurzem haben wir uns im Büro gefragt: Ist WordPress sicher? Mein Standpunkt dazu ist, dass WordPress „unsicher“ ist. Allerdings ist es genauso unsicher, sich im Straßenverkehr zu bewegen. Also stellten wir uns die Frage: Wie kann man WordPress sicher machen?

Natürlich ist WordPress nach der Installation sicher! Jedoch kann man einiges dafür tun, um das Maß an Sicherheit zu erhöhen. Um noch einmal den Vergleich zum Straßenverkehr zu ziehen: Moderne Autos haben alle einen Gurt, Airbag und einige Assistenten, die das Fahren sicherer machen sollen. Und ständig kommen weitere Verbesserungen hinzu.

So gibt es auch bei WordPress einige Punkte, die man tun kann, um sein persönliches Maß an Sicherheit zu erfüllen. Dabei reicht die Spanne dessen, was man tun kann von dem Zeitpunkt der Installation, über die Pflege bis hin zum Benutzer selbst. So habe ich folgende List zusammengestellt.

 

  • Die Installation von WordPress
  • Das verwendete Theme
  • Die verwendeten Plugins
  • Pflege und Wartung von WordPress
  • Der Benutzer
  • Die Wahl des richtigen Hostinganbieters für WordPress

 

In diesem Beitrag geht es um die Installation von WordPress und Dinge, die man unmittelbar bei der Installation oder direkt nach der Installation tun kann, um WordPress sicher zu machen. Dabei habe ich darauf geachtet, dass die genannten Punkte einfach umzusetzen sind. Los gehts!

Die Installation von WordPress

Schon bei der Installation kann man darauf achten, das zukünftige System sicher zu gestalten. So bietet es sich an, WordPress in einem Unterverzeichnis zu installieren. Ganz nebenbei schaft dies auch Ordnung auf dem Webspace.

Zum Beispiel kann man da wp/ oder blog/ sehr gut nutzen. Diese sind natürlich noch sehr sprechend. Wer weniger sprechende Verzeichnisse mag, der nutzt dann Namen wie f6e5/.

Da WordPress nun in einem Unterverzeichnis installiert ist, möchte man sicher nicht immer dieses mit angeben. Daher sind nun ein paar kleine Handgriffe notwendig um WordPress wieder aus dem Hauptverzeichnis aus aufzurufen. Diese erkläre ich im weiteren Verlauf. Vorher noch ein paar Punkte die bei der Installation zu berücksichtigen sind.

Ändern des Tabellen-Prefix

Standardmässig schreibt WordPress vor die Tabellen in der Datenkbank ein „wp_„. Dies ändere ich schon allein deshalb um mehr Übersicht zu haben. Manch einer nimmt zufällige Werte wie „f6e5_„, andere wählen sprechende kürzel wie „meinehomepage_„. Hat man mehrere WordPress-Installationen in einer Datenbank, ist die sprechende Variante sicher einfacher um die Tabellen langfristig zu unterscheiden.

In der Vergangenheit habe ich bei Kundenprojekten auch schon Kürzel wie „wp23_“ gesehen. Hier wurde einfach die Anzahl der Installationen mitgezählt.

Benutzernamen bei der Installation

Im Laufe der Installation sollte man darauf achten bei der Angabe des Benutzernamens einen besseren Benutzernamen als „Admin“ zu finden.

Bei älteren WordPress-Installationen wurde der Benutzername Admin per Default vergeben. So kann es sein, dass ein möglicher Angreifer diesen in Kombination mit einer Vielzahl an Passwörtern versucht. So ein Verhalten konnte ich schon beobachten. Um Angriffen dieser Art einen Riegel vor zu schieben, gibt es auch Plugins, die dies unterbinden. Darauf gehe ich im Beitrag WordPress sicher machen – Die verwendeten Plugins noch genauer ein.

Anpassen der Security-Keys in der wp-config.php

In der wp-config.php gibt es aktuell neun Salt-Schlüssel, dies sind zufällige Zeichenfolgen, die von WordPress statt Sessions genutzt werden, um für sichere Logins zu sorgen. Für alle, die hier etwas tiefer ins Thema gehen wollen, sei der Beitrag Why WordPress Authentication Unique Keys and Salts Are Important“ von http://codeseekah.com empfohlen.

Grundsätzlich sind die Schlüssel nach der Installation schon mit Standard-Werten vorhanden, sollten jedoch mit zufälligen Werten gefüllt werden.

/**#@+
* Sicherheitsschlüssel
*
* Ändere jeden KEY in eine beliebige, möglichst einzigartige Phrase.
* Auf der Seite {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} kannst du dir alle KEYS generieren lassen.
* Bitte trage für jeden KEY eine eigene Phrase ein. Du kannst die Schlüssel jederzeit wieder ändern, alle angemeldeten Benutzer müssen sich danach erneut anmelden.
*
* @seit 2.6.0
*/
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
define('LOGGED_IN_KEY', '...');
define('NONCE_KEY', '...');
define('AUTH_SALT', '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT', '...');
define('NONCE_SALT', '...');

Wie man sehen kann, steht in der wp-config.php auch eine URL und ruft man diese auf, bekommt man zufällig generierte Keys. Probier es einfach mal aus. https://api.wordpress.org/secret-key/1.1/salt/

Den Inhalt der Seite kann man komplett kopieren und in die eigenen wp-config.php einfügen. – Speichern nicht vergessen. ;)

Anpassen der index.php von WordPress

  1. Kopiere die index.php in das Hauptverzeichnis
  2. Öffne die Datei und bearbeiten folgenden Zeile

vorher:

require('./wp-blog-header.php');

nacher:

require('./unterverzeichnis/wp-blog-header.php');

 Anpassen der WordPress konfiguration

Nun in WordPress einloggen und unter Einstellungen -> Allgemein die beiden Einträge wie in der Abbildung anpassen.

WordPress Konfiguration

  • Die WordPress Adresse bleibt unverändert.
  • Bei der Seitenadresse wird das Unterverzeichnis entfernt.

Die wp-config.php verschieben

Da unser WordPress nun in einem eigenen Verzeichnis liegt, können wir nun die wp-config.php verschieben und zwar eine Ebene nach oben. WordPress findet diese dort auch. Da dies nicht dem Standard-Speicherort der wp-config.php entspricht, findet sie nicht jeder sofort. Wirklich versteckt ist sie jedoch nicht.

Dazu bietet es sich an die wp-config.php gleich noch vor unbefugten Zugriffen zu schützen. Dazu einfach die .htaccess-Datei um folgende Zeilen ergänzen:

# wp-config.php schuetzen
<files wp-config.php>
Order deny,allow
deny from all
</files>

Sollte noch keine .htaccess-Datei da sein, evtl. im FTP Client prüfen, ob dieser versteckte Dateien anzeigt. Ansonsten einfach eine erstellen. WordPress wird dies sofern es die Verzeichnisrechte erlauben später selbst tun, wenn man die Permalinks anpasst.

Eine weitere Methode seine wp-config.php, bzw. die dort enthaltenen Daten, zu schützen erklärt Frank Bültge im „Beitrag Schütze deine wp-config.php“

Anpassen der Verzeichnisrechte

Im Codex von WordPress findet man dazu folgende Hinweise:

  • Verzeichnisse chmod 755
  • Dateien chmod 644

Damit sollten automatische Updates von WordPress und auch die meisten Herausforderungen im WordPress-Alltag gut zu meistern sein. Vereinzelt kann es sein, dass Plugins im Upload-Verzeichnis noch ein bisschen mehr brauchen. Dann kann man dort die Rechte auf chmod 777 setzen. Dies sollte jedoch eher vermieden werden. (Die Beste Haustür nützt nichts, wenn nicht abgeschlossen ist.)

Ein kleiner Tipp: Nicht zu vielen Benutzern Administrationsrechte geben, dies ist zwar nicht direkt kritisch. Aber würdest Du wirklich genauso vielen Leuten deinen Haustür oder Autoschlüssel geben?

Zusammenfassung der Installation

Folgende Dinge haben wir nun erledigt:

  • WordPress in einem Unterverzeichnis installiert
  • Den Tabelle-Prefix angepasst
  • Bei der Installation einen Benutzerdefinierten Loginnamen vergeben, der nicht Admin lautet
  • Die Security-Keys in der wp-config.php mit individuellen Werten versehen
  • wp-config.php in ein anderes Verzeichnis verschoben, um sie so vor unberechtigten zugriffen zu schützen
  • Die Schreibrechte der Verzeichnisse geprüft und ggf. angepasst.
  • Nicht zu viele Benutzer mit Adminrechten

Das war der erste Teil der Reihe WordPress sicher machen. Ich hoffe, ich konnte Dir damit etwas helfen und freue mich über konstruktive Kritik, Anregungen oder Fragen! 

Dieser Beitrag ist Teil 1 von 2 aus der Serie: WordPress sicher machen | Zeige alle Teile

Teil 1: WordPress sicher machen – Die Installation

Teil 2: WordPress Sicher machen – Das Theme

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Deine Daten in der Kommentarfunktion werden nur für diese verwendet. Weitere Informationen findest du in der Datenschutzerklärung.

Wartung für WordPress?
Schon ab 1 Euro pro Tag!

Nach oben