TYPO3 Sicherheit

50 Sprachen online kostenlos lernen - auch als APP

TYPO3 - mit Sicherheit!

In TYPO3 finden sich eine ganze Reihe von heute üblichen Sicherheitsmechanismen wieder. Ihre konkrete Umsetzung im System selbst ist dabei durchgehend als gelungen zu betrachten.


Die beteiligten Aktoren

Wie so oft, spielt der Faktor Mensch aber auch hier den entscheidenden Faktor. Wir unterscheiden hier zwischen mehreren Personenkreisen, die alle ihren jeweiligen Anteil an der Sicherheit des Systems tragen.

  • TYPO3-Programmierer und Entwickler: Sie müssen (wie in der Software-Entwicklung allgemein üblich) schon beim Entwurf und beim Design der Website mögliche Schwachstellen im System kennen. In unserem Fall bedeutet dies fundierte Kenntnisse der inneren Abläufe von Typo3 sowie die ständige Information in entsprechenden Diskussionsforen, die sich mit den Sicherheitsaspekten von TYPO3 befassen.
     
  • TYPO3- bzw. System-Administratoren: Sie sind für das stabile und sichere Arbeiten des Systems nach der ersten Veröffentlichung verantwortlich. Zu ihren Hauptaufgaben zählen die Kontrolle von Logfiles, die Beseitigung von nicht mehr benötigten Programmteilen, sowie die Aktualisierung des Sytems mit neuverfügbaren Updates und Erweiterungen. Für die Sicherheit des CMS von entscheidender Bedeutung ist außerdem die kontrollierte Anlage von Benutzerkonten, sowie die Verteilung der benötigten Rechte in diesen.
     
  • TYPO3-Redakteure: Diese sind für die Sicherheit des Systems in ihrem eigenen Arbeitsumfeld verantwortlich. Dazu müssen sie sicherstellen, daß keine unbefugten Personen unkontrollierten Zugriff auf ihre Arbeitsrechner, bzw. ihre Benutzerdaten innerhalb des TYPO3-Systems erlangen können.

Grundsätzlich muss man bei der Betrachtung der in TYPO3 verfügbaren Sicherheitsaspekte zwischen 2 Kategorien unterscheiden. Zum einen haben wir die Funktionen, die bereits in der Standardinstallation (dem sogenannten Core-System) enthalten sind. Zudem haben wir aber auch Funktionen, die sich bei Bedarf nachträglich als Extensions in das System integrieren lassen. Wir wollen an dieser Stelle eine kurze Übersicht über die Sicherheitsmerkmale von TYPO3 geben.

Im Kernsystem enthaltene Sicherheits-Features

  • Getrenntes Install-Tool
    Die wichtigsten Konfigurationseinstellungen werden nicht im normalen Backend vorgenommen, sondern in einem eigenständigen Tool. Dieses besitzt nicht nur ein eigenes Passwort, sondern ist auch durch eine auf dem Server per FTP (in neueren Versionen auch über das Backend) anzulegende Datei (ENABLE_INSTALL_TOOL) gesichert. Fehlt diese Datei, so kann das Installtool nicht gestartet werden. Ein Admin kann natürlich auch noch extra den Zugriff auf das entsprechende Verzeichnis reglementieren, oder z.B. die zugehörige PHP-Datei umbenennen oder ganz entfernen.
     
  • Login-Verfolgung ("Login History")
    Alle Anmeldungen im Backend-Bereich der Website werden protokolliert. Der Administrator verfügt somit über ein ausgezeichnetes Werkzeug für das Tracking alle am System erfolgten Anmeldungen. Neben dem Benutzernamen und Zeitstempeln wird zudem auch die IP-Adresse des aufrufenden Rechners protokolliert.
     
  • Zugriff auf IP-Adressen beschränken ("lock to IP")
    Der Zugriff auf das TYPO3-Backend läßt sich auf bestimmte IP-Adressen einschränken. Hiermit läßt sich ein unerwünschter externer Zugriff auf das CMS nahezu vollständig unterbinden.
     
  • Zugriff auf Domains beschränken ("lock to domain")
    Der Zugriff auf das TYPO3-Backend läßt sich auf bestimmte Domains einschränken. Hiermit läßt sich ein unerwünschter externer Zugriff auf das CMS nahezu vollständig unterbinden.
     
  • Entwurfsumgebungen ("draft workspaces", "sandboxing")
    Änderungen an Design und Inhalten der Website lassen sich so einrichten, daß diese zunächst nur in einem bestimmten Entwurfs-Workspace gültig und somit sichtbar sind. Erst wenn alle Änderungen durchgeführt sind, werden alle Änderungen publiziert. Die aktuelle Live-Version der Website bleibt dabei von den Änderungen unberührt.
     
  • Detaillierte Benutzerverwaltung ("User management")
    Zuständige Administratoren können einzelne Benutzerkonten deaktivieren bzw. deren Rechte einschränken.
     
  • Frontend-Benutzerverwaltung ("Frontend user management")
    Besucher der Website können sich mit Namen und Passwort an der Seite anmelden (zum Beispiel für Diskussionsforen oder Online-Shops) und bestimmten Gruppen zugewiesen werden. Über diese Gruppen können die Rechte des Besuchers auf der Seite gesteuert werden.
     
  • Versionierung von Inhalten ("Versioning")
    Der aktuelle Zustand der Website (alle Inhalte, alle Benutzerkonten,...) läßt sich mit einem Label versehen, welches diesen eindeutig identifiziert. Bei Bedarf kann der komplette Zustand der Website auf den Stand eines vorher definierten Labels zurückgesetzt werden. Zudem kann einfach zwischen verschiedenen Versionen hin- und hergeschaltet werden, um Änderungen leichter nachzuvollziehen.
     
  • Protokollierung von Änderungen ("History")
    Alle Änderungen an Seiten und Inhalten werden vom System protokolliert. Der Administrator kann somit jederzeit erkennen wer, wann, welche Änderungen an Inhalten vorgenommen hat.
     
  • Rückgängigmachen von Änderungen ("Undo")
    Alle Änderungen an Seiten und Inhalten werden vom System protokolliert und können von einem Administrator sehr weitgehend rückgängig gemacht werden.
     
  • E-Mail-Benachrichtigungen ("E-Mail alerts")
    Der Administrator kann sich bei bestimmten, sicherheitssensitiven Systemereignissen Benachrichtigungen per E-Mail zukommen lassen. Damit kann er sich zum Beispiel direkt über misslungene Login-Versuche informieren lassen.
     
  • Zugriffslisten ("Access control lists")
    Für Seiten und Inhalte lassen sich feingranular Rechte vergeben. Hierüber lässt sich detailliert steuern welche Benutzer bestimmte Inhalte sehen, bearbeiten oder löschen dürfen.
     
  • SSL-Authentifizierung ("Secure socket layer")
    Anmeldungen am TYPO3-Backend können über das sichere Protokoll SSL durchgeführt werden.
     
  • Bearbeitungswarnungen ("Simultaneous editing warning")
    Wenn ein Redakteur gerade einen bestimmten Inhalt bearbeitet, so ist dies durch einen entsprechenden Warnhinweis für alle anderen Redakteure erkennbar. Ein gleichzeitiges Bearbeiten der Inhalte wird jedoch nicht verhindert.
     
  • Getrenntes Install-Tool
    Alle Kerneinstellungen einer TYPO3-Installation - etwa die Datenbankeinstellungen - können nur über ein eigenes System - das Install-Tool - verändert werden. Dieses ist nicht nur durch ein separates Passwort geschützt, sondern verlangt auch das Vorhandensein einer Datei "ENABLE_INSTALL_TOOL" auf dem Server. Nach der vollständigen Konfiguration des Systems wird diese Datei gelöscht.
     
  • Ausschluß "potentiell gefährlicher" Dateien (php, htaccess,...)
    Standardmäßig verbietet TYPO3 das Bearbeiten von PHP- oder ähnlichen Dateien innerhalb des Backends. Somit könnte auch ein technisch versierter Redakteur keinen potentiell gefährlichen Code in die Installation einschleusen. Vorsicht: Oftmals wird diese Funktion von Admins "bequemerweise" deaktiviert. Noch schlimmer wird es, wenn Programmierer zur Lösung kleiner Probleme die Extension "page_php_content" installieren. Diese erlaubt die Einbettung von ausführbaren Code direkt im Inhalt. Diese Extension ist nicht ohne Grund aus dem offiziellen Repository verschwunden!

Durch Extensions erweiterbare Sicherheits-Features

  • SSL-Seiten ("SSL-Pages")
    Einzelne Seiten der Website können über das sichere Protokoll SSL angeboten werden.
     
  • LDAP-Authentifizierung ("LDAP-Authentification")
    Bestehende Verzeichnisdienste auf LDAP-Basis können für die Benutzerverwaltung genutzt werden.
     
  • CAPTCHA-Unterstützung ("Captcha support")
    Mit CAPTCHA kann das automatisierte benutzen von Kontakt- und Eingabeformularen beschränkt werden. Vor dem Absenden eines Formulares muss ein Code eingegeben werden, der in der Regel nicht von Programmen gelesen werden kann.
     
  • Security-Check (Extension "security_check")
    Diese kleine Erweiterung prüft auf "menschliche" Fehler in der Installation, also ob bestimmte Default-Paßwörter geändert wurden oder E-Mail-Benachrichtigungen aktiviert sind. Nicht geprüft werden vorhandene Updates oder Fehler in den Benutzerkonten.
     
  • Salted Passwords und RSA-Auth
    Auch weitergehende Sicherheitsfeatures für Passwörter von Frontend-Usern lassen sich per Extension hinzufügen.

Probleme mit der Sicherheit bei TYPO3

Nur kurz erwähnt werden soll hier, dass TYPO3 vor allem durch nachlässig programmierte Extensions unsicher werden kann. Man sollte darauf achten möglichst nur Extension zu verwenden, die STABLE sind und zu denen sich auch keine schlechten Meldungen im Netz finden lassen. Die Probleme, die meistens bei unsicheren Extensions auftreten sind das Problem der SQL-Injections und des Cross-Site-Scriptings.