Q203 - Default output directory in use
Gewichtung: Mittel
Beschreibung
Sie lesen diese Seite, weil JoomlaPack festgestellt hat, dass das Standardausgabeverzeichnis und / oder das temporäre Verzeichnis genutzt wird. Diese Seite informiert sie über die möglichen Fallstricke und Sicherheitsbedenken der Standardkonfiguration und auch darüber, wie Sie Ihre Installation absichern können.
Was ist das Temporäre- bzw. Sicherungsverzeichnis und warum sollte ich mich darum kümmern?
Das Termporäreverzeichnis enthält einen Auszug aus der Datenbank (MySQL-Dump .sql-Datei) während die Sicherung läuft. Dieser Auszug wird gelöscht, sobald der Sicherungsvorgang den nächsten Schritt geht, der Sicherungsprozess mit einem abfangbaren Fehler endet oder wenn eine neue Sicherung gestartet wird, falls z.B. die vorherige Sicherung fehlgeschlagen ist. Sollte die Sicherung mit einem fatalen PHP-Fehler scheitert, bleiben diese Dateien aber bestehen. Ein "böser Nutzer" mit Zugang zu diesen Dateien könnte damit an geheime und sicherheitsrelevante Informationen aus der SQL-Datei gelangen.
Auf der anderen Seite enthält das Sicherungsverzeichnis die Sicherungsdateien. Manche von diesen sind vollständig, andere sind unvollständig (weil z.B. der Sicherungsprozess an irgendeinem Punkt abgebrochen ist). Eine Sicherungsdatei enthält alle Dateien ihrer Internetseite, inklusive Datenbank und den Zugangsdaten zur Datenbank. Ein "böser Nutzer" mit Zugang zu diesen Dateien kann ALLES damit anstelle, und noch schlimmer, er könnte eine EXAKTE KOPIE Ihrer Seite auf einem Server seiner Wahl aufsetzen um zum Beispiel wege herauszufinden, um ihre Seite anzugreifen.
Warum ist es schlecht, das Standardverzeichnis zu nutzen?
Wie schon gesagt, ein "böser Nutzer" muss Zugang zum Temporären- bzw. zum Sicherungsverzeichnis haben, um den Inhalt auszuforschen. Das standardmäßig zugewiesen Ausgabeverzeichnis der Sicherung, ist eine wohl bekannte, mit dem Browser zugängliche Adresse. Im Prinzip ist es so, wenn Ihre Domain www. beispiel .de lautet, ist das Standardausgabeverzeichnis der Sicherung unter
http://www. beispiel. de /administrator/components/com_joomlapack/backup zu erreichen. Das ist im Prinzip ein möglicher Angriffspunkt, wenn Sie nicht handeln.
Workaround - Lösungsvorschlag
Bitte berücksichtigen Sie, dass seit JoomlaPack 1.3 und höheren Versionen das von Joomla in der configuration.php angegebene temporäre Verzeichnis genutzt wird (Konfigurationseintrag temp_dir).
Die Sicherheitsvorkehrungen, die für ein benutzerdefiniertes Ausgabeverzeichnis der Sicherungen vorgeschlagen werden, gelten genau so auch für das temporäre Verzeichnis!
Als erste Verteidigungslinie, legt JoomlaPack eine leere index.htm-Datei im Standardausgabeverzeichnis ab. Das ist erstmal genug, um ScriptKiddies abzuhalten. Ein ernstzunehmender Hacker wird über diesen Versuch höchsten schmunzeln. Um leicht zu erratende Dateinamen für die Sicherungen zu vermeiden, vergibt JoomlaPack hash-Werte als namen für die temporären Dateien. Wie auch immer, die Namensgebung der Sicherung wird Ihnen überlassen und kann daher manchmal vorhergesagt bzw. erraten werden, besonders wenn sie die vorgegebene Namenskonvention nutzen.
Standardmäßig ist seit JoomlaPack 1.2.b3 und späteren Versionen eine .htaccess-Datei im Standardausgabeverzeichnis hinterlegt, welche Browsern den direkten Zugriff auf dieses Verzeichnis verweigert. Dennoch hat dieses Vorgehen einige Mängel, da nicht alle Webserver .htaccess-Dateien unterstützen (z.B. IIS). Manche Anbieter verbieten die Nutzung von .htaccess-Dateien in manchen oder gar allen Ordnern. In solchen Fällen, sind sie NICHT geschützt und Sie sollten sich mit Ihrem Anbieter in Verbindung setzen, um einen Schutz für dieses Verzeichnis einzurichten.
Alternativ können Sie auch ein Verzeichnis über Ihrem Wurzelverzeichnis Ihres Servers wählen, wo effektiv niemand mit einem Webbrowser zugriff haben kann. Leider unterliegen diese Verzeichnisse den strengen open_basedir Bestimmungen und / oder dem PHP Safe Mode, weshalb sie dann keine Sicherung durchführen können.
Wenn Sie gewungen sind, einen Odner zu wählen der unter Ihrem Wurzelverzeichnis liegt, sollten Sie den direkten Zugriff auf dieses Verzeichnis. Sollte Ihr Server .htaccess-Dateien unterstützen, erzeugen Sie einfach eine Datei mit folgendem Inhalt:
deny from all
Lesezeichen