Offenes Directory-Listing

Worum es geht

Ein Verzeichnis ohne index.html oder index.php zeigt Ihnen die Website statt eines 404 oder einer Weiterleitung eine Dateiliste — die klassische „Index of /uploads“-Auflistung. Das ist das Standardverhalten von Apache (Modul autoindex), wenn Sie es nicht explizit ausschalten.

Warum das ein Problem ist

Angreifer suchen zu Beginn der Erkundung genau danach. Was sie finden können:

Selbst wenn im Verzeichnis „nichts Sensibles“ liegt, geben Sie dem Angreifer eine Karte Ihrer Anwendung, die er sonst nicht hat. Jede interne Namenskonvention (old_v2/, customer_export/) ist ein Hinweis.

Wie Sie es beheben

Apache

In der Hauptkonfiguration oder in .htaccess:

# autoindex global ausschalten
Options -Indexes

Wenn Sie einen eigenen VirtualHost haben:

<Directory /var/www/example.cz>
    Options -Indexes +FollowSymLinks
</Directory>

nginx

Bei nginx ist autoindex standardmäßig ausgeschaltet — das Problem entsteht, wenn es jemand explizit aktiviert hat. Suchen Sie in der Konfiguration:

# diese Zeilen entfernen:
autoindex on;

Shared Hosting

Legen Sie im Verzeichnis eine leere index.html an:

echo "" > /var/www/example.cz/uploads/index.html

Das ist ein Quick Fix — besser ist es, autoindex global auszuschalten.

Überprüfung

Probieren Sie mehrere Verzeichnisse aus: curl -s https://example.cz/uploads/ | head -30. In der Antwort darf kein HTML mit Links zu Dateien stehen.

Bonus: Backups aufräumen

Wenn Sie schon dabei sind — gehen Sie alle Verzeichnisse durch und löschen Sie alte Backups und .bak-Dateien. Auch bei ausgeschaltetem autoindex ist db.sql.bak erreichbar, wenn ein Angreifer den Namen errät.

Referenzen