armazenando em cache uma senha mestre em um servidor linux

7

Estou tentando usar chaveiro no último estábulo do debian com alguma dificuldade. Procurando online, não consegui encontrar uma solução, mas pensei que talvez uma abordagem diferente ou uma ferramenta diferente pudesse ser melhor neste caso.

Eu quero alcançar algo razoavelmente direto:

  • Ao efetuar login no servidor como root após a reinicialização, o usuário é solicitado a fornecer uma senha principal uma vez .
  • Essa frase secreta é carregada na memória e usada para desbloquear ambos o ssh private key (usado para extrair código de um repositório git remoto, autenticação remota etc) e um gpg private key (usado para descriptografar alguns parâmetros de configuração também provenientes do git).

Dessa forma, apenas ter acesso à conta root ou ser capaz de despejar memória permitiria extrair a frase secreta. Assim que o servidor for reinicializado, a senha será apagada. Eu não tenho orçamento / recursos para um HSM ou algo mais elaborado. Eu quero algo simples e barato e que funciona de forma confiável e segura o suficiente.

O Keychain parece ser um bom candidato, mas não consigo que ele funcione corretamente para atender a ambos os requisitos. Ou seja, ele pede duas vezes a pasphrase, e também quando tenta descriptografar algo com gpg ele pede uma terceira vez ... Existe uma maneira de conseguir isso de forma segura com keychain ou qualquer outra ferramenta ou shell script?

[p.s. não tenho certeza se isso pertence a ServerFault ou aqui]

    
por Yoav Aner 07.04.2012 / 16:09

1 resposta

2

Use um sistema de arquivos criptografado separado (que pode ser armazenado em um arquivo normal e montado por meio do dm). Em termos de segurança, as permissões de acesso ao sistema de arquivos farão o mesmo que mantê-lo na memória virtual de um processo em execução - ambos podem ser acessados pelo root (a menos que você tome algumas medidas extras para evitar isso). Na verdade, deve ser menos provável que a senha acabe em swap, do que no caso de armazená-la em cache em um agente auxiliar; mas você deve manter sua troca criptografada de qualquer maneira (ou desativada completamente), se a segurança é sua principal preocupação.

    
por 13.11.2012 / 17:14

Tags