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 gratisGuide correlate
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.
Configurazione CORS errata: le trappole del wildcard e della riflessione
Consenti ogni origine e qualsiasi sito potrà leggere la tua API.