„Uhhhh, dat wird teuer!“. Diesen Satz höre ich mich oft denken und immer im gleichen Zusammenhang: Ein neuer Kunde kommt auf mich zu mit der Anfrage, ob ich in seine bereits bestehende Website etwas neues einbauen kann.

Ich logge mich ein und was sehe ich?

Ein veraltetes Content Management System, das technisch noch in exakt dem Zustand ist, in dem der Entwickler es ursprünglich übergeben hat.

Je nach System und Zustand logge ich mich sofort wieder aus und bereite mich mental auf ein schwieriges Gespräch vor.

Das ist aber immer noch besser als Anrufe wie: "Unsere Website ist nur noch eine weiße Seite mit einem Katzenbild drauf, können Sie mal schauen, was passiert ist?"

Bild von einer gähnenden Katze

Dass viele Website-Betreiber und -Besitzer ihre Systeme nach der Fertigstellung nicht pflegen, also technisch auf dem neuesten Stand halten (lassen), hat mehrere Ursachen:

  • Manchen Website-Besitzern ist gar nicht klar, dass sie dafür verantwortlich sind, ihre Systeme laufend zu aktualisieren und zu sichern und dass sie ein Risiko eingehen, wenn sie es nicht tun.
  • Regelmäßige Updates verursachen laufende Kosten. Diese sind bei manchen Agenturen je nach verwendetem System teilweise horrend teuer — nicht, weil die Updates komplexer sind, als bei anderen Systemen, sondern weil das Risiko für verschiedene Systeme höher ist, als bei anderen.

Die Entscheidung für oder gegen Updates steht jedem Website-Besitzer frei. Aber: Man sollte diese Entscheidung unbedingt begründet und informiert treffen, um nicht sehr plötzlich und schmerzhaft von den Folgen getroffen zu werden.

Was soll da schon passieren..

Na zum einen, dass sich ein neuer Entwickler weigert, die Website um Funktionen zu erweitern. Das ist bei veralteten Systemen nämlich:

a) oft sehr aufwendig, weil man veraltete Erweiterungen finden muss, die noch kompatibel sind und man keine Gewähr hat, dass es funktioniert.
b) absolut fahrlässig: man sollte niemals veraltete Erweiterungen installieren, vor Allem nicht, wenn diese bekanntermaßen von Sicherheitslücken betroffen sind.
c) kompliziert und unsicher: ein Update des Systems über viele Versionen hinweg ist je nach System schwierig bis unmöglich und in jedem Falle zeitaufwendig.

Gibt es dann auch keine regelmäßigen Backups, wird ein halbwegs vernünftiger Dienstleister die Finger davon lassen und — je nach Fall — zu einem Relaunch raten oder mit Netz und doppeltem Boden ein vorsichtiger Update wagen. Beides verursacht Kosten.

Deutlich gefährlicher ist aber die Tatsache, dass eine veraltete Website eine (leichte) Angriffsfläche bietet:

Im schlimmsten Fall wird die eigene Website (bzw. das zugrundeliegende System) dafür missbraucht, Schadsoftware zu verbreiten und zwar ohne dass man es merkt. (Es gibt natürlich noch schlimmere Szenarios, aber ich gehe hier davon aus, dass die Website nicht auf einem eigenen Webserver betrieben wird und ich gehe auch davon aus, dass es sich nicht um einen Webshop oder eine andere Anwendung mit sicherheitskritischen personenbezogenen Daten handelt).

Manchmal sind auch einfach alle Inhalte und Konfigurationen weg und auf der Startseite erscheint ein freundlicher Gruß des Hackers. Gibt es kein Backup, kann man ganz einfach ermitteln, welche Kosten jetzt auf einen zukommen: Man muss sich nur die Summe unter der Rechnung für die Website anschauen.

Aber doch nicht bei meiner kleinen Website…

„Also wer hat schon Interesse, meine kleine Website zu hacken?“

Hinter diesem Satz, den ich ganz oft als Argument gegen regelmäßige Updates höre, steht die Annahme, dass es bei einem Angriff um Inhalte geht. Das ist aber in der Regel nicht der Fall. Möchte ein Angreifer über einen langen Zeitraum hinweg unbemerkt ein System für seine Zwecke nutzen, sind gerade die kleinen, unauffälligen, oft vernachlässigten Websites besonders attraktiv und geeignet. Abgesehen davon: Bei einer gravierenden Sicherheitslücke werden flächendeckende Angriffe vollautomatisiert durchgeführt — da schaut vorher niemand, ob es die Website einer Anwaltskanzlei oder ein Kreativblog erwischt.

Sicherheitslücken in den 3 größten und am häufigsten verwendeten Content Management Systemen sind für Hacker äußerst attraktiv.

Ein Viertel aller Websites weltweit benutzt z.B. das CMS Wordpress (siehe W3 Techs: Usage of content management systems for websites). Wird eine Sicherheitslücke in Wordpress bekannt, öffnet sich eine Tür zu einer riesigen Menge an Websites.

Dabei benötigt man nicht unbedingt Spezialwissen, um eine betroffene Website zu knacken. Es gibt viele Menschen, die sofort nach Bekanntwerden der Sicherheitslücke Tutorials schreiben oder auf Youtube veröffentlichen, in denen erklärt wird, wie man auch als Laie eine solche Website angreifen kann.

Profis "hacken" Websites aber nicht "von Hand", sondern schreiben Skripte, die vollautomatisiert massenhaft Websites systematisch abarbeiten.

Beim Angriff wird in die Website eingedrungen. Je nachdem, an welcher Stelle die Sicherheitslücke auftritt, wie groß die Sicherheitslücke ist und wie gut die Serverarchitektur geschützt ist, kann so ein Eindringen sehr unterschiedliche Folgen haben. Nur ein paar Beispiele:

  • Der Angreifer kann die Kontrolle über die Website übernehmen und die gesamten Inhalte, Konfigurationen und das Design löschen und eigene Inhalte veröffentlichen. Für den Fall, dass es keine Sicherheitskopie des Systems gibt, bedeutet dies einen wirtschaftlichen Totalschaden, denn die gesamte gekaufte Website ist mit einem Schlag passé.
  • Viele Systeme besitzen eine Funktion, über die man E-Mails versenden kann, z.B. an die Abonnenten des eigenen Newsletters. Über diese Funktion können dann SPAM- oder Phishing-E-Mails versendet werden. Da der Absender der E-Mail der Website-Betreiber ist, sind die Empfänger nicht misstrauisch und öffnen die E-Mail, die eventuell Schadsoftware enthält.
  • Besonders betroffen sind Systeme, die einen Shop enthalten. Hier werden sensible Daten wie z.B. Bankverbindungen, Kreditkartendaten etc. gespeichert und können abgegriffen werden.

Vorbeugen, absichern, beruhigt schlafen.

Jede Website, hinter der ein Redaktionssystem sitzt (wie z.B. Drupal, Wordpress, Joomla, Typo3 oder Contao), kann Sicherheitslücken aufweisen und über diese von Außen angegriffen werden.

Aus diesem Grund wird das gesamte System mit all seinen Komponenten stetig auf Sicherheitslücken überprüft. Sobald eine Sicherheitslücke bekannt wird, arbeitet ein Team von Entwicklern daran, diese Sicherheitslücke zu beheben und veröffentlicht anschließend eine reparierte Version der schadhaften Stelle, ein Update.

Der Teil des Programmcodes, der die Sicherheitslücke enthält, muss dann in allen betroffenen Systemen ausgetauscht werden. Dafür ist der Website-Betreiber zuständig: Du.

Updates werden aber nicht nur für Sicherheitslücken veröffentlicht, sondern auch, wenn kleinere oder größere Fehler im Programmcode entdeckt und behoben werden oder wenn es neue Funktionen gibt, denn Content Management Systeme werden laufend weiterentwickelt, optimiert, erweitert und natürlich an neue Standards angepasst.

Was genau passiert bei einem Update, oder: Warum kostet das Geld?

Updates können je nach System auf ganz unterschiedliche Weise durchgeführt werden. Wordpress besitzt z.B. einen Button, über den man ganz einfach Updates eigenständig durchführen kann. Dort kann man sogar automatische Updates konfigurieren. Das Problem bei dieser Durchführung ist, dass die Website-Betreiber oft nicht daran denken, dass vor jedem Update eine Sicherheitskopie des gesamten Systems erstellt werden sollte. Klappt das Update nicht oder sind die neuen Komponenten mit den bestehenden plötzlich nicht mehr kompatibel, nimmt die Website Schaden und muss eventuell mühsam und zeitaufwändig neu konfiguriert werden.

Für drei unterschiedliche Komponenten können bei den meisten CMS Updates vorliegen:

  • Das Kern-System, das die Basis-Funktionen der Website bereitstellt.
  • Module oder Plugins, mit denen der Funktionsumfang erweitert wurde.
  • Das Theme, das für das Layout und Design der Website verantwortlich ist.

Ausgetauscht wird immer nur ein kleiner Teil. Dennoch muss hinterher das gesamte System überprüft werden, ob sich der neue Programmcode nicht mit dem bestehenden „beißt“.

Wenn's richtig gemacht wird: Schritte eines Updates

Ein Update besteht also aus den folgenden Schritten:

  1. Am Anfang steht die Recherche: Welche Updates liegen an? Was steht in den Release Notes? Dieser Schritt wird gerne übersprungen und erst nachgeholt, wenn man nach dem Update nur noch eine weiße Seite sieht. In den Release Notes halten die Entwickler des Updates fest, was verändert wurde und ob bekannt ist, dass es mit anderen Plugins oder Modulen zu Problemen kommen kann, wenn man das Update installiert.
  2. Zunächst wird eine Sicherungskopie der gesamten Website erstellt (ein so genanntes Backup). Dabei werden alle Dateien, die auf dem Server liegen und aus denen die Website besteht sowie alle Inhalte archiviert und gesichert. Anschließend wird die Datenbank gespeichert und als Archivdatei zusammen mit den anderen Dateien abgelegt. Mit diesen Daten lässt sich die gesamte Website mit allen Inhalten, die zum Zeitpunkt des Backups vorhanden waren, rekonstruieren.
  3. Die Website wird in den Wartungsmodus versetzt, damit mögliche Komplikationen nach Außen nicht sofort sichtbar sind und Website-Besucher, die vielleicht gerade ein Formular ausfüllen, ihre Eingaben nicht verlieren, während das Update durchgeführt wird.
  4. Anschließend wird das Update installiert und die Datenbank wird aktualisiert, damit der neue Programmcode auch zur Anwendung kommt.
  5. Danach wird die gesamte Website kontrolliert: Sieht alles noch aus wie vorher? Werden Fehlermeldungen ausgegeben? Funktioniert die Admin-Oberfläche wie gewohnt?

Gelegentlich geht ein Update schief. Jede Website benutzt ureigene Konfigurationen und eine individuelle Zusammenstellung von Plugins, Modulen und Themes (sonst wären ja alle gleich). Daher kann es passieren, dass das Update mit einer spezifischen Konfiguration nicht kompatibel ist.

Und wenn's mal schief läuft?

Die Folgen können ganz unterschiedlich sein:

  • Das Design der Website ist zerstört.
  • Eine oder mehrere Funktionen oder Komponenten funktionieren nicht mehr.
  • Die gesamte Website funktioniert nicht mehr, die Admin-Oberfläche ist nicht mehr zugänglich.

Der Königsweg für ein Update ist, dieses nicht direkt auf der Website zu installieren, sondern eine identische Kopie der Website anzufertigen und in dieser dann die Updates zu testen. Kaum jemand kann und möchte diesen Service bezahlen. Für große Websites, Shopsysteme oder Ähnliches wird aber grundsätzlich (mindestens) eine Testumgebung vorgehalten, da es viel zu riskant ist, an lebenden Systemen Updates durchzuführen oder Erweiterungen direkt zu installieren.

In einem Fall, dass ein Update schief geht, wird zunächst das Fehlerprotokoll ausgewertet und es wird recherchiert, an welcher Stelle es hakt. Anschließend wird ein Konzept entwickelt, wie das Update erfolgreich durchgeführt werden kann. Entweder wird der Fehler direkt im Programmcode behoben oder die Website wird gelöscht, das Backup wird installiert und das Update wird unter angepassten Bedingungen erneut durchgeführt. Was hier in wenigen Sätzen formuliert ist, kann in der Praxis mehrere Stunden oder sogar Tage in Anspruch nehmen. Aus diesem Grund sind Supportpakete für die monatliche Systempflege oft sehr teuer, weil das Risiko gegeben ist, dass ein Update einen Mitarbeiter mehrere Arbeitstage beschäftigt.

Wann sollten Updates durchgeführt werden?

Im Wesentlichen unterscheidet man 3 Arten von Updates:

  • Fehlerbehebungen („Bug Fixes“)
  • Weiterentwicklungen (z.B. Anpassung an neue Standards, Ergänzung neuer Funktionen)
  • Sicherheitsupdates.

Sicherheitsupdates sollten sofort nach Veröffentlichung oder so zeitnah wie möglich installiert werden.

Wichtig sind auch so genannte „Core Updates“, die das gesamte zugrundeliegende System erneuern. Auch diese Updates sollten so zeitnah wie möglich durchgeführt werden, um sicherzustellen, dass das System technisch auf dem neuesten Stand ist. Überspringt man Versionsupdates, kann ein späterer „Sprung“ von einer stark veralteten Version auf die aktuellste Version schwierig und vor Allem zeitaufwändig werden.

Woher weiß ich, wann Sicherheitsupdates erforderlich werden?

Die meisten Systeme versenden eine Benachrichtigung, wenn Updates anstehen oder geben eine entsprechende Meldung nach dem Login aus. Voraussetzung kann sein, dass Du im System eine Rolle besitzt, die diese Benachrichtigungen lesen darf.

Hast Du von Deinem CMS noch nie etwas gelesen oder gehört, setze Dich bitte unbedingt mit dem Entwickler zusammen und hake nach, ob Sicherheitsupdates vorgenommen werden.

Wie oft sind Updates erforderlich?

Das hängt von der jeweiligen Website ab. Jede Website besteht aus unterschiedlichen Komponenten, die unterschiedlich oft aktualisiert werden.

Updates werden bei Drupal z.B. einmal im Monat veröffentlicht. Handelt es sich um sicherheitsrelevante Updates mit einem sehr hohen Risiko, werden diese auch außerhalb des festgelegten Intervalls veröffentlicht.

Nicht alle Updates sind für alle Websites relevant und nicht alle relevanten Updates sind Sicherheitsupdates. Dennoch kann man davon ausgehen, dass man bei einer kleinen bis mittleren Website einmal im Monat tätig werden sollte.

Ich habe noch nie Sicherheitsupdates durchführen lassen, was nun?

Setze Dich unbedingt mit dem Dienstleister in Verbindung, der die Website erstellt hat und hake nach. Auch wenn Du keine regelmäßigen Updates bezahlen möchtest, denke zumindest darüber nach, in bestimmten Intervallen Dein System "verjüngen" zu lassen und behalte unbedingt alle Sicherheitskopien und/oder Backups: Viele Angriffe bleiben lange unentdeckt und Du musst sicherstellen, dass Du eine unbeschädigte Version gesichert hast.

Je öfter sich Inhalte auf Deiner Website ändern, desto wichtiger sind regelmäßige Updates und Backups: Ein Backup stellt immer nur den Zustand zum Zeitpunkt des Backups wieder her.

Werden auf Deiner Website personenbezogene Daten erhoben, bist Du für diese verantwortlich: In diesem Fall rate ich dringend zu regelmäßigen Updates.

Sind Open Source Systeme unsicher?

Das kann man pauschal überhaupt nicht beantworten. Oft sind Open Source Systeme besser und strenger gepflegt, als proprietäre Lösungen. Durch das Mehr-Augen-Prinzip der Entwickler-Community und den massenhaften Einsatz, haben viele Parteien Interesse an der Sicherheit der Systeme und an einem raschen Beheben von Problemen. Jedes System ist prinzipiell angreifbar. Als Website-Besitzer ist man in der Verantwortung, seine Daten und auch seine Investition zu schützen.

Leseempfehlung:

Top