Webseiten leben von der Korrektheit, Qualität und Aktualität der dort abgebildeten Informationen. Content Management Systeme bieten nicht nur eine schnelle und kostengünstige, sondern auch komfortable Lösung zur Verwaltung, Aufbereitung und Nutzung dieser Inhalte. So können Dienstanbieter ihre Besucher mit relevanten Informationen zeitnah versorgen. Mit zunehmender Komplexität der Websites sind CMS als technische Basis sehr empfehlenswert. Aufgrund ihrer Funktionalitäten erleichtern sie die Pflege und Organisation der zahlreichen Inhalte und Formate immens.
BSI-Sicherheitsstudie Content Management Systeme
Das Bundesamt für Sicherheit in der Informationstechnik prüfte in ihrer kürzlich erschienenen „Sicherheitsstudie Content Management Systeme (CMS)“ zentrale Komponenten gängiger Open Source WCMS hinsichtlich sicherheitsrelevanter Aspekte. Neben Drupal, Wordpress, Joomla! und Plone wurde unter anderem auch das von uns favorisierte und häufig eingesetzte Content Management System TYPO3 in der Version 6.0 untersucht.
Laut Bundesamt sind schlecht strukturierter, schwer wartbarer oder missverständlicher Quelltext sowie häufig wechselnde, nicht-hauptamtliche Entwickler potenzielle Fehlerquellen und Ursachen für Sicherheitslücken bei Open-Source-Projekten. Hinzu kommt die gemeinhin bekannte Tatsache, dass auch erfahrene Software-Entwickler Fehler machen können und nicht jeder Entwickler gleich ein Sicherheitsexperte ist.
Die Studie lokalisiert Schwachstellen überwiegend in den Erweiterungsmodulen der meisten WCMS. Dabei handelt es sich vorwiegend um XSS, Code Execution und SQL-Injection-Schwachstellen.
- Cross-Site-Scritping (Kurz: XSS) ist eine Angriffsmethode, die auf Script-Sprachen (z.B. JavaScript) aufbaut und so Computersicherheitslücken in Webanwendungen ausnutzt. Der Angriff findet zwischen verschiedenen Aufrufen einer Seite statt, bspw. bei der Übermittlung von Daten aus einem Eingabeformular einer dynamischen Webseite. Betroffen von dieser Schwachstelle sind viele bekannte dynamische Webseiten in den Bereichen Online Banking, Online-Shops aber auch Foren, E-Mail-Dienste und Communities.
- Code Execution ist ein Sicherheitsproblem innerhalb von PHP. Hier stellt das Einbinden externer Dateien über bestimmte Befehle der Script-Sprache ein Sicherheitsrisiko dar, wenn der entsprechende Pfad von außen beeinflusst werden kann.
- Über die SQL-Injection nutzt der Angreifer Sicherheitslücken in schlecht geschriebenem Code aus, der die Datenbank anspricht. Gefahrenstellen sind bspw. Nutzereingaben, die durch diesen Code nur mit einer mangelnden Maskierung oder Überprüfung in die Datenbank geschrieben werden.
Die oben genannten Schwachstellen traten bei allen CMS in einem relativ hohen Grad auf. Einzige Ausnahme bildet die SQL-Injection bei Plone, einem auf der Programmiersprache Python basierendem Redaktionssystem: das System ist resistent gegen solche Angriffe, da es keine SQL-Datenbank einbindet. Neben der Klassifizierung der Schwachstellentypen ist ebenfalls das Auftreten von Bedeutung. So ist die Anzahl der gefundenen Sicherheitslücken im CMS-Kern – mit Ausnahme von Plone – gering im Verhältnis zu den Schwachstellen in der Erweiterung. Im Vergleich der CMS untereinander traten bei Joomla! und TYPO3 die meisten Schwachstellen auf. Dies ist vor allem auf den hohen Verbreitungsgrad der Software und der Vielzahl an eingesetzten Systemerweiterungen (Extensions, Module, Plugins) zurückzuführen.
Die herausgestellten Sicherheitslücken dienen lt. BSI lediglich als Anhaltspunkt, nicht aber als Kriterium für die Auswahl eines geeigneten CMS-Systems. Hierfür müssen Anwendung und Einsatzbereiche der CMS ebenfalls abgewogen werden. Insgesamt kann festgehalten werden, dass alle Open Source CMS transparent über ihre Schwachstellen kommunizieren und die bereitgestellten Informationen für den Nutzer hierzu gut nachvollziehbar sind.
Welche sicherheitsrelevanten Aspekte bietet TYPO3 seinen Nutzern?
TYPO3 bietet Anwendern Hilfe durch das TYPO3 Security Team auf der entsprechenden Webseite. Neben einer schnell auffindbaren Kontaktadresse zum Melden von Sicherheitsproblemen können sich Nutzer auch über die sogenannten Security Bulletins zu sicherheitsrelevanten Aspekten informieren. Hierzu zählen Security Updates des TYPO3-Cores und der TYPO3-Extensions sowie nicht betreuten unsicheren Extensions. Für eine leichte und sichere Integration in Systemumgebungen unterstützt TYPO3 gleich mehrere Standardverfahren zur Authentisierung. Weiterhin betreibt TYPO3 ein öffentliches Bug-Tracking, das Entwicklern die Möglichkeit bietet, die Fehlerbehebung und Implementierung neuer Funktionen zu verfolgen. Gemeldete Schwachstellen werden zeitnah gepatcht und behoben. Mit einem neuen Release werden die Updates zum Schließen der Sicherheitslücken für Entwickler zugänglich gemacht. Zudem besitzt TYPO3 formale Richtlinien zur Prüfung von externen Erweiterungen vor deren Aufnahme in die offizielle Liste. Dabei werden Kernkomponenten von TYPO3 nach Änderungen ausgiebigen Tests und Extensions sogenannten Reviews unterzogen. Ferner liegt es auch bei den Anwendern selbst ihr System vor Schwachstellen zu schützen, indem sie verwendete Extensions nur aus vertrauenswürdigen Quellen beziehen, bzw. sich im Zweifel genau über die gewünschte Erweiterung, bspw. in den entsprechenden Foren, informieren.
Weitere sicherheitsrelevante Eigenschaften, die TYPO3 bietet:
- Möglichkeit der Rücksicherung von Daten im Ganzen
- Rechte- und Rollenverwaltung
- Sichere Datenablage durch Zugriffsberechtigung
- Unterstützung von Unicode (UTF-8) zur Vermeidung von Sicherheitslücken durch falsch zugeordnete Encodings
- Möglichkeit der Transportverschlüsselung über SSL
- Mechanismen zur Inhaltsverwaltung
- Sichere Sitzungsverwaltung durch CSRF-Schutz und Verwendung von Secure- und HttpOnly-Flags bei Cookies
- Bereitstellung ausführlicher Anwenderdokus: Security Guide, weitere Schulungsmaterialien, Blog des Security Teams, Wiki sowie externe Foren, in denen Sicherheitsaspekte diskutiert werden
- Nutzung des LAMP- bzw. WAMP Prinzips
- Verwendung häufig eingesetzter Bibliotheken wie bspw. Jquery
- Erweiterte Zugriffsbeschränkung, um nur bestimmten IPs Zugriff auf das Backend zu gewähren
- Ausführen von Dateioperationen etc. über cUrl zur Verminderung des Angriffsrisikos gegenüber anderen PHP-Techniken
- Automatischer Versand von Meldung zu (fehlgeschlagenen) Login-Versuchen
Erhöhte Sicherheit durch firmeneigene TYPO3-Sicherheitslösungen
Einer der vielen Vorteile von Open Source Technologien ist die Zugänglichkeit und Möglichkeit zur Mitarbeit und Erweiterung des quelloffenen Systems. So hat unser Team eine Vielzahl weiterer Sicherheitslösungen für TYPO3 entwickelt, die zu den oben genannten Lösungen eine sinnvolle Ergänzung darstellen. Dazu zählen unter anderem „mkphpids“, ein Intrution Detection System, das Angriffe erkennt, meldet und ggf. unterbindet, oder „mksanitizedparameters“. Letzteres vereinfacht die Bereinigung von Parameter, die an TYPO3 übergeben werden (auch in Cookies). Somit können auch noch unbekannte Sicherheitslücken schwer ausgenutzt werden, da die Extension das Manipulieren von Parameter unterbindet. Zudem nutzen wir eine Software namens Caretaker. Dieser ermöglicht eine komfortable und einfache Überwachung des TYPO3 Systems. Er bietet eine Reihe an Sicherheitsfeatures, die das System permanent vor Schadsoftware schützt:
- Meldung zu notwendigen TYPO3- oder Extension-Updates
- Meldung zu (Nicht-/) Vorhandensein bestimmter Extensions
- Überprüfung der Extension-Konfiguration
- Meldung über die Verwendung von Standardpasswörtern bei Backend-Usern
- uvm.
Im Prinzip sind der Überwachung keine Grenzen gesetzt. Allerdings spielt die Aktualität und die richtige Konfiguration von System und Erweiterungen eine entscheidende Rolle. Ein System kann noch so viele Sicherheitsfeatures bieten und trotzdem potenziell angreifbar sein, wenn diese nicht genutzt werden oder falsch konfiguriert sind. Sollten Sie also Fragen zum Thema Sicherheit haben oder sich über unsere Sicherheitslösungen für TYPO3 näher informieren wollen, können Sie uns gern kontaktieren. Mehr Informationen zur Studie finden Sie hier.