Blog erstellen – Schritt 6 – Deine Website schützen

Aus diesem Beitrag erfähsrt du, wie du deine Website schützen kannst gegen Bedrohungen von außen, insbesondere Hacker. Daneben behandelt der Beitrag auch das Backup-Management für dein Blog.

WordPress beinhaltet im Auslieferzustand einige Schwachstellen, die du mit bewährten Handgriffen und Handlungsanweisungen bereinigen kannst. Das ist insbesondere deshalb wichtig, weil WordPress ein beliebtes Ziel für Hacker-Angriffe ist. Wenn die Handlungsanweisungen im Einzelfall nicht detailliert genug erscheinen, findest du weiterführende Beschreibungen dazu im Netz.

Vorweg eine Anmerkung zu den großen Security-Plugins für WordPress: diese Plugins können zwar deine Website schützen, sind oftmals aber riesige Software-Pakete, die den Nicht-Profi schon bei den Einstellungen schnell überfordern und oft eine unüberschaubare Über-Funtionalität mitbringen. Sie können zudem auch die Ladezeit einer Website in den Keller reißen.

Ich bin eher ein Freund vieler kleiner, gezielter Maßnahmen an den sensiblen Stellen. Das bläht die Website nicht unnötig auf und ich weiß genau, wo ich eine Barriere eingefügt habe. Bei den Sicherheits-Plugins habe ich diesen Überblick nicht. Mit den passenden Anleitungen (siehe unten) kannst du an vielen Stellen eigenständig die richtigen Einträge im Quellcode setzen und so deine Website sichern.

Wie du deine Website schützen kannst

  • Dein Login: sicherer Benutzername und sicheres Passwort sind ganz wichtig. Bei Brut Force Attacken werden einfache Passwörter schnell geknackt.
  • Der angezeigte Name: sollte auf keinen Fall mit deinem Login-Benutzernamen identisch sein. Denn Brut Force Attacken nutzen unter anderem den angezeigten Namen als möglichen Benutzernamen im Rahmen ihrer Attacken. Hierfür musst du in der Datenbank eine Änderung vornehmen (> wp_users).
  • Das Datenbank- Prefix solltest du ändern: in der wp-config.php und in allen Datenbank-Tabellen.
  • Den Sicherheitsschlüssel für die Datenbank-Tabellen solltest du neu generieren: über https://api.wordpress.org/secret-key/1.1/salt/ im Browser einen neuen Sicherheitsschlüssel generieren lassen und in der wp-config.php einsetzen
  • Umstellung des Admin-Bereichs auf SSL in der wp-config.php: define(‚FORCE_SSL_LOGIN‘, true);
    define(‚FORCE_SSL_ADMIN‘, true);
  • Per Befehl in der wp-config.php die online-Bearbeitung des Themes und der Plugins abstellen (ist bei neueren WordPress-Versionen möglicherweise schon voreingestellt)
  • Zusätzlich dein Login zur Website sichern über eine 2-Faktor-Authentisierung (2FA). Alternativ eine 2. Passwort-Ebene vor dein Login schalten über eine .htpassw und die .htaccess. (dieser Punkt ist sehr wichtig, auch wenn du per Plugin (z. B. Limit Login Attempts Reloaded) einen Schutz gegen Brute Force Attacken eingerichtet hast. Denn für diese Attacken werden oft viele Rechner gleichzeitig eingesetzt, mit deren Hilfe eine Attacke nach einem verweigerten Zugriff automatisch von einer anderen IP-Adresse fortgesetzt wird.)
  • Wp-config.php / .htaccess / liesmich.html / readme.html / license.txt schützen durch Eintrag in der .htaccess (damit Hacker nicht leichtes Spiel haben, wertvolle Infos über deine Website zu finden):
    #Protect the files
    <FilesMatch“(.htaccess|wp-config.php|liesmich.html|readme.html
    |license.txt )“>
    order deny,allow
    deny from all
    </FilesMatch>
    (nehme in den Befehl nur die Dateien auf, die du tatsächlich auch findest; sie stehen in der obersten Ebene in deinem Datei-Verzeichnis). Das Löschen der Dateien liesmich.html, readme.html und license.txt wäre auch eine Option, macht aber wenig Sinn, weil sie beim nächsten WordPress-Update erneut erstellt würden.
  • Der Schutz der XML-RPC.php über den gleichen Befehl ist nicht erfoderlich, wenn du das Plugin Limit Login Attempts Reloaded installiert hast (was ich sehr empfehle, siehe nächster Punkt). Dieses Plugin überwacht auch die XML-RPC-Schnittstelle (ein beliebter Zugang für Hacker).
  • Das Plugin Limit Login Attempts Reloaded installieren (schützt dich vor Brute Force Attacken und ist DSGVO-konform, wenn du in den Einstellungen den entsprechenden Haken setzt)
  • Umstellung der Website auf https:
    Die Umstellung der Website von http auf https ist spätestens ab dem Umgang mit personenbezogenen Daten der Besucher Pflicht (DSGVO), aber auch schon seit Jahren ein Ranking-Faktor bei Google. Unter https wird die Datenverbindung verschlüsselt und ein Man-In-The-Middle-Angriff erschwert. Hierfür sind einige Schritte erforderlich, wenn du deine Website nicht schon im Rahmen der Installation von WordPress auf https einrichten konntest:
    1. Die Installation eines SSL-Zertifikates. Viele Hoster bieten in ihrem Dashboard für ihre Kunden die einfache, kostenlose Installation eines solchen SSL-Zertifikates an. Wenn nicht: Let’s Encrypt bietet kostenlos ein SSL-Zertifikat an. Sollte dein Hoster dieses Zertifikat nicht unterstützen, gibt es alternativ andere Anbieter (kostenpflichtig).
    Mittlerweile ist TLS als Nachfolger von SSL etabliert und wird von den Hostern  im Rahmen der Serverkonfiguration in aller Regel auch genutzt. Das Zertifikat läuft aber weiterhin unter der Bezeichnung SSL.
    Maßgeblich ist in diesem Zusammenhang auch nicht das Zertifikat als solches, sondern die tatsächlich unterstützten Protokolle: SSL2 und SSL3 sind veraltet und enthalten gravierende Sicherheitslücken. Aber auch TLS 1.0 und TLS 1.1 beinhalten Schwachstellen und sind überholt. Mit TLS 1.2 oder sogar TLS 1.3 (seit 2018) fährt man sicher. Wenn du auf deiner Website einen Zahlungsverkehr über Kreditkarten einbinden willst, ist  mindestens die Unterstützung von TLS 1.2 erforderlich, um die Einhaltung der PCI-DDS zu gewährleisten.
    Du kannst per Online-Tool (https://globalsign.ssllabs.com/) kostenlos prüfen, welches Protokoll dein Hoster auf seinen Servern unterstützt. Die wirklich guten (teureren) Hoster heben sich unter anderem an dieser Stelle von den preiswerteren Masser-Hoster ab.
    2. Im WordPress-Dashboad > Einstellungen > Allgemein > in beiden Zeilen (WordPress-Adresse und Website-Adresse) “http” durch “https” ersetzen > speichern > ausloggen > neu einloggen >.
    3. Im WordPress-Dashboard > Einstellungen > Permalinks > erneut abspeichern (das aktualisiert die Permalinks aller Beiträge und Seiten auf die neue URL-Variante). Alle anderen internen Verlinkungen (zu eigenen Beiträgen, eingebundene Bilder, usw.) müssen aber auch noch umgestellt werden. Das geschieht am einfachsten per Plugin:
    4. Backup deiner Website erstellen (ganz wichtig für eine so weitreichende Maßnahme)
    5. Installation des Plugins “Better Search Replace”
    6. Im WordPress-Dashboard > Werkzeuge > Better Search Replace >
    im Feld “Suchen nach” die http-Variante deiner URL eintragen: http://dein-blog.de
    im Feld “Ersetzen durch” die neue Variante einsetzen: https://dein-blog.de
    im Feld “Tabellen auswählen” alle Tabellen markieren (Strg + A)
    im Feld “Testlauf?” den Haken löschen
    “Suchen/Ersetzen starten”
    7. Durch einen zusätzlichen Eintrag in der Datei .htaccess die Auslieferung jeder Seite als https erzwingen. Hierzu per FTP-Programm (oder über das Dashboard deines Hosters) folgende Code-Zeilen einfügen:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
    8. Alle Verlinkungen von externen Quellen zu deinem Blog (z. B. aus deinen Accounts auf Social Media Kanälen) solltest du ebenfalls anpassen und umstellen auf https.
    9. Falls du deinen Blog schon mit der Google Search Console verbunden hast, muss auch hier die https-Variante deiner URL neu hinzugefügt werden. Danach solltest du direkt deine Sitemap(s) neu einreichen, um die Umstellung in der Google-Suchmaschine zu beschleunigen.
    Die alte URL kannst du nach einiger Zeit löschen, wenn du die historischen Daten aus der http-Zeit nicht mehr benötigst.
  • Server-Signatur ausblenden per Eintrag in der .htaccess (kann man machen, schadet nicht):
    ServerSignature Off
  • Bei aktivierter Kommentar-Funktion: ein Anti-Spam-Plugin installieren, welches DSGVO-konform ist. Das in WordPress vorinstallierte Plugin Akismet ist nicht DSGVO-konform. Das solltest du deinstallieren. (Schau besser nach AntiSpam Bee).
  • Prüfe, ob dein Hoster das Directory Browsing unterbindet. Hierzu gibst du im Browser den Verzeichnispfad von deiner Seite ohne die Top Level Domain, z.B. “.de” ein:
    http: //www.deine-seite (ohne “.de”)/wp-content/uploads/Jetzt sollte eine “403 oder 404 Seite nicht gefunden” -Meldung erscheinen. Dann hat dein Hoster die passende Einstellung schon vorgenommen.Erscheint dagegen eine Dateiliste, ist das Directory Browsing nicht unterbunden. Das wäre schlecht. Denn Hacker finden in diesem Directory wertvolle Infos über installierte Plugins und haben dann Zugriff auf Bilder und andere Dateien. Für diesen Fall musst du in der Datei .htaccess folgende Zeilen ergänzen:# Prevent Directory Listings
    Options -Indexes
  • Halte deine WordPress-Installation, das Theme und alle Plugins stets auf dem neuesten Stand. Installiere dafür sehr zeitnah alle zu Verfügung stehenden Updates. Sie werden dir in deinem Dashboard angezeigt. Hintergrund: WordPress, viele Themes und auch die meisten Plugins sind Open Source Software. Das bedeutet, der Quellcode steht jedem zur Verfügung. Auch Hackern. Und die suchen stets nach Sicherheitslücken in diesem Quellcode, um gezielt angreifen zu können.
  • Prüfe regelmäßig, ob die von dir verwendeten Plugins noch gepflegt und weiterentwickelt werden. Das erkennst du an den Angaben auf der betreffenden Plugin-Webseite. Dort steht ebenfalls, mit welcher WordPress-Version das Plugin kompatibel ist. Ist das nicht die aktuelle Version, solltest du das Plugin im Auge behalten und sicherheitshalber nach einer Alternative suchen.

Dein Backup-Management

Bevor du mit den ersten Inhalten beginnst, solltest du dich mit dem Backup-Management auseinander setzen. Denn auch vor deinen systemfeindlichen Fingern oder unerwarteten Abstürzen musst du deine Website schützen.

Es gibt mehrere Möglichkeiten, Backups zu erstellen:

den kostenpflichtigen Backup-Service vom Hoster mieten (ist sehr beruhigend, kostet aber), ein Backup-Plugin installieren (Achtung: beim Hoster nachfragen, ob es mit dem ausgewählten Plugin Probleme bei der Wiederherstellung aus dem Backup gibt) oder das Backup manuell durchführen (sehr mühsam auf Dauer).

Ebenfalls solltest du geeignete Speicherplätze für die Backups definieren (Host-Server, Cloud, eigener Rechner) und hierbei auf DSGVO-Konformität achten bei Bedarf. Durch das Abspeichern des Backups ausschließlich auf deinem Webspace kannst du nicht wirklich deine Website schützen. Gibt der Server seinen Geist auf, kann das zum Totalverlust deiner Daten führen.

Eine zusätzliche Sicherheit bietet ein Klon der eigenen Website. Über Plugins wie Duplicate oder WP-Staging wird dabei eine 1:1-Kopie der gesamten Website auf dem eigenen Webspace erstellt. Damit hat man eine Testumgebung, auf der man alle Updates, Neuistallationen oder angedachte Änderungen am Quellcode austesten kann, ohne die reale Website zu gefährden. Voraussetzung ist, dass der eigene Hoster dies mit seinen Einstellungen auf dem Server zulässt. Das solltest du vor der Installation eines solchen Plugins abklären mit dem Hoster.

Kommentare sind geschlossen.