WordPress sicher machen – Praxistipps

Kategorie: Wordpress Tipps

WordPress ist das am meisten verbreitete Content-Management-System der Welt. Durch die zahlreichen Blogs und Foren, die sich mit WordPress beschäftigen, erhält man auf fast jede Frage eine Antwort. Diese Popularität hat allerdings auch Nachteile – weil es so viele WordPress-Installationen gibt, lohnt es sich für Hacker nach Sicherheitslücken zu suchen und gezielt WordPress-Webseiten anzugreifen. Daher ist es unbedingt nötig, die eigene WordPress-Seite gegen Hacker-Attacken abzusichern. Durch die hier beschriebenen Tipps kann die Sicherheit der eigenen WordPress Installation erheblich verbessert werden.

Inhalt

Standard-Tabellenpräfix wp_ ändern

Bei der Installation von WordPress sollte man das voreingestellte Tabellen-Präfix wp_ ändern, um sich von den anderen Installationen zu unterscheiden, die meist das voreingestellte Präfix wp_ belassen haben. Daher heißen die Tabellen standardmäßig wp_content,wp_options,.. Durch diese gleiche Benennung werden automatisierte Angriffe auf diese Datenbanktabellen erleichtert, daher empfiehlt es sich das Tabellenpräfix zu ändern, um die Sicherheit gegen automatisierte Hacker-Angriffe zu erhöhen.

Die Standardeinstelllung

sollte in ein individuelles Datenbank-Präfix geändert werden.

Starkes Passwort verwenden

Im nächsten Schritt der WordPress Installation kann das Passwort angegeben werden. Hier sollte darauf geachtet werden, ein Passwort zu wählen, welches für potentielle Angreifer nicht zu erraten ist. Das Passwort sollte Buchstaben, Zahlen und Groß- und Kleinschreibung enthalten. Das von WordPress vorgeschlagene Passwort ist dabei eine gute Wahl, falls man sich kein eigenes, sicheres Passwort ausdenken möchte.

WordPress-Login durch .htaccess schützen

Damit Hacker gar nicht erst auf die Login-Seite gelangen, kann die wp-login.php Seite durch einen .htaccess Zugriffsschutz gesichert werden. Dadurch ist schon der Zugang zur Login-Seite passwortgeschützt, bevor man zur eigentlichen Passwortabfrage für das Backend von WordPress kommt. Somit müssen zwei User-/Passwortkombinationen eingegeben werden, bevor man sich ins Backend einloggen kann.

Zunächst muss man den absoluten Pfad zur .htaccess-Datei feststellen. Dafür lädt man per FTP diese als pfad.php gespeicherte Datei in das Verzeichnis hoch in dem sich auch die .htaccess-Datei befindet:

<?php
$pfad = dirname(__FILE__);
echo $pfad;
?>

Anschließend gibt man http://www.ihredomain.de/pfad.php ein und auf dem Bildschirm erscheint der absolute Pfad, diesen Pfad muss man sich kopieren und danach die Datei pfad.php aus Sicherheitsgründen wieder löschen.

Im nächsten Schritt muss man folgenden Code in die .htaccess einfügen, wobei bei absoluterPfad der vorher kopierte Pfad eingefügt wird.

<Files wp-login.php>
AuthType Basic
AuthName "Passwortabfrage"
AuthUserFile absoluterPfad/.htpasswd
Require valid-user
</Files>

Jetzt muss eine leere Datei namens .htpasswd erzeugt werden. In diese Datei werden der Username und das verschlüsselte Passwort eingetragen.

Hierzu geht man auf die Seite http://www.htpasswdgenerator.de/ und sucht sich einen Username und ein Passwort aus und belässt die Verschlüsselungsmethode bei md5 und klickt schließlich unten rechts auf .htpasswd generieren. Der Inhalt des Feldes Ergebnis wird nun in die .htpasswd-Datei kopiert, diese Datei wird auf dem Server in das Hauptverzeichnis hochgeladen.

Sind alle diese Schritte korrekt durchgeführt worden, erfolgt beim nächsten Aufruf der Login Seite eine Passwortabfrage, bevor man zum WordPress-Loginformular gelangt.

wp-config.php durch .htaccess sperren

In der WordPress Konfigurationsdatei stehen neben zahlreichen anderen Angaben auch die Zugangsdaten zur WordPress Datenbank, um zu verhindern, dass Hacker diese Daten auslesen, kann der Zugriff auf wp-config.php durch .htaccess gesperrt werden, dazu muss man nur folgenden Codeschnipsel in die .htaccess einfügen.

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

Regelmäßige Updates durchführen

WordPress ist ständig darum bemüht, das System weiterzuentwickeln und neue Versionen zur Verfügung zu stellen. Deshalb ist wichtig, die WordPress Installation regelmäßig upzudaten. Man wird von WordPress im Backend auf diese Updates aufmerksam gemacht und kann durch Bitte aktualisiere jetzt. diese Updates problemlos durchführen.

Bei dieser Vorgehensweise hat man es in der Hand, wann das Update auf die neue WordPress-Version erfolgt. Möchte man immer die neueste WordPress-Version installiert haben, kann man diese Updates auch automatisiert erledigen lassen. Wenn die folgenden Zeilen in wp-config.php eingefügt werden, wird WordPress immer automatisch aktualisiert.

define( 'WP_AUTO_UPDATE_CORE', true );

Hierbei sollte aber immer beachtet werden, dass automatische Updates die eigene Seite eventuell zumindest vorübergehend lahm legen oder aber zu Fehlermeldungen führen können, wenn das installierte Theme oder bestimmte Plugins nicht mit der dann installierten WordPress-Version kompatibel sind. Daher sollte regelmäßig ein Backup der Website gemacht werden.

Eine empfehlenswerte Lösung, um die oben beschriebenen Probleme zu umgehen, ist die Variante nur die sogenannte Minor-Updates automatisiert durchzuführen. Bei diesen Updates werden lediglich Sicherheitsmängel und Fehler beseitigt, aber keine neue Funktionen eingefügt. Ein Update von Version 4.5.1 auf 4.5.2 ist ein sogenanntes Minor-Update, während ein Update von 4.5 auf 4.6 als Major-Update bezeichnet wird. Bei Minor-Updates kommt es nicht zu Kompatibilitätsproblemen mit Themes oder Plugins, während es bei Major-Updates durchaus zu diesen Problemen kommen kann.

Möchte man also nur die kleineren (minor) Updates automatisch durchführen lassen und die Hauptupdates weiterhin selbst durchführen, sollte man diesen Code in die wp-config.php einbauen:

define( 'WP_AUTO_UPDATE_CORE', 'minor' ); 

Plugins können auch automatisch aktualisiert werden, da viele Installationen aber über zahlreiche Plugins verfügen, ist es besser diese Plugins regelmäßig per Hand upzudaten, weil es ansonsten bei ständigen Plugin-Updates zu Kompatibilitätsproblem kommen kann.

Nicht genutzte Plugins- oder Themes sollten komplett gelöscht werden, da auch diese Dateien ein potenzielles Sicherheitsrisiko darstellen.

PHP Error-Reporting abstellen

Die Anzeige eventueller PHP-Fehler ist bei der Entwicklung einer Website eine sinnvolle Sache, um Probleme schnell und effektiv beseitigen zu können. Ist die Seite allerdings bereits online, hat die Anzeige von PHP-Fehlern einen gravierenden Nachteil und sollte daher abgestellt werden. Bei einigen PHP-Fehler wird unter Umständen der absolute Pfad der PHP-Datei angezeigt. Dieser Pfad kann Hackern den Angriff auf die Website enorm erleichtern, deshalb sollte man das PHP Error-Reporting in der Live-Umgebung durch folgenden Code deaktivieren.

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Verwandte Beiträge

WordPress Backend anpassen

Das Backend von WordPress kann durch einige Tipps erheblich verbessert bzw. verschönert werden. Im Folgenden wird die Umsetzung dieser Tipps anhand von praktischen Beispielen erläutert. Inhalt WordPress Login Formular stylen

WordPress Tipps zu Kategorien

In WordPress können die geschriebenen Beiträge in Kategorien eingeteilt werden, um die Übersichtlichkeit für die Leser zu erhöhen. Die Kategorien sollten möglichst eindeutige und aussagekräftige Namen bekommen. Inhalt WordPress Kategorien

Erklärung des WordPress Template Tags wp_list_pages

Mit dem Template Tag wp_list_pages werden grundsätzlich alle statischen Seiten einer WordPress Installation aufgelistet. Durch die zur Verfügung stehenden Parameter können viele verschiedene Veränderungen vorgenommen und der Code an die

WordPress Hooks – eine Einführung

Wird eine WordPress Seite aufgerufen, werden verschiedene Prozesse nacheinander ausgeführt. Durch einen Hook kann man sich über die functions.php in den WordPress-Code einhaken und diese Prozesse verändern. Die Hooks verbleiben

WordPress Shortcodes erstellen

Es gibt in WordPress die Möglichkeit häufig wiederkehrende Elemente in Shortcodes zu programmieren, um sich so den Aufwand der ständigen Eingabe des kompletten Textes beziehungsweise Codes zu ersparen. Die Shortcodes