Repaso
English
SeguridadAvanzadoSEC-40

¿Qué práctica evita mejor que se filtren secretos en el código fuente de un proyecto Java/Spring?

Opciones

  1. Usar un gestor de secretos, escanear commits y rotar lo filtrado (Opción correcta)
  2. Subirlos a application.properties en un repo privado
  3. Codificarlos en base64 y dejarlos en el código
  4. Ponerlos en comentarios junto al código que desbloquean

Respuesta

Cargarlos desde un gestor de secretos (Vault, AWS Secrets Manager, Azure Key Vault) o variables de entorno, escanear los commits en busca de secretos y rotar cualquier secreto filtrado

Por qué

Los repositorios privados también filtran: exempleados, forks, logs de build, cuentas comprometidas.

Buena práctica: los secretos viven fuera del código (Vault, Key Vault, Secrets Manager, Kubernetes Secrets con cifrado) y se cargan en ejecución. Usa secret scanning en pre-commit y CI (gitleaks, GitHub secret scanning). Usa identidades de workload cuando sea posible, para que no exista ningún secreto.

Si se filtra uno: revoca y rota de inmediato; eliminar el commit no elimina las copias del historial.

Recuerda

Secretos fuera del código, escaneados, rotados, o reemplazados por identidad de workload.

Términos clave

Practica esta pregunta en Repaso