Protección de secretos de aplicaciones web luego de la ejecución del código

1

Me gustaría aclarar las prácticas de protección para el manejo de los secretos de la base de datos con la aplicación web conectada a la base de datos, utilizando contenedores Docker. El objetivo es determinar cómo proteger los secretos, incluso si un atacante logra un shell en el contexto de la aplicación.

Mis suposiciones son:

  • el servidor de aplicaciones web se ejecuta en el contexto de un usuario de webapp , tener el menor nivel de privilegio requerido para servir contenido.
  • el usuario webapp necesita acceso a los secretos de la base de datos para autenticarse y establecer una conexión con la base de datos. Estos podrían estar contenidos dentro de variables de entorno o montados en el sistema de archivos contenedor.
  • si la aplicación web está comprometida (p. ej., error de ejecución remota de código que resulta en un shell), los secretos de la base de datos son accesibles en el contexto del usuario de webapp .

Como algunos usuarios tienen que poder leer el secreto, ¿hay un patrón en el que el usuario de webapp puede publicar páginas pero no tiene acceso a los secretos de la aplicación web? Por ejemplo, un usuario separado de webapp_secrets con acceso de lectura a los secretos, responsable solo de las solicitudes que requieren conexión / consulta con la base de datos.

¿Qué es un paradigma seguro para evitar la divulgación de secretos de bases de datos si la aplicación web está comprometida?

    
pregunta user1330734 29.10.2018 - 00:28
fuente

0 respuestas

Lea otras preguntas en las etiquetas