Joomla! 1.5 - Das Open Source-CMS einsetzen und erweitern

Tobias Hauser, Christian Wenz

Joomla! 1.5

Das Open Source-CMS einsetzen und erweitern

2008

454 Seiten

Format: PDF, Online Lesen

E-Book: €  23,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446411531

 

15 Joomla! und Sicherheit (S. 351-352)

„Sicherheitsprobleme bei meiner Joomla!-Installation? Ich habe doch eine Firewall!" So ungefähr hören sich verantwortungslose IT-Manager an, kurz bevor sie gehen müssen. Denn Angriffe, die sich von einer Firewall abwehren lassen, sind nur eine von vielen Gefahren, denen eine Website im Internet tagtäglich ausgesetzt ist.

Ein sehr großes Gefahrenpotenzial liegt in schlampigem Code. Selbst kleine Fehler im PHP-Code einer Website können dazu führen, dass ein Angreifer an wichtige Daten kommt oder der Website allgemein Schaden zufügt. Dieses Kapitel stellt die häufigsten Fehler und gleichzeitig die gängigen Angriffsmethoden vor. Außerdem erfahren Sie, wie Sie es Angreifern schwer bis unmöglich machen, Ihre Website zu kompromittieren.

15.1 Sicherheit und CMS
Das Thema Web-Sicherheit ist zwar in aller Munde und jeder scheint heutzutage in irgendeiner Form ein Sicherheitsexperte zu sein, aber dennoch treten dieselben Fehler immer wieder auf. In den einschlägigen Mailinglisten rund um Sicherheitsthemen wird schätzungsweise einmal pro Woche eine neue Schwachstelle in einem PHP-basierten Open-Source- Produkt gemeldet. Zu solchen Produkten zählen Blogsysteme, E-Commerce-Anwendungen, Bildergalerien und eben auch CMS-Systeme.

Gerade CMS-Systeme werden von Angreifern sehr gerne als Ziel ihrer „Untersuchungen" ausgewählt. Zum einen ist es nicht einfach, sie zu installieren, was vor allem ein Update auf eine neuere Version schwierig macht. Zum anderen bieten CMS-Systeme einen direkten Zugriff auf den eigentlichen Inhalt einer Seite. Wenn in ihnen eine Schwachstelle sitzt, ist es unter Umständen sehr einfach, eine Seite virtuell anzugreifen und zu verschandeln (das wird auch Defacement genannt).

Selbst Joomla! ist in der Vergangenheit immer wieder durch Schwachstellen im Code aufgefallen. Das hat unter anderem historische Gründe: Vor einigen Jahren waren Sicherheitsbedenken noch nicht weit verbreitet. Die Entwickler haben den Schwerpunkt auf die Funktionalität gelegt, Sicherheit dagegen weder beim Design noch bei der eigentlichen Implementierung großartig berücksichtigt. Das ist kein spezifisches Problem von Joomla! (im Gegenteil, das Projekt ist in letzter Zeit verhältnismäßig selten durch Sicherheitslücken aufgefallen), sondern ein allgemeines Problem der IT-Industrie. Im Juni 2005 beispielsweise haben einige größere Hoster ihre Kunden informiert, dass ein bestimmtes Forensystem nicht mehr von den Kunden installiert und verwendet werden darf – es seien in der Vergangenheit zu viele Sicherheitslücken darin gefunden worden.

Nun versucht man an vielen Stellen, „Aufklärung" zum Thema Sicherheit zu betreiben. Zwar sehen einige Leute ihre Erfüllung darin, selbst Sicherheitslücken zu finden und zu veröffentlichen, doch es gibt spezielle Personenkreise, die durch Websites, Artikel, Vorträge und Schulungen versuchen, das Thema Web-Sicherheit einem größeren Publikum zugänglich zu machen. Im PHP-Bereich finden Sie dazu unter anderem das PHP Security Consortium (http://www.phpsec.org/). Technologie- und sprachabhängig beschäftigt sich das Open Web Application Security Project (kurz: OWASP) mit dem Thema und versucht Entwicklern zu helfen.

OWASP hat beispielsweise mehr oder minder regelmäßig eine Top-Ten-Liste der häufigsten Sicherheitslücken samt Erläuterungen veröffentlicht. Die letzte Version sehen Sie unter http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project, online als Word- DOC oder als PDF. Die Top-Ten-Liste beinhaltet folgende Punkte:

1. Cross-Site Scripting (siehe Abschnitt 15.2)
2. Einschleusen von Code in externe Systeme oder in das Betriebssystem, beispielsweise in Datenbanken (siehe Abschnitt 15.3)
3. ungewolltes Ausführen von Dateien
4. unsicherer direkter Objektzugriff
5. Cross-Site Request Forgery
6. unzureichendes Fehler-Management (beispielsweise Fehlermeldungen, die dem Angreifer Informationen über das System verraten)
7. fehlerhafte Authentifizierung und fehlerhaftes Session-Management
8. unsichere Speicherung (u.a. keine Verschlüsselung bei Passwörtern)
9. unsichere Kommunikation
10. ungesichertere Zugriff auf URLs

 

© 2009-2024 ciando GmbH