El articulo de hoy, solo es un pequeño recuerda acerca de como evitar la fuga de contraseñas y datos cuando estas programando una aplicación Spring.
Leer más: Mejorando la seguridad en SpringEn la mayoría de aplicaciones de Spring, tenemos que indicar los datos de conexión en el fichero application.properties
, y, esa información sube a Github, Gitlab o a cualquier otro entorno semipúblico.
Quizás no veáis el tema demasiado grave, porque muchas veces son datos de desarrollo sin ningún valor (o eso pensáis) para un posible atacante, pero pienso, que estáis en un error.
Por una parte, aunque normalmente sean de desarrollo, si estamos trabajando dejando la información allí, también puede pasar que distraídamente podemos dejar los de produccion; además, aunque sean datos de desarrollo, el dar pistas acerca de donde están los servidores, o vuestra mecánica
para crear usuarios y contraseñas, son temas que mejor no se hacen publico.
Por ultimo, aunque sea por comodidad a la hora de desplegar y, sobre todo a la hora de mantener, si tuviéramos nuestros datos de desarrollo montados de tal manera que en nuestra maquina se aplicaran automáticamente, también nos ahorraría algo de trabajo, entonces….¿Porqué no hacerlo?
La propuesta
En el application.properties
, podemos hacer referencia a otro fichero, bien, hagámoslo, dejamos en ese fichero toda la información y hacemos que git no lo suba….y resuelto.
Primero:
Creamos un fichero, yo lo he llamado «secret.properties
» y lo llamamos al inicio de nuestro application.properties
Mi secret.properties
es así:
Ahora, en el application.properties
puedo escribir:
En spring.config.import
puedo indicar
classpath:secret.properties
osecret.properties
si el fichero lo he creado al lado mismo deapplication.properties
file:secret.properties
si el fichero lo he dejado en la raíz del proyecto
Solo me queda añadir a .gitignore una referencia a secret.properties
para que no lo envíe con la versión.
Mis compañeros de desarrollo y produccion, cada uno tendrá su propio fichero secret.properties
, y la seguridad no se ve comprometida en ningun momento
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.