Wenn das Directory Listing im Apache Webserver aktiviert ist, stellt das ein hohes Sicherheitsrisiko dar und sollte deswegen deaktiviert werden.
Directory Listing ist eine Webserver Funktion, um im Browser bequem den Inhalt eines Ordners auflisten zu lassen ohne dafür ein entsprechendes Skript zu verwenden. Bei lokal installierten Webservern mag diese Funktion ganz praktisch erscheinen. (siehe Screenshot).
Aber man sollte sich doch Gedanken über die Verwendung der Funktion im Live Betrieb machen. Potentiellen Angreifern wird durch die Auflistung und Ausgabe der Dateien ihre Arbeit erleichtert. In der Standard Apache Konfiguration ist die Verzeichnisauflistung aktiviert und kann folgendermaßen deaktiviert werden:
Apache directory Listing in der VirtualHost Konfiguration deaktivieren:
Unter Debian und Ubuntu sieht die Directory Direktive der VirtualHost Konfiguration, nach der Apache Installation folgendermaßen aus:
[bash]<Directory /var/www/>Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>[/bash]
Der Options Parameter „Indexes“ ist hierfür für das Directory Listing verantwortlich. Wenn vor Indexes ein Minus gesetzt wird, ist die Verzeichnisauflistung deaktiviert.
[bash]<Directory /var/www/>Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>[/bash]
Apache Verzeichnisauflistung in der apache2.conf global deaktivieren
Am Ende der /etc/apache2/apache2.conf folgenden Teil einfügen:
[bash]Options -Indexes[/bash]Hierbei sollte aber beachtet werden dass in der VirtualHost Konfiguration der Wert Indexes komplett entfernt wird, da er ansonsten wieder überschrieben wird. Wenn das Listing für bestimmte Webseiten verwendet werden soll, kann es so einfach über die vHosts aktiviert werden.
[sam id=“2″ codes=“true“]Apache Directory Listing für bestimmte Ordner deaktivieren oder aktivieren
Wenn die Verzeichnisauflistung nur für bestimmte Ordner deaktiviert oder aktiviert werden soll, kann einfach eine .htaccess Datei im jeweiligen Webserver Verzeichnis erstellt werden, die folgende Zeile beinhaltet:
[bash]Options -Indexes[/bash]Damit die .htaccess Datei aber auch erkannt wird muss die „AllowOverride All“ in der vHost Konfiguration aktiviert sein.
Oh ja und es gibt eine Menge Server wo das so ist. Einmal hab ich ne ältere Domain aufgerufen und das war das Directory Listing auch an. Drauf zu sehen waren eine Menge private dokus. Da hat dann einer seine privaten Dateien auf dem Webspace geparkt… Sehr fahrlässig…
„Damit die .htaccess Datei aber auch erkannt wird muss die “AllowOverride All” in der vHost Konfiguration aktiviert sein.“
Das ist falsch. Ein “AllowOverride All” sollte man tunlichst vermeiden und nur die Optionen erlauben die man braucht.
AllowOverride Indexes sollte ausreichend sein.
Hey Kero,
kommt auf die Konfiguration an. Wenn man Kunden am Server hat sollte man sich überlegen welche Optionen man „overriden“ lässt. Aber an und für sich lässt sich so alles in der .htaccess konfigurieren. Ich wollte es nur als Zusatz erwähnen 😉
Gruß
Patrick
Also bei mir hat die Anleitung gerade wunderbar funktioniert und die Verzeichnis Auflistung wurde deaktiviert! Danke
@Ulmer
Ja das sieht man oft. Da braucht man sich dann nicht wundern, wenn der Server gekapert wird und privates in der gegen umhergeistert…
Vielen Dank für die kurze & auf den Punkt gebrachte Erklärung.