Mintalah sebuah direktori yang tak punya berkas indeks, dan banyak server justru menampilkan daftar berkasnya. Cadangan, hasil ekspor, salinan lama sebuah berkas pengaturan — apa pun yang tergeletak di sana kini terbuka untuk umum, dan pemindai otomatis mencari persis hal itu.
Nginx
autoindex off; # the default, so check nobody turned it on
grep -rn autoindex /etc/nginx/
Apache dan LiteSpeed
Options -Indexes
# or per directory, in .htaccess
Options -Indexes
Periksa setiap direktori, bukan hanya akarnya
for d in uploads backup files export logs tmp; do
printf '%-10s ' "$d"
curl -sS -o /dev/null -w '%{http_code}\
' "https://yourdomain.com/$d/"
done
Angka 200 pada salah satunya layak Anda buka di peramban sekarang juga. Yang Anda inginkan adalah 403 atau 404.
Berkas indeks kosong adalah perbaikan yang lemah
Menaruh index.html di tiap folder menyembunyikan daftarnya, dan berkasnya tetap bisa dicapai lewat nama. Itu hanya menahan pandangan sekilas, tidak lebih — matikanlah pilihan itu di servernya.
Jawaban sebenarnya untuk berkas pribadi
Apa pun yang tidak seharusnya terbuka untuk umum tidak boleh berada di bawah akar dokumen sama sekali. Simpan di luar dan sajikan lewat skrip yang memeriksa siapa yang meminta.
/var/www/site/
public/ <- the document root
storage/ <- backups, exports, logs: no URL can reach these
Selagi Anda memeriksa, carilah berkas yang biasa ditinggalkan orang: .env, .git, config.php.bak, database.sql. Cadangan kode yang tertinggal di akar web pernah membocorkan aplikasi utuh — mintalah satu per satu dan pastikan tidak ada di sana.