Academia  /  RioGuard82  /  Aprende por qué
🛡 Exposición de datos

El .env que se ve desde internet

El fallo más tonto y más común: un fichero con contraseñas o claves accesible desde la web. No hace falta “hackear” nada: se abre con el navegador. Aprende a detectarlo y taparlo.

🎯Qué es y por qué es tan grave

Ficheros con secretos que acaban dentro de la carpeta pública del servidor web y se sirven tal cual. Quien conozca la ruta se lleva credenciales de base de datos, claves de API, tokens... sin explotar nada.

Es el equivalente a dejar las llaves puestas en la puerta: no hay cerradura que forzar.

📄Los clásicos que se cuelan

.envVariables con contraseñas de BD, claves de API, secretos de la app.
.git/Todo el código fuente y su historial (y a menudo credenciales en commits viejos).
backup.sql / dump.sqlLa base de datos entera descargable.
config.php.bak / .swpCopias de seguridad o temporales con la config real.

🔎Cómo se comprueba (sin volcar el secreto)

Se verifica la exposición, no el contenido: una petición al propio servicio y mirar el código de respuesta.

1
curl -s -o /dev/null -w '%{http_code}' https://tusitio/.env
200 = accesible (malo). 403/404 = bien.
2
¿200? -> es exposición real
Hay que taparlo YA y rotar lo que hubiera dentro.

RioGuard82 confirma la fuga (HTTP 200 + detecta que el cuerpo tiene forma de secretos) pero nunca muestra el valor: te dice que está expuesto y cuántas líneas sensibles hay, redactadas. Verifica. No supone.

🛡️Cómo taparlo

1
Saca el fichero del webroot
Los secretos NO deben vivir en la carpeta pública del servidor.
2
Bloquéalo en el servidor web
nginx: 'location ~ /\.(env|git) { deny all; }'. Apache: regla equivalente.
3
ROTA lo que se haya filtrado
Si estuvo expuesto, da por comprometidas esas claves: cámbialas todas.
4
Quita el .git de producción
El código y su historial no pintan nada en el servidor público.

⚠️Errores típicos

Borrar el .env pero dejar el .env.bak o el .git
Repasa TODAS las variantes: copias, temporales (.swp), y el repositorio.
Taparlo y no rotar las claves
Si estuvo accesible, asume que alguien lo tiene. Cambiar las credenciales es obligatorio.
Pensar “nadie conoce la ruta”
Los bots prueban /.env, /.git/config, /backup.sql automáticamente. La oscuridad no protege.