Tutte le guide
Gravità CriticoConfigurazioni errate

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

Blocca i dotfile sul server

Nega l'accesso a .env e agli altri dotfile nella configurazione del tuo web server o proxy.

location ~ /\.(?!well-known).* {
  deny all;
  return 404;
}
Tieni i file env fuori dalla web root

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.

Ruota tutto ciò che è stato esposto

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 gratis