Seguridad con el archivo .env de Laravel

Laravel se ha vuelto una herramienta de trabajo acogida por cada vez más programadores PHP para el desarrollo de proyectos, no sólo por su forma de aprontar el desarrollo de un proyecto, sino también por la amplia documentación no solo en su sitio oficial, sino también en varias webs ahora especializadas en este framework que facilita la vida de miles de programadores.

Con el exceso de documentación hace que exista también el exceso de “confianza” en creer que no hay que cumplir cierto tipo de seguridad en los proyectos, aunque sean “en desarrollo” y más cuando tu servidor de desarrollo es un hosting abierto a internet.  Lo digo porque hay temas que por más que los lees no se toma mucha importancia.

Los precedentes de seguridad en el archivo .env

En los archivos de Laravel hay un pequeño archivo con información muy sensible llamado “.env” que guarda las variables principales y personales del proyecto (como el archivo wp-config de WordPress) almacena la base de datos, usuarios y contraseña de la misma, accesos al servidor de correo entre otros dependiendo de los módulos que necesite tu proyecto.

El problema del archivo .env

El archivo en si no es peligroso si se sigue las pautas de alojamiento de tu proyecto laravel en un hosting. siempre se debe definir como aterrizaje de la web la carpeta public y no la raíz del proyecto, y, aunque parezca una obviedad os diré porqué muchos, no lo toman en cuenta.

Gracias a un artículo de laravel tips pude ver que muchos usuarios no toman esta medida muy en serio  o que el servidor donde se aloja el proyecto no es tan seguro como parece.

Solo ha sido necesario hacer una búsqueda en Google

es entrar a google y poner esto en el buscador

db_password filetype:env

al parecer el robot de google “sin querer” ha podido leer miles de archivos .env que están a la vista pública de los hosting y lo ha devuelto en forma de búsqueda. ¿Qué ha pasado aquí? pues muy simple. NO definieron la carpeta public como carpeta de acceso a la web

google y la seguridad con el archivo .env de Laravel

Una solución muy sencilla a esto además de colocar la carpeta public es dar permisos de solo lectura (400) al archivo .env

Te recomiendo que revises esto con tu web… sólo por si acaso.

Otros problemas con el archivo ENV

De acuerdo. No has caído en este típico error, pero puede que en este si, y es que también muchos programadores en el archivo ENV cuando el proyecto esta desplegado a internet se olvidan cambiar la configuración APP_DEBUG a false, Así que cada vez que se genere un error en el proyecto se podrá ver el error y las variables del archivo .env en esa visualización

Seguridad con el archivo .env de Laravel con el debug

Para evitar este error sólo deber poner APP_DEBUG true en tu archivo .env o en config/app.php agregar las variables que no se vean en array “debug_blacklist”

Con estos consejos tu proyecto laravel (y sobre todo tus datos sensibles) estarán mas seguros.

Sin duda hay que agradecer a laraveltips y a Juan Cuartas por mostrar este problema a la luz

Fuente:

www.laraveltip.com/cuidado-con-tu-avides-hacer-esto
https://laravel.com/docs/5.7/configuration#hiding-environment-variables-from-debug
Si te ha gustado ¡compártelo!
Entrada anterior
5 modelos de Negocios rentables por Internet
Entrada siguiente
¿Por qué necesito SEO en mi web?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Necesita estar de acuerdo con los términos para continuar

Menú