WordPress absichern – Grundlagen und Profi-Tipps für mehr WordPress Sicherheit

WordPress absichern leicht gemacht

Jeder Blogger wird irgendwann einmal Opfer eines Hackerangriffs.

Bei vielen Bloggern wird einer dieser Angriffe auch mal erfolgreich sein.

Du musst dir darüber im Klaren sein, dass Hacker keine ungewaschenen, langhaarigen Jugendlichen in ihren dunklen Kinderzimmern sind. Das ist ein Klischee und wird in der Realität eher selten anzutreffen sein. Angriffe auf Blogs und Websites erfolgen heutzutage vollständig automatisiert.

Oft hört und liest man davon, dass man gewisse Sicherheits-Plugins installieren soll und wiegt sich dadurch in falscher Sicherheit. Durch die Automatisierung der Angriffe können nach fehlgeschlagene Log-In Versuchen die IP Adresse blitzschnell geändert werden. Dadurch werden Plugins wie Limit Login Attempts umgangen und auch IP Sperren anderer Plugins ausgetrickst.

Generell ist zu sagen, dass Angriffe natürlich nicht verhindert werden können und auch gegen das komplette Übernehmen einer Seite kann man sich nicht zu hundert Prozent absichern. Allerdings werden Hackversuche in der Regel recht schnell abgebrochen, wenn die Hürden zu groß sind.

Es ist also ratsam, es den Angreifern so schwierig wie möglich zu machen, denn dann suchen sie sich lieber einfachere Opfer.

Grundlagen für mehr WordPress Sicherheit

Wie in der Einleitung schon beschrieben ist es wichtig, dass du es den Angreifern so schwer wie möglich machst, deine Seite zu infizieren. Schon einfach umzusetzende Grundlagen können deinen WordPress Blog sehr viel sicherer machen. Die erste Hälfte dieses Artikels wird sich also mit mehreren Basics der WordPress Sicherheit beschäftigen.

Auf Aktualität achten

WordPress wird laufend mit neuen Updates versorgt, um entdeckte Sicherheitslücken zu schließen. So verhält es sich auch mit den Plugins und Themes professioneller Entwickler. Sie bringen bei bekannt werden von Schwachstellen neue Versionen heraus, um deinen Blog sicher zu halten.

Wenn du dich nicht so oft auf deinem Blog einloggst, wirst du nicht immer gleich die aktuellsten Updates einspielen. Dadurch machst du deinen Blog angreifbar. Schaue entweder alle paar Tage im Backend deines Blogs vorbei, oder nutze ein Plugin wie den WP Updates Notifier, um dich per E-Mail über Aktualisierungen informieren zu lassen.

Benutzername und Passwort

Ja ich weiß, ein alter Hut. Aber dieser alte Hut kann dich vor so einigen, bösen Überraschungen bewahren. Nutze auf keinen Fall den Benutzernamen „admin“ für dein Administrator Konto und gib ein sehr sicheres Passwort mit mehreren Zahlen und Sonderzeichen ein.

Hosterwahl

Um WordPress Sicherheit zu verleihen, solltest du schon bei der Hosterwahl eine kluge Entscheidung treffen. Der Hoster kann bereits serverseitig dafür sorgen, dass es Angreifern so schwer wie möglich gemacht wird, deinen Blog anzugreifen.

Als Blogger im deutschen Raum solltest du auch einen deutschen Hoster nutzen. Schon allein wegen des Serverstandorts und der damit verbundenen, kürzeren Ladezeit ist das empfehlenswert. Ich empfehle dir RAIDBOXES* oder all-inkl*.

Wenn du mehr Infos zu der Hosterauswahl benötigst, schaue doch mal hier vorbei.

Plugins prüfen

Am besten nutzt du so wenig Plugins wie möglich. Jedes Plugin bedeutet einen Haufen zusätzlichen Programmiercode und bietet damit potenzielle Angriffsflächen. Wenn du ein neues Plugin installieren möchtest, schaue zunächst einmal, wann es zuletzt aktualisiert wurde und ob jemand in den Bewertungen bereits in den Quellcode reingeschaut und ihn positiv bewertet hat.

Regelmäßige Backups

Wenn es dich dann doch einmal erwischt hat, ist es gut, ein Backup zu besitzen. Am besten lässt du automatisiert und in regelmäßigen Abständen Backups deines Blogs anlegen.

Wichtig ist, dass du diese Backups nicht nur auf deinem Server speicherst, denn dort können sie von möglichem Schadcode erreicht werden. Speichere sie also immer zusätzlich lokal auf deinem Rechner oder lege sie in einem Online-Speicher ab.

Ein WordPress Backup anzulegen ist einfacher als du denkst. Wie das funktioniert, erfährst du in meinem Artikel: Rette deinen Blog – Dein WordPress Backup in nur 5 Minuten.

Schütze deinen Computer

Als potenzielle Gefahr für deinen Blog steht der Computer zwar nicht ganz oben, aber er steht mit auf der Liste.

Wieso? Ganz einfach.

Du überträgst Bilder und andere Dateien von deinem Computer auf den Blog. Und bestimmt hast du dich auch schon per FTP mit deinem Webspace verbunden. Über diese Wege kann ein sich ein Virus oder Schadprogramm von deinem Computer aus auf den Blog übertragen.

Installiere dir ein Anti-Viren Programm, um deinen Computer als Gefahr auszuschließen. Kostenlose Programme für Windows und OSX sind zum Beispiel Avast oder Avira.

WordPress absichern wie die Profis

Die oben genannten Maßnahmen sorgen schonmal für eine sehr gute Grundlage gegen Angriffe. Es gibt aber natürlich noch mehr Hürden, die man den Hackangriffen in den Weg stellen kann.

Das schöne ist, diese Maßnahmen musst du nur einmal einrichten. Danach funktionieren sie komplett von alleine und helfen, deinen Blog sicher zu machen.

Dateiberechtigungen einstellen

Die Dateiberechtigungen legen fest, wer auf deine WordPress Dateien zugreifen darf. Wenn diese Berechtigungen also falsch eingestellt sind, öffnest du Tür und Tor für Angreifer.

Eine Änderung der Berechtigungen kannst du ganz einfach per FTP vornehmen. Du öffnest Filezilla oder ein anderes FTP Programm, verbindest dich mit deinem Webspace und machst einen Rechtsklick auf die entsprechende Datei oder den Ordner. Im Anschluss kannst du auf „Dateiberechtigungen“ klicken und dort die Einstellungen vornehmen.

Folgende Berechtigungen haben sich bewährt und werden auch von WordPress empfohlen:

  • Alle Dateien erhalten 644
  • Alle Ordner erhalten 755
  • Die wp-config.php erhält 660 oder 400

Diese Berechtigungen sorgen dafür, dass

  • dein Nutzeraccount Dateien lesen und bearbeiten darf
  • WordPress Dateien und Ordner erstellen, bearbeiten und löschen darf
  • Niemand anderes deine Datenbank Zugangsdaten in der wp-config.php sehen kann

Die wp-config Datei sperren

Die wp-config.php Datei in dem Hauptverzeichnis deiner WordPress Installation enthält Zugangsdaten zu deiner Datenbank und weitere, sensible Daten. Damit niemand auf sie zugreifen kann, solltest du sie komplett sperren.

Dies geschieht ganz einfach mit einem kurzen Code, den du in der .htaccess Datei deines Hauptverzeichnisses einträgst. Öffne also noch einmal dein FTP Programm und verbinde dich mit dem Server. Lege zunächst ein Backup der Datei an (einfach auf deinen Rechner übertragen oder kopieren) und bearbeite nun die .htaccess Datei.

Dort werden bereits ein paar Zeilen drin stehen, diese kannst du einfach ignorieren und ganz am Ende einen Absatz und den folgenden Code einfügen:

#Blockiert den Zugriff von außen auf die wp-config.php Datei
<files wp-config.php>
Order allow,deny
Deny from all
</files>

Auslesen des Nutzernamens verhindern

Bleiben wir direkt beim Bearbeiten der .htaccess Datei. Als nächstes fügen wir noch einen Code ein, der verhindert, dass dein Benutzername auf einfache Art ausgelesen werden kann.

Bei WordPress Websites kann über domain.de/?author=1 direkt auf die Autorenseite des Benutzers mit der ID 1 zugegriffen werden. Dies ist in den meisten Fällen der Administrator.

Um diesen Schutz einzufügen, muss der folgende Code in deiner .htaccess stehen:

# Verhindert das einfache Auslesen von Nutzernamen
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
RewriteRule (.*) /blog/?author= [NC,L,R=301]

Den Login per Passwort schützen

Das ist eine der effektivsten Maßnahmen gegen das Hacken deines Blogs über die Loginseite und sie ersetzt dir die meisten Sicherheitsplugins. Oftmals wird dort von automatisierten Programmen einfach versucht, mithilfe verschiedener Nutzernamen und Passwörter, Zugang zu deinem Blog zu bekommen.

Du kannst diese Login Seite mit einem Passwort schützen, wodurch gar nicht erst auf das Login-Formular zugegriffen werden kann.

Zwar musst du dich bei jedem Login (wenn du nicht dauerhaft eingeloggt bist) doppelt einloggen, das ist in der Praxis aber schnell erledigt. Zudem macht sich dieser minimale Komfortverlust durch eine deutlich höhere WordPress Sicherheit bemerkbar.

Die Maßnahme, die ich dir jetzt erkläre, funktioniert nur auf sogenannten Apache Servern. in 90% der Fälle, liegt deine Seite auf so einem Server. Dies ist der Fall, wenn du bei all-inkl, Strato, Domainfactory, Hosteurope, 1und1, One oder auch vielen weiteren Hostern bist.

Wenn du ganz sicher gehen möchtest, frage einfach kurz bei deinem Hoster nach oder schaue in die Beschreibung deines Hostingvertrags.

So, nun kommen wir aber zur Umsetzung. Keine Sorge, ich erkläre jeden Schritt bis ins Detail:

  1. Zunächst benötigst du eine .htpasswd Datei in deinem Hauptverzeichnis
  2. Diese Datei wird dann mit einem Benutzernamen und verschlüsselten Passwort befüllt
  3. Anschließend kommt noch ein Code in die .htaccess Datei

.htpasswd anlegen

Erstelle mit einem Editor (Word ist keiner, Notepad++ und Sublime Text sind welche) eine Datei und speichere sie als .htpasswd ab. Füge keine Dateiendung wie .txt oder ähnlichem ein.

Um den Inhalt der Datei zu erstellen, nutzen wir am besten diesen Generator. Dort gibst du den Benutzernamen und das Passwort ein, wählst als Verschlüsselungsmethode „md5“ aus und klickst auf den Button „.htpasswd generieren“.

Du bekommst nun einen Text ausgespuckt. Diesen kopierst du und fügst ihn in deine soeben erstellte .htpasswd ein. Lade diese Datei nun per FTP in das Hauptverzeichnis deiner WordPress Installation hoch.

.htaccess anpassen

Rufe jetzt die .htaccess Datei aus deinem Hauptverzeichnis auf. Nun fügst du (wieder ganz am Ende) den folgenden Code ein. Dieser gibt an, für welche Datei (wp-login.php) der Schutz gilt, und wo die Datei mit dem Benutzernamen und Passwort liegt.

# Ab Apache 2.4
# Auth protect wp-login.php
<Files wp-login.php>
AuthType Basic
AuthName "Restricted Admin-Area"
AuthUserFile /PFAD/ZUR/.htpasswd/EINGEBEN
Require valid-user
</Files>
# Deny access to important files
<FilesMatch "(\.htaccess|\.htpasswd)">
Require all denied
</FilesMatch>

An der markierten Stelle musst du den Pfad zu deiner .htpasswd eingeben. Da du ja beide Dateien im Hauptverzeichnis liegen hast ist dieser Pfad nichts anderes als „/“ ohne die Anführungszeichen natürlich.

Passwortschutz testen

Jetzt testest du das Ganze, indem du deine normale Login Seite aufrufst. Ob das /wp-admin oder /wp-login ist, spielt keine Rolle.
Wenn du nun ein weiteres Fenster erhältst, in dem du deinen Benutzernamen und das Passwort eingeben musst, um auf die Seite zuzugreifen, ist alles gut gegangen.

SSL-Verschlüsselung aktivieren

Du kannst den gesamten Traffic deines Blogs mit einem sogenannten SSL-Zertifikat verschlüsseln. Durch eine HTTPS-Verbindung zwischen dem Client (Nutzer) und dem Server (Website) wird die Übertragung der Daten verschlüsselt und zudem die Identität des Servers bestätigt. Das bedeutet, dass bei dem Aufruf einer Website zunächst ein Zertifikat vom Server an den Client geschickt wird, um die Echtheit des Servers zu bestätigen.

Diese Verschlüsselung einzurichten, benötigt einige Schritte. Da dies hier den Rahmen sprengt, verweise ich dich auf einen anderen Artikel von mir, in dem ich dir genau das, ganz einfach erkläre: WordPress und HTTPS – sichere SSL-Verschlüsselung für deinen Blog.

 

So, wenn du diese Maßnahmen umgesetzt hast, bist du in Sachen WordPress Sicherheit einen sehr großen Schritt weiter. Welche dieser Schritte hast du umgesetzt und wie sicherst du dich gegen Angriffe ab?

Jonas Tietgen

Jonas ist leidenschaftlicher Blogger und Gründer von wp-ninjas.de. Wenn er nicht gerade an seinem eigenen Blog arbeitet oder anderen Bloggern hilft, echte WordPress Ninjas zu werden, verbringt er seine Zeit mit Basketball und Tennis - egal ob zuschauen oder selber spielen.

3 Kommentare

  1. Paul   •  

    Hallo Jonas, ich baue gerade eine kleine WordPress Webseite die ich geschäftlich nutzen werde.
    Meine Frage: Im footer habe ich ein impressum angegeben mit der Geschäfts E-Mail Adresse.
    Wie kann ich die E-mail Adresse vor Spam schützen? (Verschlüsseln, CSS????)
    Am besten ohne ein Plugin.

    Gruß Paul

  2. Daniel Ruf   •  

    Naja. Die Identität des Servers wird bei MitM-Angriffen nicht zuverlässig prüfbar sein. HPKP, DNSSec und CAA sind da wesentlich wichtiger sowie HSTS. Fast jede Antiviren-Lösung (oft „Internet Security“ genannt) betreibt in gewisser Weise MitM-Angriffe, da das SSL-Zertifikat gegen das der Sicherheits-Software ausgetauscht wird 😉

    Header für CSP, XSS-Filter/-Auditor usw bitte nicht außer Acht lassen: https://securityheaders.io/?q=https%3A%2F%2Fwp-ninjas.de&hide=on&followRedirects=on

    • Jonas Tietgen Jonas Tietgen   •     Autor

      Oookay, da steige auch ich dann nicht mehr durch, aber danke für deine Infos! 🙂

Schreibe einen Kommentar

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