Verejne dostupný súbor .DS_Store
Čo to je
Na webe je verejne dostupný súbor .DS_Store. Vytvára ho Finder v macOS a ukladá do neho zoznam položiek priečinka. Na server sa dostane omylom, keď sa priečinok nahrá cez FTP, rsync alebo sa zabalí do archívu. Kontrolujeme, že odpoveď má štruktúru skutočného .DS_Store, nielen HTTP 200.
Prečo je to problém
Samotný súbor nič neukradne. Prezradí však názvy súborov a priečinkov, ktoré nie sú nikde odkazované a nikto ich nemal vidieť:
- zálohy, exporty a staré verzie (
db-dump.sql,web-old), - interné priečinky a skripty,
- vodítka, čo skúšať ďalej. Útočník potom hľadá práve tieto názvy.
Je to nález s nízkou závažnosťou. Ukazuje však, že sa na server nahráva aj to, čo tam nepatrí.
Ako to opraviť
Zmažte súbory na serveri
find /var/www -name .DS_Store -deleteZabráňte tomu, aby sa vrátili
Pridajte ich do .gitignore a pri nahrávaní vylúčte:
.DS_Storersync -av --exclude=.DS_Store ./ server:/var/www/site/Zablokujte súbory s bodkou na začiatku
nginx (prepustí len .well-known):
location ~ /\.(?!well-known) {
deny all;
}Apache:
<FilesMatch "^\.DS_Store$">
Require all denied
</FilesMatch>Overte aj to, čo súbor vymenoval. Ak je tam záloha alebo export, skontrolujte, či nie je tiež verejná.