Come funziona questo controllo
Scanaris richiede sette cartelle comuni del tuo dominio: /uploads/, /images/, /assets/, /files/, /backup/, /static/ e /media/. Se una di esse risponde con una pagina il cui titolo o intestazione è «Index of …», il formato che generano Apache, nginx e la maggior parte dei server quando elencano una directory, apre un rilievo di gravità media con il percorso. Un semplice 200 non viene segnalato: una single-page app che restituisce il suo HTML su tutte le rotte non corrisponde al pattern.
Perché è importante
Un elenco trasforma una cartella in un catalogo navigabile di tutto ciò che contiene, incluso ciò che non hai mai collegato da nessuna pagina: backup, esportazioni, documenti caricati dagli utenti, vecchie versioni di file, immagini di prodotti non ancora pubblicati. Non serve indovinare nomi; il server li consegna ordinati e con la data. Ed è il primo posto dove guarda uno scanner automatico, perché trovare un elenco aperto porta spesso a qualcosa di peggio nella stessa cartella.
Perché succede
Il server web, davanti a una richiesta verso una cartella senza index.html, ha due opzioni: rispondere 403 o generare una lista. Apache e alcuni pannelli di hosting condiviso arrivano con la lista attiva; nginx la tiene disattivata a meno che qualcuno non l'abbia accesa con autoindex on. Nelle app Express, un serve-index dimenticato o un express.static con opzioni di elenco fa la stessa cosa.
Come risolvere
- nginx: cerca
autoindex onnella configurazione e mettilo aoff(o rimuovilo; disattivato è il valore predefinito). - Apache: nel VirtualHost o in un
.htaccessnella radice,Options -Indexes. - Express: rimuovi qualsiasi uso di
serve-indexe verifica cheexpress.staticpunti solo alla cartella di build. - Hosting condiviso: il pannello di solito ha un'opzione «Index Manager» o «Directory browsing»; impostala su «No indexing» per il dominio.
- Vercel, Netlify e simili non generano elenchi; se vedi il rilievo lì, la cartella appartiene a un altro server che risponde sotto il tuo dominio.
Dopo, controlla cosa c'era nelle cartelle elencate: tutto ciò che conteneva era pubblico anche se ora la lista non è più visibile. Se c'erano backup o dati di utenti, consideralo scaricato e agisci di conseguenza. E sposta il privato fuori dalla directory servita dal server; i controlli file sensibili e backup esposti coprono i casi più gravi.
Verifica che sia risolto
for d in uploads images assets files backup static media; do
printf "%-10s " "$d"; curl -s "https://tuodominio.it/$d/" | grep -c "Index of"
done
Tutti devono restituire 0. Prova anche qualsiasi altra cartella che sai esistere sul tuo server, come /wp-content/uploads/ o /docs/.
Domande frequenti
La mia cartella di immagini è pubblica comunque. Che importa se viene elencata?
La differenza è tra qualcuno che può vedere un'immagine di cui conosce l'URL e qualcuno che può vederle tutte, incluse quelle caricate per una campagna non ancora lanciata o quelle di un cliente specifico. L'elenco rivela anche nomi di file che a volte contengono dati personali.
Perché testare solo sette cartelle?
Sono quelle che concentrano la maggior parte degli elenchi aperti sui siti reali. Se il tuo server ha l'elenco attivo, di solito lo è per tutte, quindi la correzione nella configurazione lo chiude ovunque.
Un elenco su una cartella vuota è un problema?
Minore, ma indica che l'elenco è attivo sul server. Disattivalo comunque: la cartella non resterà vuota per sempre.