Otvorený directory listing
Čo to je
Adresár bez index.html alebo index.php vám web namiesto 404 alebo presmerovania zobrazí zoznam súborov — klasický „Index of /uploads“ výpis. Toto je predvolené správanie Apache (modul autoindex), pokiaľ ho explicitne nevypnete.
Prečo je to problém
Útočníci na začiatku prieskumu hľadajú práve toto. Čo môžu nájsť:
- Zálohy —
db_backup.sql,site.tar.gz,old.zip. - Predchádzajúce verzie súborov —
config.php.bak,wp-config.old. - Súkromné dokumenty — zmluvy, faktúry, prepravné štítky, screenshot z testovacieho prostredia.
- Interné skripty — debug, deploy, migration, ktoré mali zostať skryté.
Aj keď v adresári „nič citlivé nie je“, dávate útočníkovi mapu vašej aplikácie, ktorú inak nemá. Každá interná pomenovacia konvencia (old_v2/, customer_export/) je nápoveda.
Ako to opraviť
Apache
V hlavnej konfigurácii alebo .htaccess:
# vypnúť autoindex globálne
Options -IndexesPokiaľ máte vlastný VirtualHost:
<Directory /var/www/example.cz>
Options -Indexes +FollowSymLinks
</Directory>nginx
nginx má autoindex predvolene vypnutý — problém vzniká, keď ho niekto explicitne zapol. Hľadajte v configu:
# odstráňte tieto riadky:
autoindex on;Zdieľaný hosting
Vytvorte v adresári prázdny index.html:
echo "" > /var/www/example.cz/uploads/index.htmlToto je quick fix — lepšie je vypnúť autoindex globálne.
Overenie
Vyskúšajte niekoľko adresárov: curl -s https://example.cz/uploads/ | head -30. V odpovedi nesmie byť HTML s odkazmi na súbory.
Bonus: vyčistiť zálohy
Keď už tam ste — prejdite si všetky adresáre a zmažte staré zálohy a .bak súbory. Aj s vypnutým autoindexom je db.sql.bak dostupný, ak útočník uhádne názov.