Archivos .env expuestos: cómo los atacantes encuentran tus secretos
Un archivo .env guarda contraseñas de bases de datos, API keys y secretos de firma. Si es accesible desde la web — en /.env, /.env.production o un backup como /.env.backup — cualquiera puede descargarlo y tomar control de tus servicios.
Qué es
Los archivos de entorno deben quedarse en el servidor y nunca servirse a los clientes. Un handler estático mal configurado, una copia perdida en el web root o un framework que sirve dotfiles pueden exponerlos.
Los atacantes no adivinan: ejecutan escaneos automatizados que solicitan /.env y docenas de variantes contra millones de hosts continuamente. Un archivo accesible se encuentra en cuestión de horas.
Por qué importa
Estos archivos suelen contener URLs de bases de datos de producción, claves secretas de Stripe, secretos de firma JWT y credenciales de la nube. Una sola fuga puede significar robo total de datos, cargos fraudulentos y toma de cuentas.
Como los secretos siguen siendo válidos hasta que se rotan, el daño continúa mucho después de eliminar el archivo, salvo que rotes todo lo que contenía.
Cómo solucionarlo
Deniega el acceso a .env y otros dotfiles en la configuración de tu servidor web o proxy.
location ~ /\.(?!well-known).* {
deny all;
return 404;
}Guarda la configuración fuera de cualquier directorio que el servidor sirva estáticamente, y asegúrate de que tu build no copie archivos .env al resultado publicado.
Si un archivo llegó a ser accesible, trata cada secreto que contenía como comprometido y rota de inmediato las contraseñas de bases de datos, API keys y tokens.
Preguntas frecuentes
Eliminé el archivo, ¿ya estoy a salvo?
No hasta que rotes los secretos. Quien lo haya descargado sigue teniendo credenciales válidas hasta que las cambies.
¿Cómo sé si el mío está expuesto?
Solicita https://tudominio.com/.env en un navegador. Si ves líneas KEY=value en lugar de un 404, está expuesto. AppSafe lo verifica automáticamente.
¿Tu app está afectada?
AppSafe verifica este y docenas de problemas más en un solo escaneo gratis.
Escanear mi app gratisDel blog
Falsos crawlers de IA están buscando tus archivos .env. Así puedes revisar los tuyos
Escáneres de credenciales usan los nombres de crawlers de IA para colarse en las listas de permitidos, y piden un archivo en concreto: tu .env. Cómo comprobar si el tuyo es accesible y cómo protegerlo.
La brecha de Railway: cómo rotar los secretos de tu app sin caídas
Railway pidió a todos sus usuarios que rotaran sus variables de entorno después de que los atacantes fueran a por API keys de IA y de plataformas. Cómo revisar tu exposición, rotarlo todo sin tumbar tu app y hacer que la próxima brecha duela menos.
PHP2Shell está siendo explotado: cómo comprobar si tu app está expuesta
Dos bugs críticos en el propio PHP pasaron de "parche publicado" a "explotado activamente" en cuestión de días. Cómo saber si algo de lo que alojas usa una versión afectada y qué hacer hoy mismo.
¿Vas a lanzar una app creada con IA? Revisa estas 7 cosas antes
Las herramientas de IA optimizan para que "funcione", no para que "sea seguro lanzarlo". Estos son los siete problemas que revisamos primero en cualquier app recién lanzada, con la solución para cada uno.
Guías relacionadas
Directorio .git expuesto: la fuga de código fuente a la vista de todos
Un /.git accesible entrega todo tu código y el historial de commits.
Backups de base de datos expuestos: qué pasa cuando /backup.sql es accesible
Un volcado .sql accesible es la entrega completa de toda tu base de datos.
API keys expuestas en el JavaScript del cliente
Todo lo que va en tu bundle es público. Trátalo como tal.
Los source maps en producción filtran tu código fuente
Los .map publicados entregan tu código fuente original.