Zum Inhalt springen
Der Guide für ein smartes Leben.
Sicherheit & Internet:Internet:Web-Entwicklung

Teil 2: CMS-Serie: Joomla

Autoren: Redaktion pcmagazin und Anna Kobylinska • 22.4.2009 • ca. 3:35 Min

Inhalt
  1. CMS-Serie: Joomla
  2. Teil 2: CMS-Serie: Joomla

Der Joomla-Workflow nimmt an, dass Veränderungen über das Frontend in Rücksprache mit dem Administrator geschehen. Der Benutzer ist zwar in der Lage, Beiträge einzugeben, doch publiziert werden sie erst, wenn der Administrator seine Zustimmung erteilt hat. Diese granulierte Rechteverteilung mi...

Der Joomla-Workflow nimmt an, dass Veränderungen über das Frontend in Rücksprache mit dem Administrator geschehen. Der Benutzer ist zwar in der Lage, Beiträge einzugeben, doch publiziert werden sie erst, wenn der Administrator seine Zustimmung erteilt hat.

Diese granulierte Rechteverteilung mit Kontrollmechanismen ist ideal für ein CMS, welches in einer Mehrbenutzer-umgebung gefahren wird. Wer vorübergehend alleine zurechtkommen muss, sollte das Frontend überspringen und nur das Backend nutzen.

Die Mehrbenutzerführung mit Sonderrechten für die Administratoren in Joomla erweist sich in der Praxis als ein konsequent umgesetztes und effizientes Mehrbenutzerkonzept.

Joomla-Module

Joomla bietet eine große Auswahl an kostenlosen Modulen, die das System um nützliche Funktionalität wie die Anbindung an Bezahlsysteme erweitern. Für die Umsetzung Joomla-basierter Portale stehen zahlreiche Foren-Erweiterungen zur Auswahl, darunter phpBB, Punbo oder Fireboard, eine Weiterentwicklung des beliebten Joomlaboards.

Content-Management-Systeme
Viele visuell ansprechende Templates sind ein starkes Argument für Joomla.
© Archiv

Fireboard basiert intern auf der Joomla-Benutzerverwaltung, kann aber auch eigene Profilinformationen beinhalten, die über die regulären Benutzerdetails hinausgehen und von den Nutzern des Forums vollständig editiert werden können.

Besonders empfehlenswert ist der Einsatz von Fireboard mit einer Erweiterung namens Community Builder 1.1/1.2 RC 4, die zusätzliche Funktionalität unter anderem im Bereich der Benutzerverwaltung verfügbar macht.

Sicherheitslage

Die große Popularität von Joomla und die Verfügbarkeit zahlreicher Module gehen leider nicht zwangsweise mit hoher Sicherheit einher. Einige der beliebtesten Funktionen und Erweiterungen sind oft die gefährlichsten.

Unzählige Joomla-Module, darunter Ext Calendar, Simple Board und RS Gallery 2, fielen wiederholt Hacker-Angriffen zum Opfer. Auch das Kernsystem von Joomla wies in der Vergangenheit ernst zu nehmende Sicherheitslücken auf.

Aufgrund falscher Zugriffsrechte auf die Datei components/com_user/models/reset.php konnte ein Angreifer bis vor Kurzem den Authentifizierungsmechanismus umgehen und das Passwort des Benutzers mit der niedrigsten Benutzer-ID (typischerweise des Administrators) verändern, ohne berechtigten Zugang zum System zu besitzen.

Damit bekam der Angreifer zwar keinen Zugriff auf die Daten, konnte aber Seitenbetreiber aus ihrem System aussperren. Das Problem trat zuerst in Joomla 1.5 auf und wurde erst mit Version 1.5.6 im August 2008 behoben.

Ein beliebtes Angriffsszenario nutzt die Funktionalität aus, die dem Benutzer erlaubt, Inhalte in das System einzuspeisen. Meist handelt es sich dabei um das Hochladen von Bildern. Werden dann kleine Skripte mit einer PHP-Shell auf den Server abgelegt, verschafft sich der Angreifer somit Zugriff zum Webserver.

Content-Management-Systeme
Mit vielen Joomla-Erweiterungen kommen unter anderem XSS-Sicherheitslücken.
© Archiv

Doch auch, wenn man nur das Uploaden von zum Beispiel Jpg- und Gif-Dateien zulässt, kommen bei Joomla-Installationen Angriffe vor.

Ein gefährliches PHP-Skript lässt sich in einer vollständig funktionsfähigen GIF-Datei auf den Server schmuggeln. Ändert der Angreifer den Dateinamen in bild.php.gif um, so kann der PHP-Code ausgeführt werden.

Um Abhilfe zu schaffen, müsste das System mehrere Sicherheitsvorkehrungen vorsehen. Zum einen könnte es dem Dokument nach dem Upload einen eigenen Dateinamen nach einem Zufallsverfahren vergeben, zum anderen könnte es die Datei in die Datenbank einfügen. Auf die Datei würde dann mit einem anderen Skript zugegriffen.

Auf diese Weise könnte man einen potenziellen Angreifer davon abhalten, das gefährliche PHP-Skript auszuführen, zumindest solange man in diesem Fall den Dateityp mittels erzwingt:

header('Content-Type: image/gif');

Jenseits der Probleme mit upgeloadeten Dateien traten in den verschiedenen Versionen von Joomla noch andere Sicherheitslücken auf. So beinhaltet die Joomla-Routine com_weblinks eine Cross-Skripting-Sicherheitslücke, die alle Joomla-Versionen von 1.5 bis einschließlich 1.5.7 betrifft.

com_weblinks erlaubt es, rohes HTML in Titel- und Beschreibungs-Tags für Weblink-Einreichungen einzuschmuggeln. Der Fehler wurde erst im November 2008 mit der aktuellen Version 1.5.8 behoben.

Ebenfalls gefährlich ist die Joomla-Routine com_content. Betroffen sind hierbei die Standardeinstellungen in com_content, denn diese erlauben die Eingabe von gefährlichen HTML-Tags inklusive Skripten. Hierzu muss man mindestens Autoren-rechte in Joomla besitzen und die Filter-Optionen com_content deaktiviert haben.

Viele gefährliche Joomla-Sicherheitslücken bestanden bis einschließlich der Version 1.5.7 und wurden erst vor Kurzem mit der aktuellen Version 1.5.8 im November 2008 behoben. Wenn sich aber erst einmal gefährliche PHP-Skripte auf einem Webserver eingenistet haben, nützt auch das bloße Updaten auf die aktuelle Version 1.5.8 eher wenig.

Die Hacker behalten dann Remote-Zugriff auf den verseuchten Webserver und daran ändert dann auch das Update nichts. Und während einige Hacker Websites spektakulär verunstalten (Defacing), sind jene viel gefährlicher, die sich per PHP-Skript Re-mote-Zugriff verschaffen und nichts Sichtbares ändern.

Oft lassen sich Sicherheitslücken oder Angriffsversuche mit Tools wie Open Source Tripwire () oder Samhain () frühzeitig aufspüren, aber dafür muss die Website auf einem Virtual Private Server (VPS) oder dedicated Server gehostet werden.

Aufgrund wiederholter Attacken auf Joomla-basierte Webseiten ist das System für den Einsatz in unternehmenskritischen Bereichen vorerst nicht zu empfehlen.

Fazit

Joomla in der aktuellen Version 1.5.8 ist ein technisch leistungsfähiges, leicht bedienbares und ausbaufähiges System. Die größte Stärke von Joomla, nämlich die Verfügbarkeit zahlreicher nützlicher Erweiterungen, stellt allerdings auch seine größte Schwäche dar.

Die kaum überschaubare Fülle von Modulen eröffnet in der Praxis erhebliche Sicherheitsrisiken. So bleibt Joomla vorerst ein CMS für kleine und mittlere Webseiten in nicht-unternehmenskritischen Bereichen.