Vorheriger Artikel Nächster Artikel

Sicherheitsmaßnahmen für TYPO3-Administratoren: TYPO3, aber sicher!

Aus dem
t3n Magazin Nr. 4

06/2006 - 08/2006

Trügerische Sicherheit: Ein unangemeldeter Benutzer kann sich Zugriff auf die Bilder und Dokumente einer geschützten Seite verschaffen.

Das Thema Sicherheit wird in der heutigen Zeit sehr ernst genommen. Trotzdem verlassen sich viele Administratoren bei der Arbeit mit auf das System. Doch auch TYPO3 ist nur so sicher, wie es sein Administrator macht.

Datensicherheit ist ein wichtiges Thema für jedes Content Management System, so auch für TYPO3. Wie sicher ist also TYPO3, insbesondere im Umgang mit sensiblen Dateien, die zur Ansicht oder zum Download bereitgestellt werden? Was kann man tun, um die Sicherheit zu erhöhen? Stellen Sie sich eine Intranetlösung für ein Unternehmen vor. Es soll eine Kommunikationsplattform für die Mitarbeiter entstehen. Hier sollen unter anderem Personendaten hinterlegt werden können und verschiedenste Informationen abrufbar sein, wie zum Beispiel die aktuellen Verkaufszahlen für die Geschäftsführer. Es wird also mit geschäftskritischen Daten gearbeitet. Ein sehr kritischer Punkt ist, dass ausgewählten Kunden Zugriff auf die unternehmenseigene Wissensdatenbank gewährt werden soll. Da dies nicht über einen komplexen VPN-Zugriff erfolgen soll, wird die Unternehmensplattform an das Internet angeschlossen. Damit ist die Plattform für jedermann zugänglich und hohen potentiellen Gefahren ausgesetzt.

Drei grundlegende Überlegungen zur Sicherheit

Aus dem Netzwerk werden verschiedenste Anfragen in Richtung Server gesendet – welche letztlich dort ankommen, entscheidet die Konfiguration der Firewall. Für den reinen Webserver-Betrieb sind lediglich der HTTP Port 80 und HTTPS Port 443 zu öffnen. Auf dem Server sollte nur die für den Betrieb unbedingt notwendige Software installiert werden. Die eingesetzte Software muss auf dem aktuellen Stand gehalten werden, da immer wieder Schwachstellen entdeckt werden, über die sich zum Beispiel fremder Code einschleusen lässt. Die Konfiguration des Webservers richtet sich nach dem Grundsatz: „Je weniger ein Angreifer erfährt, desto schlechter seine Chancen“. Informationen über die Version des Webservers und die Verzeichnisstruktur sollten nicht abrufbar sein. Zusätzlich empfiehlt sich der Einsatz von TYPO3's simulateStaticDocuments oder der Extension RealURL, da sich mit diesen die eingesetzte Technologie verstecken lässt.

Selbstverteidigungskurs für Indianer

Der häufig verwendete Webserver Apache kann auch im Bereich Selbstverteidigung „trainiert“ werden. Über mod_evasive [1] kann er vor allem DoS- und BruteForce-Attacken den Wind aus den Segeln nehmen. Mod_evasive ist sehr kommunikativ und kann bei IPchains, Firewalls oder Routern noch rechtzeitig Abwehraktionen auslösen. Ein lohnender Schritt ist auch der Einsatz der Application Firewall mod_security [2]. Mit dieser lassen sich unter anderem GET- und POST-Parameter filtern und die über HTTP hochgeladenen Dateien vor dem Abspeichern auf Viren überprüfen.

Einige wichtige Punkte sind angeführt, mit denen sich jeder TYPO3-Administrator beschäftigt haben sollte. Im Rahmen dieses Artikels kann aber unmöglich auf alle Einzelheiten der allgemeinen Absicherung einer TYPO3-Installation eingegangen werden. Zurzeit entsteht unter [3] ein TYPO3-Sicherheitsportal.

Checkliste zur Konfiguration
Die eingesetzte Datenbank ist nur lokal erreichbar.
Für Front- und Backend werden unterschiedliche Datenbank-Benutzer verwendet.
Bei der Konfiguration von PHP wurden die Einstellungen „display_errors=Off“, „log_errors = On“ und „register_globals=Off“ überprüft.
Durch „open_basedir“ wurde der Verzeichniszugriff mit PHP sinnvoll limitiert.
In PHP ist „safe_mode=On“ gesetzt.
Eingesetzte Drittsoftware ist im safe_mode-Verzeichnis verlinkt.
Die TYPO3-Konfigurationsdatei localconf.php ist aus dem Webroot entfernt und verlinkt.
Die Verzeichnisrechte wurden auf das Notwendigste reduziert.
Das TYPO3-InstallTool ist entfernt oder per die()-Funktion unbrauchbar gemacht.
Backend-Benutzer arbeiten in den von TYPO3 verwalteten User- und Group-Verzeichnissen.
User- und Group-Verzeichnisse befinden sich außerhalb des Webroots.
Der Zugriff auf Backend sowie auf die geschützten Frontend-Seiten erfolgt per HTTPS.

Dateisicherheit – (k)ein Problem?

Ein häufig vernachlässigter Aspekt bei der Nutzung von TYPO3 ist die Absicherung von geschützten Dateien. Auf den öffentlichen Seiten dürfen von unangemeldeten Besuchern alle verlinkten Bilder und Dateien angezeigt oder heruntergeladen werden. Diese Dateien werden von TYPO3 im Dateisystem abgelegt und mit direkten Links eingebunden. Daher ist das generelle Sperren der entsprechenden Ordner per .htaccess oder die Ablage außerhalb des Webroots nicht ohne weiteres möglich.

Für die öffentlichen Seiten spielt das ohnehin keine Rolle. Hat man es allerdings mit geschützten Seiten zu tun, sollte es den unangemeldeten Besuchern nicht möglich sein, auf die eingebundenen Dateien zuzugreifen. Doch genau das ist möglich, da TYPO3 diese Dateien ebenfalls in denselben Ordnern ablegt. Ein unangemeldeter Besucher benötigt lediglich den genauen Link zu einer Datei – damit kann er diese problemlos herunterladen. Die Ermittlung valider Links ist nicht nur für Hacker lediglich eine Frage der Zeit. Je nachdem, welche Dateien abgelegt wurden, kann dadurch ein erheblicher Schaden entstehen – man denke nur an die Ablage einer Mitarbeiterdatenliste oder die aktuellen Verkaufszahlen eines Unternehmens im PDF-Format. Gefährdet sind alle Dateien, die auf geschützten Seiten eingebunden/verlinkt wurden. Sie befinden sich im Fileadmin-, TYPO3temp- oder Uploadordner. Da das generelle Sperren dieser Ordner nicht ohne weiteres möglich ist, folgen nun einige Lösungen.

Sichere Dateilinks in Texten

Einen möglichen Ansatz zur Sicherung zeigen die Extension „Authorized file links“ [4] und „Authorized file links for TYPO3 4.0“ [5]. Diese FrontEnd-Extension leitet in typischen Inhaltselementen (text, ...) alle Dateilinks, die auf den Fileadmin-Ordner verweisen, auf ein PHP-Skript um. Dieses Skript überprüft bei jedem Aufruf, ob der Besucher die nötigen Rechte für die Seite mit dem entsprechenden Dateilink besitzt. Ist das der Fall, wird die Datei aus dem geschützten Fileadmin-Ordner per PHP ausgelesen und an den Besucher gesendet. Dass man bei Verwendung der Extension den Fileadmin-Ordner per .htaccess schützen sollte, liegt auf der Hand. Ansonsten läuft diese Extension auf Anhieb und ohne aufwändige Konfiguration. Möchte man den Autoren nur über die typischen Inhaltselemente – also nicht über das Inhaltselement Dateiliste – die Erstellung von Dateilinks erlauben, kann diese Extension effektiv eingesetzt werden.

Raffinierte Einstellmöglichkeiten der Extension „Secure Downloads“ erlauben einen individuellen Dateischutz.

Raffinierte Einstellmöglichkeiten der Extension „Secure Downloads“ erlauben einen individuellen Dateischutz.

Sichere Dateilisten direkt aus der Datenbank

Eine weitere Extension namens „File list“ [6] erlaubt es, sichere Dateilisten zu erstellen. Sie arbeitet als FrontEnd-Plugin und erhält die Datensätze üblicherweise aus einem Systemordner. Wenn man über den Modus „Liste“ einen neuen Datensatz einfügt, hat man die Möglichkeit, den Titel, eine Beschreibung, Start und Stopdatum sowie die Berechtigung anzugeben. Beim Erstellen des Datensatzes wird die angegebene Datei direkt in die Datenbank geladen und nicht lokal auf dem Dateisystem gespeichert. Dadurch kann nur noch von berechtigten Besuchern auf die Dateien zugegriffen werden. Die Extension ist sehr dynamisch gehalten und das Aussehen der verschiedenen Ansichten lässt sich gut über Templates anpassen.

Allgemeinere Dateisicherheit

Die letzte Extension, die Ihnen hier vorgestellt wird, heißt „Secure Downloads“ [7]. Diese Extension arbeitet nach demselben Prinzip wie die Extension „Authorized file links“. Nach der Installation werden in allen Inhaltselementen Links zu bestimmten Dateien über ein Skript umgeleitet. Auch Verweise innerhalb von IMG-Tags werden durch die Extension ersetzt. So werden auch direkt eingebundene Bilder abgesichert.

Das Besondere an dieser Extension ist ihre Flexibilität. Im Extension-Manager können durch reguläre Ausdrücke die Dateiendungen, Ordner und Domains bestimmt werden, die gesichert werden sollen. Der Extension liegt eine Dokumentation bei, die alle notwendigen Schritte zur Konfiguration genauer beschreibt. Sie müssen natürlich auch hier Hand anlegen und die entsprechenden Ordner schützen.

Fazit

Dieser Artikel sollte Ihnen einen kleinen Überblick über mögliche Sicherheitslücken geben sowie mit den vorgestellten Extensions Lösungsansätze aufzeigen. Wer eine schlanke Lösung sucht, ist mit den beiden ersten Extensions gut beraten. Wer allerdings hohen Wert auf die allgemeine Dateisicherheit legt, sollte auf die dritte Extension zurückgreifen. Wenn Sie über den Einsatz solcher Erweiterungen nachdenken, sollten Sie sich also über Ihre Anforderungen an die Extension bewusst sein. Welche Extension Sie letztlich einsetzen, hängt natürlich vor allem auch von dem Projekt und den Umständen ab.

Auf dem Gebiet der Sicherheit mit TYPO3 wird zurzeit an vielen Ecken entwickelt. Auch deswegen wollen wir mit dem Security Portal [3] eine Plattform schaffen, auf der wir über aktuelle Entwicklungen berichten und die Entwicklergemeinde etwas mehr zusammenführen. Wir möchten Sie ganz herzlich einladen, daran mitzuwirken.

Abonniere jetzt t3n-News über WhatsApp und bleib mobil auf dem Laufenden!
t3n-News via WhatsApp!
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich TYPO3
TYPO3 CMS 7 LTS: Das kann die neue Version des Enterprise-CMS
TYPO3 CMS 7 LTS: Das kann die neue Version des Enterprise-CMS

Heute ist nach einigen Sprint-Releases mit Version 7.6 endlich die neue Long-Term-Support-Version von TYPO3 CMS veröffentlicht worden. Was der neue Release an Neuerungen mitbringt, zeigen wir euch … » weiterlesen

Das sind die Gewinner der TYPO3-Awards: Die besten Websites der vergangenen zwei Jahre im Überblick
Das sind die Gewinner der TYPO3-Awards: Die besten Websites der vergangenen zwei Jahre im Überblick

Am gestrigen Abend wurden die TYPO3-Awards in Amsterdam verliehen. Wir zeigen euch die Gewinner, von deren Websites ihr euch bestimmt noch Inspiration holen könnt. » weiterlesen

TYPO3 CMS 7.5: Das ist neu
TYPO3 CMS 7.5: Das ist neu

Heute wurde mit TYPO3 CMS 7.5 der letzte Sprint-Release vor dem Long-Term-Support-Release (LTS) veröffentlicht. Die neue Version bringt unter anderem Unterstützung für die einfache Einbindung von … » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?