Eu tenho um sistema Debian Linux (amd64) instalado em um dispositivo criptografado do sistema RAID-1 (LVM on LUKS) e terei um RAID-6 de> = 4 discos onde colocarei meus dados (LUKS e talvez LVM).
Eu acho que a idéia básica é desbloquear a partição criptografada do sistema (na inicialização no local ou via ssh) e armazenar um arquivo de chave em / etc / crypttab para a partição criptografada RAID-6. Isso representa um risco à segurança? Quero dizer ... é muito inútil se alguém puder entrar no meu sistema local / remotamente e acho que existem muitos serviços em execução em servidores vulneráveis ao "enraizamento" (por exemplo, SSH). Existe uma alternativa (além de desbloquear a partição via SSH, o que pode ser um problema, porque, por exemplo, as operações de backup são iniciadas antes mesmo da montagem da partição de dados).
Em outra máquina, usarei vários discos com LUKS + greyhole (sem RAID-6) para backups e será muito difícil desbloquear 10 discos inserindo 10 vezes a mesma senha ...
Respostas:
Você pode usar
/lib/cryptsetup/scripts/decrypt_derived
no seucrypttab
para usar automaticamente a chave de um disco para outro.O
decrypt_derived
script faz parte do pacote cryptsetup do Debian.Pequeno exemplo para adicionar a chave de sda6crypt para sda5:
Como hoje em dia é muito difícil excluir um arquivo, verifique se / path / to / mykeyfile está em uma unidade criptografada (
sda6crypt
seria no meu exemplo uma boa solução).Em geral, você pode adicionar uma camada de segurança adicional usando a criptografia do sistema de arquivos do espaço do usuário, por exemplo, via
encfs
.fonte
decrypt_derived
tem a única vantagem, que não há arquivo de chave. Se alguém puder obter acesso root, você normalmente estará perdido de qualquer maneira. Ler um arquivo-chave pode ser um pouco mais fácil para um invasor do que executar um script. Para obter mais segurança, você pode fortalecer seu sistema usando, por exemplo, TOMOYO Linux, AppAmor, SMACK, SELinux, grsecurity, ... mas isso requer esforços adicionais. E a questão de se vale a pena é mais importante. Não se esqueça de ter um backup da chave ou de uma chave separada para o caso em que a unidade falha onde a chave é derivada / armazenada.Com base na resposta jofels, aqui está o mesmo exemplo, mas sem ter que armazenar a chave em um arquivo. A chave é passada em um pipe nomeado, que não armazena nada no disco.
Você pode usar
/lib/cryptsetup/scripts/decrypt_derived
no seu crypttab para usar automaticamente a chave de um disco para outro. Odecrypt_derived
script faz parte do pacote cryptsetup do Debian.Exemplo modificado para adicionar a chave de sda6crypt para sda5:
A
keyscript
opção só funciona secrypttab
for processada pelas ferramentas originais de configuração de criptografia do Debian, a reimplementação do systemd atualmente não a suporta. Se o seu sistema usa systemd (que é a maioria dos sistemas), você precisa dainitramfs
opção para forçar o processamento do initrd pelas ferramentas de configuração de criptografia, antes de o systemd iniciar.fonte