Veřejně dostupný soubor .DS_Store
Co to je
Na webu je veřejně dostupný soubor .DS_Store. Vytváří ho Finder v macOS a ukládá do něj seznam položek složky. Na server se dostane omylem, když se složka nahraje přes FTP, rsync nebo se zabalí do archivu. Kontrolujeme, že odpověď má strukturu opravdového .DS_Store, ne jen HTTP 200.
Proč je to problém
Samotný soubor nic neukradne. Prozradí ale názvy souborů a složek, které nejsou odkazované a nikdo je neměl vidět:
- zálohy, exporty a staré verze (
db-dump.sql,web-old), - interní složky a skripty,
- vodítka, co zkoušet dál. Útočník pak hledá právě tyhle názvy.
Je to nález s nízkou závažností. Ukazuje ale, že se na server nahrává i to, co tam nepatří.
Jak to opravit
Smažte soubory na serveru
find /var/www -name .DS_Store -deleteZabraňte tomu, aby se vrátily
Přidejte je do .gitignore a při nahrávání vylučte:
.DS_Storersync -av --exclude=.DS_Store ./ server:/var/www/site/Zablokujte soubory začínající tečkou
nginx (nechá projít jen .well-known):
location ~ /\.(?!well-known) {
deny all;
}Apache:
<FilesMatch "^\.DS_Store$">
Require all denied
</FilesMatch>Ověřte i to, co soubor vyjmenoval. Pokud je tam záloha nebo export, zkontrolujte, jestli také není veřejná.