Criptografia completa de disco com autenticação sem senha no Linux

16

Eu tenho uma configuração de criptografia de disco bastante padrão no Debian 5.0.5: /bootpartição não criptografada e criptografada sdaX_cryptque contém todas as outras partições.

Agora, esta é uma instalação sem servidor e eu quero poder inicializá-lo sem um teclado (agora só posso inicializá-lo com um teclado e um monitor conectados).

Até agora, tenho uma idéia de mover a /bootpartição para uma unidade USB e fazer pequenas modificações para inserir automaticamente a chave (acho que há apenas uma chamada askpassno script de inicialização em algum lugar). Dessa forma, eu posso inicializar sem cabeça, só preciso ter uma unidade flash no momento da inicialização.

A meu ver, o problema é que

  1. Preciso investir tempo para descobrir todos os detalhes para fazê-lo funcionar,
  2. Se houver uma atualização, que regenera initrd, eu preciso regenerar a partição de boot na USB, o que parece tedioso.

A pergunta: existe uma solução padrão de baixa manutenção disponível para o que eu quero fazer? Ou devo procurar em outro lugar?

Alex B
fonte

Respostas:

7

Você pode configurar o sistema para exigir uma chave em vez de uma senha e alterar alguns scripts para procurar essa chave em um pendrive. Eu encontrei uma explicação detalhada para este processo no Debian Lenny. Existem algumas notas no final que descrevem as mudanças necessárias para versões mais recentes do Debian.

Marcel Stimberg
fonte
Parece o que eu preciso. Primeiro, preciso ver quanto esforço é necessário para manter as coisas funcionando entre as atualizações antes de aceitar a resposta.
Alex B
OK, embora não exista uma solução "padrão", isso parece ter funcionado.
Alex B
5

Mas então, qual é o sentido de ter criptografia de disco completa, se você estiver apenas deixando as chaves em texto sem formatação?

Para que isso funcione, você precisaria de algo como o que a Trusted Computing Platform deveria ser antes que a Microsoft e a Big Media a sequestrassem para seus próprios propósitos de subjugar usuários.

A idéia é ter um chip segurando as chaves na placa-mãe e solicitando as chaves somente quando for verificado que o software em execução foi devidamente assinado por uma autoridade confiável (você). Dessa forma, você não deixa as chaves à vista e não precisa inicializar o servidor interativamente.

É uma pena que eu nunca vi Trusted Computing colocar a qualquer bom uso , o que poderia realmente ser útil para o usuário final .


fonte
A chave não está mais em texto simples do que a chave SSH em texto simples em ~/.ssh. Eu só quero poder inicializar um servidor sem cabeça com criptografia de disco completo e retirar a chave. Sei que o invasor pode modificar a partição de inicialização não criptografada e roubar a chave (como na versão de senha normal baseada em software), mas estou apenas protegendo contra roubo casual.
Alex B
Na verdade, o TPM voltou para o DRM e para o governo e empresas, ultimamente. Existem muitos sistemas operacionais que podem usá-lo para armazenar chaves secretas. Não conheço nenhum que ofereça proteção de integridade (ou seja, não permitindo que um invasor insira um keylogger /boot).
Gilles 'SO- stop be evil'
@AlexB: Seu servidor possui um TPM? Nesse caso, você provavelmente pode fazer o que quiser com o Trusted Grub .
Gilles 'SO- stop be evil'
Observe que há um benefício em deixar as chaves em texto sem formatação, o que significa que você pode limpar completamente os dados confidenciais em um disco sem zerar o disco inteiro. Sim, você pode zerar o superbloco ou a tabela de partição, mas como todos sabemos, os dados ainda são recuperáveis ​​dessas operações.
strugee
@ strugee: se você estiver usando LUKS, zerar o cabeçalho LUKS torna todo o volume irrecuperável. Se você estiver usando o dm-crypt simples sem cabeçalho, sim, ele ainda poderá ser recuperado posteriormente com uma senha.
Jay Sullivan
5

Mandos (que eu e outros escrevemos) resolve esse mesmo problema:

Mandos é um sistema para permitir que servidores com sistemas de arquivos raiz criptografados sejam reinicializados sem supervisão e / ou remotamente. Consulte a página do manual de introdução para obter mais informações, incluindo uma lista de perguntas frequentes.

Em resumo, o servidor de inicialização obtém a senha pela rede, de forma segura. Consulte o README para obter detalhes.

Urso de pelúcia
fonte
11
Mesmo se este software livre, declarar que este é o seu produto, seria apreciado se não fosse realmente necessário . Um link README / FAQ mais legível e uma breve explicação de como o Mandos funciona também serão apreciados.
Gilles 'SO- stop be evil'
11
@ Gilles: Feito agora.
Teddy