almacenar en caché una frase de contraseña maestra en un servidor Linux

almacenar en caché una frase de contraseña maestra en un servidor Linux

estoy tratando de usarllaveroen la última versión estable de Debian con cierta dificultad. Buscando en línea no pude encontrar una solución, pero pensé que tal vez un enfoque diferente o una herramienta diferente podrían ser mejores en este caso.

Quiero lograr algo razonablemente sencillo:

  • Al iniciar sesión en el servidor como root después de reiniciar, se solicita al usuario unafrase de contraseña maestra una vez.
  • Esta frase de contraseña se carga en la memoria y se usa para desbloquearambosthe ssh private key(usado para extraer código de un repositorio git remoto, autenticación remota, etc.) y a gpg private key(usado para descifrar algunos parámetros de configuración que también provienen de git).

De esta manera, solo tener acceso a la cuenta raíz o poder volcar la memoria permitiría extraer la frase de contraseña. Tan pronto como se reinicia el servidor, la frase de contraseña se borra. No tengo presupuesto/recursos para un HSM ni nada más elaborado. Quiero algo simple y barato que funcione de manera confiable y segura.

Keychain parece un buen candidato, pero no consigo que funcione correctamente para cumplir ambos requisitos. Es decir, solicita la frase de contraseña dos veces, y también cuando intenta descifrar algo con gpg, la solicita por tercera vez... ¿Hay alguna manera de lograr esto de forma segura con un llavero o cualquier otra herramienta o script de shell?

[PD: no estoy seguro si esto pertenece a ServerFault o aquí]

Respuesta1

Utilice un sistema de archivos cifrado separado (que en realidad puede almacenarse en un archivo normal y montarse a través de dm). En cuanto a la seguridad, los permisos de acceso al sistema de archivos harán el mismo truco que mantenerlos en la memoria virtual de un proceso en ejecución; el root puede acceder a ambos (a menos que tome algunas medidas adicionales para evitarlo). En realidad, debería ser menos probable que la contraseña termine en el intercambio que en el caso de almacenarla en caché en un agente auxiliar; pero deberías mantener tu swap cifrado de todos modos (o deshabilitado por completo), si la seguridad es tu principal preocupación.

información relacionada