Wordpress website security

Website Security – Website Setup Series XIV

Safety First! Oder halt erst in der 14. Episode der Websites Setup Series. In dieser Episode werde ich meine WordPress Installation ein Stück weit sicherer machen.

Status Quo: The Website Setup Series

In den letzten 13 Episoden der Website Setup Series ist viel geschehen. Technik, Content, Konfigurationen und seit der vergangenen Episode sieht generation-beta.net sogar einigermaßen unique aus – Theme-Styling sei dank.

Post Styling Look generation Beta Episode 14 Website Setup Series

Die Tatsache, dass ich jetzt etwas auf der Domain etwas habe, das ich (bei einem feindlichen Angriff) verlieren könnte, ist auch der Grund warum ich eine erste kleine Website Security Runde einläuten möchte. Theoretisch hätte das Episode 3 sein können oder müssen, aber zuvor war dort eigentlich nichts in Form von Assets, was ich nicht in 2 Tagen wieder hätte recovern/nachbauen können. D.h. vorher hatte ich nichts, das es wert gewesen wäre zu schützen. Traffic bzw. Aufmerksamkeit ist bei der Einführung von Sicherheitsmechanismen auch ein weiterer Indikator, der in die Priorisierung einfließen sollte. Eine Domain mit einem Besucher pro Tag ist womöglich auch nicht sonderlich beliebt bei Hackern. Versteht mich nicht falsch: Sicherheit ist wichtig, hat man aber geringe Ressourcen zur Verfügung (z.B. bei einem Sideproject) müssen Aufwand und Gain sich auch im Kontext der Sicherheit die Waage halten.

In dieser ersten Runde würde ich gerne 4 Dinge zum Schutz meiner Website implementieren:

  • Eine sicherere Server-Konfiguration
  • Monitoring von Sicherheitsrelevanten Vorgängen auf meiner Site
  • Verlegung der WP-Login-Maske auf eine nicht-Standard-URL
  • Einrichtung eines Backup-Mechanismus

WordPress-Webserver Sicherheit erhöhen

Hierzu kehre ich seit langem mal wieder in das Customer Control Panel zur Verwaltung meines Webspace zurück. Eins der coolen Features von der Verwaltungsoberfläche PLESK und meinem Webhoster ist die Bereitstellung von Security-Features für meine WordPress-Installation. Mit einem Klick erhalte eine Reihe typischer Sicherheitstipps für meine WordPress-Instanz:

Sicherheit überprüfen wordpress plesk

Danach erhalte eine Liste von Checkpoints, die das System für mich automatisch konfigurieren kann. In den meisten Fällen werden Datei-Berechtigungen auf meinem Webserver gesetzt, die Zugriffe von außen (aber auch von innen) limitieren.

Wordpress Sicherheits Empfehlungen PLESK

Aus Sicherheitsgründen werde ich hier keinen vollen Screenshot meiner Konfiguration posten. Aber es werden mir z.B. Maßnahmen wie

  • Schutz vor Hotlinks aktivieren
  • Nicht verwendete Skriptsprachen deaktivieren
  • Autorenscans blockieren

angeboten.

Monitoring der Aktivitäten auf meiner Website

Ich habe mich in den vergangenen Jahren sehr daran gewöhnt, das Activity Log Plugin in meinem WordPress-Backend zu haben. Dieses loggt vor allem falsche Passwort-Angaben aber auch Änderungen an Themes und Plugins. In diesem neuen Projekt möchte ich mal das Acitivity Log Plugin WP Security Audit Log ausprobieren. Es soll mir vor allem zeigen wie bedroht meine Website von Hackern ist und ob Änderungen auf der Site ohne mein Wissen gemacht werden.

Plugin WP Security Audit Log

Ich habe noch nicht alles durchgeklickt, aber ich kann schon sagen, dass die Anzahl der loggbaren Events in diesem Plugin definitiv meine Vorstellungskraft übersteigt. Ich bin sogar fast so weit alle Optionen zu deaktivieren, um dann nur die wichtigen wieder zu aktivieren.

Logging Optionen

Verlegung der WP-Login-Maske auf eine nicht-Standard-URL

Wie ich in meinem Blogbeitrag Mehr Sicherheit mit /wp-login.php URL Änderung?! bereits einmal beschrieben habe, ändere ich auch noch die URL für Logins in mein WordPress Backend. Ich kann es einfach nicht leiden, wenn jeder weiß, dass man sich unter /wp-login.php auf generation-beta.net einloggen kann -nur weil es eine WordPress-Instanz ist. Entsprechend ist mein Login absofort woanders zu finden!

Einrichtung eines Backup-Mechanismus

Die Einrichtung von Backups ist keine Sicherheitsmaßnahme per se, aber sie ermöglicht mir eine schnellere Recovery meiner Website, sollte mal schädliche Software auf meinen Server gelangen oder eine Systemkomponente meine Website nachhaltig beschädigen. Hier gibt es zwei Möglichkeiten eines Backups. Zum einen bietet mein Webhoster die Option eines Backups aller meiner Webspaces. Dieses habe ich bereits vor ein paar Tagen eingerichtet.

Aus der Kategorie I have seen Sh*t stammt aber meine Angewohnheit auch noch ein weiteres Backup in „meinen“ Cloud-Accounts anzulegen. Zu hoch ist mir die Gefahr, dass ich Zugänge zum Webhosting-Paket verliere oder mein Hoster meine Domain ohne mein Wissen sonst wohin migriert (schon passiert). Zu diesem Zweck habe ich den vergangenen Jahren gute Erfahrungen mit dem UpDraft Plugin gemacht. Es nimmt alle meine WordPress Files und speichert sie als .zip nochmal extern in meiner Dropbox oder in meinem Google Drive. So wenig neue Dinge wie ich mit meinen Sideprojects mache, reicht mir dabei meist ein wöchentlicher oder zwei-wöchentlicher Rhythmus.

Updraft Backup Plugin

Für die einfache Konfiguration des Backups empfehle ich Dropbox zu nehmen. Die Google Drive Backup Variante funktioniert womöglich besser aufgrund eines höheren Speicher-Volumens, ist aber auch etwas aufwendiger durch die Generierung von API-Keys.

Updraft Plugin Settings Overview

Das Problem hinter erhöhten Sicherheitsmaßnahmen

Abschließend bleibt mir noch zu erwähnen, dass viele Sicherheitsmaßnahmen auch mit einem Preis kommen. Zwar habe ich für keines der Plugins Geld ausgegeben, allerdings ist es gut möglich, dass ich mir ein paar Einschränkungen in der Konfigurationsfreiheit eingekauft habe. Insbesondere die serverseitigen Maßnahmen können dazu führen, dass ich in Zukunft vielleicht einige Plugins nicht mehr aus dem Backend aktualisieren kann oder dass bestimmte externe Anfragen für Reports geblockt werden.

Interessant wird es auch zu beobachten wie viel Speicher mich das permanente Login von diversen Aktionen auf dem Blog innerhalb meines Webspace kosten wird. Eventuell muss ich hier in den kommenden Wochen nachsteuern und die geloggten Event-Typen sowie die Speicherdauer der Logs reduzieren

Keinen Beitrag der Website Setup Series mehr verpassen

E-Mail-Updates aktivieren!

Hiermit stimme ich zu, dass internetzkidz.de mir E-Mails zu Beiträgen der Website Setup Series schicken darf.

Oder folge dem RSS-Feed mit deinem Feed-Reader.

Über die Website Setup Series

Die Website Setup Series ist eine Serie von Blog-Beiträgen, in denen ich die Entstehung einer neuen Website, die mit dem WordPress-CMS und anderen Open Source Tools aufgesetzt wird, dokumentiere. Dabei wird besonders viel Wert darauf gelegt, dass jeweils nur kleine Arbeitspakete pro Beitrag beschrieben werden, damit auch Anfänger der Serie gut folgen können. Des Weiteren ist die Serie mit einer gesunden Portion Pragmatismus und Unterhaltungswert versehen, um die Casual Reading Experience aufrecht zu erhalten.

Die Serien-Inhalte sind ein Resultat der Learnings aus knapp 10 Jahren Website-Erstellung und ca. 8 verschiedenen nebenberuflichen und zahlreichen beruflichen Web-Projekten!

The Website Setup Series
Christoph Kleine
Christoph Kleine

... Managing Director bei THE BIG C Agency & Gründer von internetzkidz.de. Neben Online-Marketing beschäftigt er sich mit Usability, Web-Analytics, Marketing-Controlling und Businessplanung. Xing, LinkedIn.

Artikel: 463

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.