Teil 4: CMS-Serie: Zikula 1.1
- CMS-Serie: Zikula 1.1
- Teil 2: CMS-Serie: Zikula 1.1
- Teil 3: CMS-Serie: Zikula 1.1
- Teil 4: CMS-Serie: Zikula 1.1
Die Konfigurationsdatei personal_config.php wird aus der Datei config.php heraus (nicht redundant) aufgerufen. Sichern von pnTemp Der Ablageort des pnTemp-Verzeichnisses sollte sich aus Sicherheitsüberlegungen in einem Pfad befinden, den man aus dem Web heraus nicht ansprechen kann. Verschieben...
Die Konfigurationsdatei personal_config.php wird aus der Datei config.php heraus (nicht redundant) aufgerufen.
Sichern von pnTemp
Der Ablageort des pnTemp-Verzeichnisses sollte sich aus Sicherheitsüberlegungen in einem Pfad befinden, den man aus dem Web heraus nicht ansprechen kann. Verschieben Sie das temporäre Verzeichnis in das Verzeichnis, welches sich eine Ebene über dem Web-Verzeichnis befindet:
mv temp ..
und setzen Sie die Zugriffsrechte auf 755:
chmod -R 755 pnTemp
Zusätzlich kann man das temporäre Verzeichnis für Zikula auch noch umbenennen. Die entsprechende Anpassung lässt sich in der Konfigurationsdatei personal_config.php umsetzen, zum Beispiel für ein Verzeichnis namens Sonstiges:
$PNConfig['System']['temp'] =
'Sonstiges';
Bei einer Multisite-Umgebung werden Sie sowieso nicht umhinkommen, mehrere pnTemp-Verzeichnisse anhand geänderter Namen auseinanderzuhalten. Das bloße Umbenennen wird die Hacker sicherlich nicht von Angriffen abhalten, macht es aber etwas schwieriger, sich zu orientieren.
Außerdem sollten Sie darauf achten, dass alle Daten, die übers Web zugänglich sind, folgende Zugriffsrechte haben: 755 für Verzeichnisse und 644 oder 444 für Dateien. Ebenfalls eine gute Idee kann es sein, möglichst viele Verzeichnisse oder Dateien oberhalb der Dokumentenverzeichnisse abzulegen, sodass diese nicht über das Web einsehbar sind. Hierfür kann es unter Umständen nötig sein, einen VPS (Virtual Private Server) zu verwenden.

Manche Sicherheitsprobleme mit Zikula hängen mit der Verwendung eines Shared Hostings zusammen und ließen sich vermeiden, wenn man stattdessen einen Virtual Private Server verwenden würde. Denn beim Shared Hosting kann man viele Einstellungen nicht ändern, weil man sie dann unter Umständen für alle auf diesem Server gehosteten Domains ändern würde.
register_globals OFF
Wer seinen Webserver mit deaktivierter Option register_globals betreibt, wird doppelt belohnt: Die Methode ist (zukunfts-) sicherer. Hierzu benötigt die Konfigurationsdatei des Webservers (bei Apache 2 im Abschnitt <virtual> oder <directory>) einen Eintrag in der Form:
php_flag register_globals off
Fazit
Die Entwickler von Zikula waren bemüht, ein schnelles und ausbaufähiges Applikationsframework ins Leben zu rufen, welches die Aufgaben eines CMS-Systems mit Bravour meistert. Das ist ihnen größtenteils gelungen. Zikula ist tatsächlich viel sicherer als Postnuke.
Doch in der Praxis ist das System nur so sicher, wie gering die größte Sicherheitslücke ausfällt. Da PHP in der Version 4.3 bis 5.x zu den Systemvoraussetzungen von Zikula zählt, sind Schwächen dieser Skriptsprache automatisch auch als Zikula-Schwächen zu werten.
Manche Sicherheitslücken, wie falsche Installationsorte und vor allem fahrlässig gesetzte Zugriffsrechte, sind dem Zikula-Team anzulasten. Die Sicherheit des CMS-Systems ist aber letztendlich eine Verantwortung des Webmasters. Die erforderlichen Änderungen sind nicht groß, wohl aber die Auswirkungen auf die Sicherheit.
Für den unerfahrenen Webmaster ist Zikula wohl kaum geeignet, da es zu viele Elemente gibt, die man manuell nachbessern sollte. Installiert man Zikula mit Fachkenntnis und verfügt über das nötige PHP-, Apache- und Unix-Fachwissen, so kann Zikula eine exzellente Wahl darstellen, insbesondere wenn man den möglichen Fallstricken aus dem Weg geht.