File .env esposti: come i malintenzionati trovano i tuoi secret
Un file .env contiene password di database, API key e secret di firma. Se è raggiungibile dal web — su /.env, /.env.production o un backup come /.env.backup — chiunque può scaricarlo e impossessarsi dei tuoi servizi.
Che cos'è
I file di ambiente dovrebbero restare sul server e non essere mai serviti ai client. Un gestore di file statici mal configurato, una copia dimenticata nella web root o un framework che serve i dotfile possono esporli.
I malintenzionati non tirano a indovinare: eseguono in continuazione scansioni automatiche che richiedono /.env e decine di varianti su milioni di host. Un file raggiungibile viene trovato nel giro di ore.
Perché è importante
Questi file contengono abitualmente URL di database di produzione, chiavi segrete Stripe, secret di firma JWT e credenziali cloud. Una sola fuga può significare furto completo dei dati, addebiti fraudolenti e presa di controllo degli account.
Poiché i secret restano validi finché non vengono ruotati, il danno continua a lungo dopo la rimozione del file, a meno che tu non ruoti tutto ciò che conteneva.
Come risolverlo
Nega l'accesso a .env e agli altri dotfile nella configurazione del tuo web server o proxy.
location ~ /\.(?!well-known).* {
deny all;
return 404;
}Conserva la configurazione fuori da qualsiasi directory che il server serve staticamente e assicurati che la tua build non copi i file .env nell'output pubblicato.
Se un file è mai stato raggiungibile, considera compromesso ogni secret al suo interno e ruota immediatamente password di database, API key e token.
FAQ
Ho rimosso il file, sono al sicuro?
Non finché non ruoti i secret. Chiunque l'abbia scaricato possiede ancora credenziali valide finché non le cambi.
Come faccio a sapere se il mio è esposto?
Richiedi https://yourdomain.com/.env in un browser. Se vedi righe CHIAVE=valore invece di un 404, è esposto. AppSafe lo controlla automaticamente.
La tua app è interessata?
AppSafe controlla questo e decine di altri problemi in un'unica scansione gratuita.
Scansiona la mia app gratisDal blog
Finti crawler AI stanno dando la caccia ai tuoi file .env. Ecco come controllare i tuoi
Gli scanner di credenziali prendono in prestito i nomi dei crawler AI per aggirare le allowlist, e cercano un file in particolare: il tuo .env. Come verificare se il tuo è raggiungibile e come metterlo al sicuro.
La violazione di Railway: come ruotare i segreti della tua app senza downtime
Railway ha chiesto a tutti gli utenti di rigenerare le variabili d'ambiente dopo che gli attaccanti hanno preso di mira le API key dei provider AI e delle piattaforme. Come verificare la tua esposizione, ruotare tutto senza mandare giù l'app e far sì che la prossima violazione faccia meno male.
PHP2Shell è sotto attacco: come verificare se la tua app è esposta
Due bug critici in PHP stesso sono passati da "patch rilasciata" a "sfruttati in the wild" in pochi giorni. Come capire se qualcosa che ospiti usa una versione vulnerabile, e cosa fare oggi.
Stai per lanciare un'app creata con l'AI? Controlla queste 7 cose prima
Gli strumenti di AI coding ottimizzano per "funziona", non per "è sicuro da lanciare". Questi sono i sette problemi che controlliamo per primi su qualsiasi app appena lanciata, con la soluzione per ciascuno.
Guide correlate
Directory .git esposta: la fuga di codice sorgente nascosta in bella vista
Una /.git raggiungibile consegna l'intero codebase e la cronologia dei commit.
Backup del database esposti: cosa succede quando /backup.sql è raggiungibile
Un dump .sql raggiungibile equivale a consegnare l'intero database.
API key esposte nel JavaScript lato client
Tutto ciò che è nel tuo bundle è pubblico. Trattalo come tale.
Le source map in produzione fanno trapelare il tuo codice sorgente
I file .map distribuiti consegnano il tuo codice sorgente originale.