Als geprüfte Datenschutzexpertin ist es mir ein besonderes Anliegen, dass Sie sich aller relevanten Sicherheitsmaßnahmen, in Bezug auf Ihre Webseite, bewusst sind. Keine Sorge, wenn Ihnen hierzu etwas "kryptisch“ vorkommt – wir kümmern uns gerne um Ihren Fragen rund um Website Security.
Eine gehackte Website ist immer ein Imageschaden. Egal, ob es sich dabei um die digitale Visitenkarte eines Unternehmens oder einen umfangreichen Onlineshop handelt. Im schlimmsten Fall ist mit finanziellem Verlust zu rechnen.
Als Betreiber:in haben Sie hinsichtlich der Website Security zudem die Pflicht Ihre eigene Seite:
- gesetzeskonform zu halten.
- eine sichere Datenübertragung zu ermöglichen.
- gesetzliche Bestimmungen, wie die DSGVO oder E-Commerce und Telekommunikationsgesetze (z.B. Cookie-Richtlinien) einzuhalten.
- die Verfügbarkeit und Integrität von Daten gewährleisten.
Was beachtet werden muss, warum das wichtig ist und durch welche Verfahren, Tools und Verhaltensweisen sich eine ganzheitliche Website Security auszeichnet, haben wir in diesem Artikel zusammengefasst.
Die untenstehenden Punkte beziehen sich auf Open Source Content Management Systeme (=CMS), wie z.B. Wordpress oder Joomla, die bei einem externen Provider in einem „shared hosting“ installiert sind. D.h. auf dem gleichen Server sind noch weitere Websites unter derselben IP-Adresse verfügbar.
1. Website Software (CMS)
Das CMS ist eine Anwendung, die wie eine Software beim Provider installiert wird. Hinsichtlich der Website Security ist auf Folgendes zu achten:
- Installation der neuesten Version
- Entweder beim Provider über ein Quick-Install-Sytem oder
- direkt beim CMS-Anbieter (z.B.: wordpress.org oder joomla.org) herunterladen.
- Wird die Software selbst installiert
- Installationspaket nur von der Originalquelle beziehen!
- Datei Signatur (SHA oder MD5 Checksum) überprüfen
(sollte beim Anbieter normalerweise angegeben sein z.B. https://downloads.joomla.org/cms/joomla4/4-2-5)
Für CMS gibt es regelmäßige Updates, die einerseits neue Funktionen bringen oder Fehler beheben. Zusätzliche werden mit Updates auch bekannte Sicherheitslücken geschlossen. Daher müssen Websites laufend upgedated werden!
2. Erweiterungen
Open Source CMS können auf vielfältige Art und Weise erweitert werden. Meist wird eine Extension, Komponente, Plugin oder Template im Internet heruntergeladen und auf der Website vom Administrator installiert. Prüfen Sie in Bezug auf Website Security vorab:
- die Vertrauenswürdigkeit der Quelle.
- die Aktualität der Quelle und Erweiterung
- das die Plugins/Extensions die Updateroutinen der Original-CMS unterstützen.
Dies kann über offizielle Erweiterungsbibliotheken der CMS-Anbieter festgestellt werden:
https://wordpress.org/plugins/ oder https://extensions.joomla.org/
3. Benutzerberechtigungen (Autorisierung)
Content-Management-Systeme benötigen auch unterschiedliche Benutzerberechtigungen, da nicht alle User:innen die gleichen Rechte haben sollen.
Joomla beispielsweise bringt umfangreiche und flexible Einrichtungsmöglichkeiten zu vordefinierten die Zugriffsebenen, Benutzergruppen und Benutzer:innen mit, die jedoch komplett angepasst, ergänzt oder ersetzt werden können. Der Vorteil ist, dass diese Einrichtung von allen Extensions ebenfalls unterstützt wird, da die Zugangskontrolle bereits im Core enthalten ist.
Wordpress bringt hier im Standard ein vergleichsweise einfaches Berechtigungssystem mit, welches nur über Plugins oder CLI erweitert werden kann, somit wird dieses System auch nicht von allen weiteren Plugins automatisch unterstützt.
4. Zugangsdaten (Authentifizierung)
Für das Einloggen auf der Website sollten Administrator:innen mit zumindest einer Zwei-Faktor-Authentifizierung eingerichtet werden. Hier gibt es entweder bereits mitgelieferte Plugins für verschiedene Verfahren oder diese können nachträglich erweitert werden. Für Nicht-Administrator:innen kann 2FA oder MFA optional oder auch abhängig von der Art der Website (z.B. Intranet-Lösungen) angeboten werden. Auch hardwarebasierte Verfahren (z.B. mit Token) sind möglich.
Adaptive Authentifizierungsverfahren über den Kontext sind auch für Websites mit Open Source CMS möglich, hier wird z.B. erkannt, ob man sich mit einem bereits bekannten Gerät einloggt.
Zusätzlich kann auch über den Webserver der Zugriff auf Verzeichnisse eingeschränkt werden.
5. Benutzeraktivitäten
Zum Logging und zur Nachverfolgung können Benutzeraktivitäten aufgezeichnet werden. Hier sollten verschiedene Loglevels festgelegt werden können. Einerseits ist die Nachverfolgung durch eine Versionierung auf Contentebene möglich, andererseits z.B. durch die Aufzeichnung von erfolgreichen und erfolglosen Anmeldeversuchen. Ein komplettes Tracking der Benutzeraktivitäten wirft eine Kosten-Nutzen-Frage in Bezug auf Datenschutz auf: es sollte nur so viel getrackt werden, wie entsprechend der Datenkategorie notwendig ist.
Joomla bietet seit einem Privacy Release (2018, Version 3.7) konfigurierbare Protokolle von Benutzeraktivitäten für das gesamte System bereits im Standard. Dieses Logging kann durch Extensions (z.B. Admin Tools) noch erhöht und auf Frontend-Ebene erweitert werden.
6. Provider – Speicherort und Datenbank
Wird die Website bei einem Provider im Shared-Hosting betrieben, sollten bereits bei der Auswahl des Providers bestimmte Kriterien berücksichtigt werden.
Der Provider sollte:
- einen Zugriff auf den Server per FTPs/SFTP oder SSH anbieten. So ist eine sichere Übertragung von Daten zum Server für Administrator:innen möglich.
- getrennte Konten für die Verwaltung ermöglichen, wenn bei einem Provider mehrere Websites gehostet werden.
- Im Idealfall für die technische Betreuung eigene Zugriffsberechtigungen (=Entwicklerkonto) anbeiten.
- Bezüglich Server-Software auf moderne Technologien und aktuelle Software-Versionen setzen (z.B. PHP 8) und diese auch regelmäßig updaten.
Zusätzlich sollte der Provider Error- und Access-Logs des Servers zur Verfügung stellen. Besser wäre eine laufende Aufzeichnung und Zugriffsmöglichkeit darauf.
In jeder Datenbank sollen immer nur die Daten/Tabellen einer Website gespeichert werden. Passwörter dürfen keinesfalls im Klartext in der Datenbank stehen.
Konfigurationsdateien des CMS am Server sollten nur mit Leserechten ausgestattet sein.
7. Backups
Beim Backup von Websites müssen sowohl die Dateien als auch die Datenbank gesichert werden. Dafür können Tools wie „Akeeba Backup“ für Joomla und Wordpress verwendet werden. Die Einrichtung bietet hier die Möglichkeit, das Backup auf weitere Speicherorte (z.B. in einen Cloud-Speicher oder per FTP auf einen anderen Server) zu übertragen, ebenso wie eine Verschlüsselung der Backupdatei. Es ist empfehlenswert, die Backupdatei automatisch nach dem Backup bei einem zweiten Provider in einem geschützten Bereich zu speichern.
Mit dem Tool backupmonkey.io können erstellte Backups sogar automatisiert auf erfolgreiche Wiederherstellung getestet werden.
„kein Backup, kein Mitleid“ oder besser noch
„kein getestetes Backup, kein Mitleid“.
8. Datenübertragung
Die Website sollte jedenfalls über ein Sicherheitszertifikat (z.B. kostenloses Let’s encrypt Zertifikat) verfügen, damit die Datenübertragung vom und zum Server im Browser end-to-end verschlüsselt ist. Seit der DSGVO ist dies beispielsweise zwingend dort notwendig, wo personenbezogene Daten übertragen werden, z.B. Login, Kontaktformulare, Online-Shops, Newsletter, …
9. Weitere Sicherheitsfunktionen zur Website Security
Content-Security-Policy (CSP) und Cross-Origin Ressource Sharing (CORS) – über http Headers kann eingeschränkt werden, welche Inhalte auf einer Website geladen bzw. eingebunden werden dürfen.
Per Website-Firewall können Angriffe geblockt werden, diese kann jedoch Performance-Einbußen bringen und wird nicht automatisch für alle Arten von Websites empfohlen.
Titelbild: Matthew Waring via Unsplash