Estoy en proceso de crear una pequeña plataforma de blogs y he encontrado un tema bastante controvertido sobre el almacenamiento seguro de una cadena de conexión en una base de datos en un host. Aquí hay una pregunta de referencia: Cómo cifrar la base de datos ¿Credenciales de conexión en un servidor web? .
A partir de mi pregunta: pensé en almacenar las credenciales en un archivo cifrado en gpg en algún lugar de la carpeta /etc
del host Ubuntu 14.04. Cada vez que el servidor se inicia, le pedirá a un administrador del sistema (yo) que descifre un archivo y luego se necesita un servicio que se ejecute en segundo plano a la espera de que un back-end del sitio le solicite una cadena de conexión. Luego devolvería todo lo necesario para la información de conexión de la base de datos y el back-end procederá a consultar la base de datos en sí.
Con este enfoque, el único lugar donde se almacena una contraseña en el servidor en funcionamiento es la RAM. Cada vez que el servidor se bloquea debido a un ataque malicioso o los atacantes logran volcar la raíz web, aún no pueden obtener la contraseña, ya que el servicio de concesión de contraseña funciona a nivel del sistema.
¿Es un buen esquema de seguridad? ¿Qué alternativas propondría (Python Flask, MySQL y peewee)? Además, si mi idea no es tan mala, ¿cómo puedo implementar ese "servicio" para ejecutarlo en segundo plano y esperar una consulta de credenciales (preferiblemente algún tipo de script de bash)?
Gracias de antemano!