Zum Hauptinhalt springen Skip to page footer

Sicherheitsmanagement bei Web-Projekten

Fachartikel zu grundsätzlichen Sicherheitsüberlegungen bei Websites mit und ohne TYPO3

An die Betriebssicherheit und an den „Größten Anzunehmenden Unfall“ sollten Sie bei Kundenprojekten nicht erst dann denken, wenn beispielsweise der Serverraum durch eine Löschanlage geflutet wurde oder ein länger zurückliegender Hacker-Angriff das Projekt nachhaltig zerstört hat und auch die serverseitig durchgeführten Backups bereits betroffen sind. Spätestens dann zeigt sich, dass auch gespiegelte Festplatten, externe Backup-Platten im selben Rechenzentrum oder Wiederhestellungspunkte von Managed Servern nur begrenzte Sicherheit bieten. Ohne Anspruch auf Vollständigkeit finden Sie hier einige Punkte, die ein professionelles Sicherheits-Management für ein Projekt erfordert:

Serverseitige Redundanz und Wiederherstellung

Bei größeren, wirtschaftlich wichtigen Projekten werden redundante Server in verschiedenen Rechenzentren einzusetzen sein, bei kleineren bis mittleren Websites wird diese Hosting-Strategie im Regelfall zu hohe Kosten verursachen. Dennoch sollten Sie bei der Wahl des Hosting-Anbieters auf Spiegelung der Festplatten im RAID-Verbund (z.B. RAID-1 oder RAID-5) achten. Zusätzliche externe Sicherungsplatten, die automatisch über Nacht Backups vom laufenden Dateisystem und den Datenbanken ziehen, werden von professionellen Hosting-Providern ebenfalls angeboten und sollten unbedingt hinzugezogen werden. Auf dem Server sollte auch die Möglichkeit bestehen, vor Update-Arbeiten am CMS eine schnelle serverseitige Spiegelung des Accounts (Wiederherstellungspunkt) anlegen und bei Problemen mit dem Update wieder einspielen zu können. Alternativ können natürlich auch Versions-Verwaltungs-Systeme wie z. B. Subversion eingesetzt werden. Bei größeren Umbau-Arbeiten ist das Testen und Dokumentieren auf einem separaten, gespiegelten Entwicklungs-Account anzuraten. Der höhere Aufwand dieser Vorgehensweise liefert auf der anderen Seite ein Minimum an Ausfallzeit des Live-Systems. 

An serverseitigen Maßnahmen ist auch ein gutes Server-Management erforderlich. Vom Betrieb eines eigenen Root-Servers ist abzuraten, wenn das dafür erforderliche Know-How in Ihrer Agentur nicht vorhanden ist. „Managed Server“ oder auch gute Shared-Hosting Agentur-Pakete sind bei geringfügig höheren Kosten in dem Fall die bessere Wahl.

Fehlkonfigurationen der Software vermeiden

Bei der Entwicklung sowie im laufenden Betrieb des Projektes müssen die Entwickler auf eine sichere Konfiguration des CMS oder der Blog-Software achten. Eine gute Qualitätssicherung vor der Projekt-Übergabe oder nach Upgrade-Arbeiten verhindert den laufenden Betrieb des Systems mit beispielsweise nicht geschlossenen Installations-Zugängen oder unzureichendem Passwortschutz. Dabei muss Ihre Agentur versuchen dem Endkunden zu vermitteln, dass ein professionelles Projekt-Management Zeit und damit auch Geld kostet – und sich Sicherheit im Vergleich mit Billiganbietern letztlich auch rechnen kann.

Wartung des Content Management Systems

In allen Content-Management- und Blog-Systemen tauchen Sicherheitslücken auf, die früher oder später von Hackern genutzt werden können. Für populäre Systeme verbreiten sich in kurzer Zeit im Internet sog. „Exploits“, das sind fertige Skripte zum Angriff auf bestimmte Versionsnummern. Vor allem bei komplexen Systemen wie z. B. TYPO3 erfordert die Wartung und Installation von Updates entsprechende Fachkenntnis, nicht zuletzt deshalb, weil auch Erweiterungen von Dritt-Anbietern von Sicherheitslücken betroffen sein können und Kompatibilitätsfragen zwischen Kernsystem und der jeweiligen Erweiterung vor deren Installation geklärt oder erst getestet werden müssen. Als betreuende Agentur müssen Sie zeitnah über Sicherheitslücken und zur Verfügung stehende Updates informiert sein und die Abhängigkeiten der eingesetzten Module zueinander beurteilen können. 

Lokale Archivierung und Backups

Gegen einen Ausfall des gesamten Rechenzentrums bzw. gegen den „GAU“ ist Ihr Projekt freilich durch serverseitige Maßnahmen bei einem einzigen Provider nicht geschützt. Deshalb sollten in regelmäßigen, mit dem Endkunden vereinbarten Intervallen alle relevanten Dateien im Filesystem sowie die Datenbanken des Webservers gezipped und auf lokalen Platten oder einem Server in einem anderen Rechenzentrum archiviert werden. Den Wiederherstellungsprozess sollten Sie ausreichend testen, um im Ernstfall keine bösen Überraschungen zu erleben. Vor allem bei größeren Datenbanken kann das Erstellen oder Einspielen eines Datenbank-Dumps problematisch werden, wenn die maximale Skriptlaufzeit des Servers zu kurz bemessen ist. 

Wartungsvertrag

Bei den Endkunden muss von der Agentur das Bewusstsein geschaffen werden, dass die Überwachung und Wartung eines Systems erforderlich ist, und natürlich auch Kosten verursacht. Die Schuld an nicht gewarteten Systemen wird oft bei den betreuenden Agenturen gesucht, dahinter steht jedoch meist ein fehlendes Budget für die erforderlichen Sicherheits-Maßnehmen. Um immer wiederkehrende Diskussionen zwischen Agentur und Endkunden über die anfallenden Kosten zu vermeiden, können Sie einen Wartungsvertrag mit genau definiertem Umfang und festgelegten Preisen über einen bestimmten Release-Zeitraum mit dem Kunden abschließen. In diesem Vertrag können neben der Überwachung, Wartung und Sicherung des Systems auch beispielsweise ein Support-Kontingent für Beratungsleistungen sowie Tests und Qualitätssicherung bei Update-Arbeiten enthalten sein.

Bei CM- oder Blog-Systemen ohne festgelegte Release-Zyklen und ohne definierte Update-Routinen kann schwer eingeschätzt werden, wie lange eine Haupt-Version mit Updates versorgt wird und ab welchem Zeitpunkt eine Migration bzw. ein Upgrade auf einen neuen Release-Zweig mit möglicherweise umfangreichen Arbeiten nötig sein wird. Deshalb sollten Sie schon bei der Projekt-Evaluierung auf Systeme mit professionellem Release-Management, Security-Annoucements und einer funktionierenden Community setzen, wie das z. B. bei TYPO3 der Fall ist.