WordPress Security für Endnutzer

Dieser Artikel ist eine gekürzte, übersetzte Niederschrift eines Talks, den ich im Rahmen des September-Meetups 2017 von WPVienna halten durfte.

Warum ist Sicherheit ein Thema?

WordPress ist das am häufigsten eingesetzte Content-Management-System der Welt. Daher sind die möglichen Schwachstellen einer WordPress-Installation wie zB. der Adminzugang allgemein bekannt. Es verwundert daher nicht, dass solche Webseiten einer permanenten Angriffssituation ausgesetzt sind.
Das Bild rechts zeigt einen Auszug einer Logdatei welche die unberechtigten Zugriffssversuche auf eine Webseite ohne besondere Inhalte (eine Testseite) enthält.

Logeintrag Security-Log

Welche Ziele verfolgen die Angreifer?

Am häufigsten werden WordPress-Seiten angegriffen um Zugriff auf deren Ressourcen zu erhalten. Dadurch kann diese Infrastruktur zum Versand von Spam, zur Installation von Phishing-Seiten oder auch als Speicherplatz für Illegale Daten oder Malware verwendet werden.
Leider ist im August 2017  auch das Thema Ransomware in Zusammenhang mit WordPress aufgetaucht. Hier ist das Ziel also nicht mehr der Missbrauch der Infrastruktur sondern es geht um Erpressung.

Wo liegen die Risiken einer WordPress-Installation?

Es gibt 4 Risikobereiche. Das größte Risiko ist der Betreiber der Site selber. Ein weiterer Risikobereich sind die Benutzer bzw. Kunden der Seite. Weiters gibt es Risiken die durch das Hosting der Seite entstehen und als letzter Punkt kann natürlich auch WordPress selber, das Thema oder ein Plugin Sicherheitslücken aufweisen.

1. Das menschliche Risiko

Wir können die ersten beiden Risikobereiche zusammenfassen, auch wenn die Risiken je nach Benutzerrechten recht unterschiedlich sein können ist die Natur der Gefährdung die selbe: die menschliche Natur eben.
Hier gilt es als erstes zu überprüfen, ob das System des Anwenders sicher ist. Und als System bezeichne ich hier nicht nur den Computer, sondern auch wie damit umgegangen wird. Haben Familienmitglieder oder Arbeitskollegen Zugriff auf das Gerät? Werden Passwörter auf PostIt’s am Monitorrand geklebt? Gibt es Selfies im Netz mit der Pinnwand inkl. Zugangsdaten im Bildhintergrund?
Eine weitere Frage ist, ob alle Programme aktuell sind. Ist das Betriebssystem aktuell? Sind die Programme am letzten Stand? Verwenden Sie immer noch ein FlashPlugin im Browser?
Die Sicherste Umgebung nutzt nichts wenn man selber unwissentlich Schadsoftware uploadet. Vertrauen Sie den Herausgebern der Files, die Sie selber auf den Server stellen?
Und die wichtigste Frage überhaupt: Sind ihre Passwörter sicher? An dieser Stelle möchte ich ein Bild in ihr Bewusstsein setzen das Ihnen helfen soll, nie wieder unsichere Passwörter zu verwenden:

Passwörter sind wie Kondome!

  • Sie schützen sie selber und ihre Partner
  • Die Größe ist wichtig
  • Benutzen Sie es immer nur 1 Mal

Verwenden Sie nach Möglichkeit einen Passwort-Manager wie zB 1Password!

2. Risiken beim Hosting

Nicht direkt in Ihrer Hand liegen die Gefahren, die durch die Auswahl des Hosting-Providers entstehen. Hier können Sie nur durch die Wahl des Dienstleisters den Grad der Gefährdung minimieren. Sie sollten sich folgende Fragen stellen:

Wie groß ist der Dienstsleister und ist er vertrauenswürdig? Ist das ein Nebenerwerbshostmaster, eine spezialisierte Firma oder eine große Telefongesellschaft? Welchen Support bietet der Hoster? Welche Möglichkeiten des Backups sind im Paket enthalten?
Manchmal kann es auch relevant sein, welches Betriebssystem der Provider verwendet, welche PHP-Versionen stehen für meine WordPress-Installation bereit? Ist die Datenbanksoftware üblich und aktuell? Bietet der Anbieter eine SSL-Verschlüsselung an? Kann ich Let’sEncrypt verwenden?

TLS-SSL Schema

Was bedeutet SSL? Hier die kurze Erklärung der Wikipedia:

Secure Sockets Layer, die alte Bezeichnung für Transport Layer Security (TLS) , ein Netzwerkprotokoll zur sicheren Übertragung von Daten

TLS  ist ein hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet.

Oder aber auch: diese Technologie verschlüsselt die Datenübertragen zwischen Server und Browser, wodurch ein Mitlesen von Dritten praktisch unmöglich gemacht wird.

3. Risiken durch WordPress

WordPress selber wird ständig weiter entwickelt und natürlich auch auf seine Sicherheit geprüft. Wichtig und sinnvoll ist es hier, die Updates entweder automatisch durchführen zu lassen oder zumindest sehr zeitnah nach deren Veröffentlichung einzuspielen.

Die Installation von Themes und Plugins stellt hier das größte Gefahrenpotential dar. Versuchen Sie vor der Installation herauszufinden wie vertrauenswürdig eine Software ist. Beachten Sie die Versionsnummern (1.0 ist immer kritisch), wurden und werden regelmäßige Updates angeboten? Gibt es eine aktive Community oder ein moderiertes Supportforum zu der gewünschten Erweiterung?

Die Faustregel hier lautet: halten Sie die Erweiterungssoftware so aktuell wir möglich und versuchen Sie so wenige Erweiterungen zu installieren wie es geht, ohne die Funktionalität der Seite einzuschränken.

Die eigene Seite absichern

Was können Sie nun tun, um Ihre WordPress-Installation sicherer zu machen? Es gibt eine Reihe von PlugIns, die verschiedene Funktionen anbieten um auf die bekannten Gefährdungen zu reagieren. Die  populärsten sind:

Diese Plugins bieten vergleichbare Funktionalität mit unterschiedlichen Schwerpunkten an. Ob eines und wenn ja welches zu wählen ist hängt natürlich von der genauen Anforderung ab, ist aber wie soft auch ein wenig Geschmacksfrage.

IThemes Security Dashboard

IThemes Security

Dieses Plugin bietet in kostenlosen Version grundlegende Funktionen an die wir uns hier näher anschauen. Die ProVersion enthält zusätzliche Funktionen die ev. sinnvoll sein können.

  1. Security Check – hinter dieser Bezeichnung verbirgt sich die Sammlung von 6 weiter unten angeführten Funktionen. Die Idee ist: Plugin installieren, Knopf drücken – fertig. So kann man in wenigen Minuten seine Seite sicherer machen. Und das funktioniert auch.
  2. Global Setting – in diesem Bereich kann man die grundlegenden Einstellungen vornehmen. Welche Meldung bekommt ein ausgesperrter Benutzer zu sehen? Wieviele Einlog-Versuche hat ein Benutzer, wie lange wird er ausgesperrt? Hier kann man auch seine eigene IP-Nummer angeben um eine Selbstaussperrung zu vermeinden.
  3. Notification Center  – Hier kann man zB das Plugin anweisen, regelmässig ein Datenbank-Backup per E-mail zu verschicken. Auch kann man hier einstellen wie oft man eine Benachrichtigung über ausgesperrte Benutzer wünscht etc.
  4. 404 – Detection – die Idee hier ist, dass Angreifer versuchen zu ermitteln, ob bestimmte löchrige Files existieren, zB von alten Erweiterungen. Wenn jetzt ein Besucher mehrfach eine „nicht gefunden“-Meldung erhält kann man vermuten, das systematisch nach solchen bekannten Files gesucht wird. Solche Scans macht kein Freund.
  5. Away-Mode – wenn eine Webseite nur zu bestimmten Tageszeiten gewartet wird kann ich ja den Zugang ausserhalb dieser Zeiten sperren. Wo keine Tür, kann auch keiner rein.
  6. Banned Users – im Normalfall ist meine Site nicht die erste, die ein Angreifer bedroht. Wenn ich nun also eine Liste von „üblichen Verdächtigen“ habe die schon auffällig geworden sind, dann kann ich auf diese zurückgreifen ohne erst ihren Angriff abwarten zu müssen – genau das kann man hier einstellen.
  7. Database-Backups – hier kann ich nähere Einstellungen dazu vornehmen. (Lokales Speichern, E-Mail-Versand, Intervall etc.)
  8. File Change Detection – die Idee dieser Funktion besteht darin zu überprüfen, ob ein File meines Systems unerlaubt verändert wurde um es zu meinen Nachteil zu manipulieren. Hier kann ich eine regelmässige Überprüfung einstellen  – das verhindert zwar einen möglichen Schaden nicht, kann diesen aber nachträglich begrenzen.
  9. Brute Force Detection – diese Kernfunktionen (Lokal und Netzwerk) des Plugins versuchen einen Angriff durch massives Ausprobieren von ID/Passwortpaaren zu verhindern, indem sie die Loginversuche limitieren (Lokal) oder durch Blockade bekannter Schadserver (IP-Listen, Netzwerk) den Zugriff verhindern.
  10. SSL –  hier können sie (bei vorhandenem Zertifikat) einstellen, dass alle Zugriffe auf Dashboard und/oder Webseite immer über https erfolgen müssen (bzw. entsprechend umgeleitet werden).
  11. zahlreiche weitere Funktionen wie zB das Verstecken des Logins (Hide Backend) oder sog. Tweaks – also Änderungen von Grundsätzlicher Funktionalität, sind ebenfalls enthalten. Hier sollte man sich ein wenig tiefer in die Materie einarbeiten und wissen was man tut, bevor man einen Haken in eine Checkbox setzt.

 

Womit wir am Ende dieses Talks angekommen sind. Einfach zusammengefasst heisst es also – Vorsichtig sein und überlegen was man tut – was aber nicht nur für WordPress gilt.

H. Martin, WPVienna Meetup Sept. 2017 Wien

Kontakt

Wir antworten innerhalb unserer Geschäftszeiten. Ihre Daten werden uns vertraulich behandelt und nur zum Zweck der Beantwortung Ihrer Anfrage gespeichert.

Nicht lesbar? Text ändern. captcha txt

Start typing and press Enter to search