Otevřený directory listing

Co to je

Adresář bez index.html nebo index.php vám web místo 404 nebo přesměrování ukáže seznam souborů — klasický „Index of /uploads“ výpis. Toto je defaultní chování Apache (modul autoindex), pokud ho explicitně nevypnete.

Proč je to problém

Útočníci na začátku průzkumu hledají právě tohle. Co můžou najít:

I když v adresáři „nic citlivého není“, dáváte útočníkovi mapu vaší aplikace, kterou jinak nemá. Každá interní pojmenovací konvence (old_v2/, customer_export/) je nápověda.

Jak to opravit

Apache

V hlavní konfiguraci nebo .htaccess:

# vypnout autoindex globálně
Options -Indexes

Pokud máte vlastní VirtualHost:

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

nginx

nginx má autoindex defaultně vypnutý — problém vzniká, když ho někdo explicitně zapnul. Hledejte v configu:

# odstraňte tyto řádky:
autoindex on;

Sdílený hosting

Vytvořte v adresáři prázdný index.html:

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

Toto je quick fix — lepší je vypnout autoindex globálně.

Ověření

Vyzkoušejte několik adresářů: curl -s https://example.cz/uploads/ | head -30. V odpovědi nesmí být HTML s odkazy na soubory.

Bonus: vyklidit zálohy

Když už tam jste — projděte si všechny adresáře a smažte staré zálohy a .bak soubory. I s vypnutým autoindexem je db.sql.bak dostupný, pokud útočník uhádne název.

Reference