Automount de LVM criptografado na inicialização com chave em outro servidor

1

Gostaria de proteger os dados do meu servidor Linux contra roubo físico usando partições criptografadas com um arquivo-chave armazenado em outro servidor da minha rede. O outro servidor seria, na verdade, meu roteador, que é muito pequeno, em um local físico diferente do servidor e acessível por ssh.

Eu imagino que as chances de alguém roubar o servidor de um local, invadir um segundo local, localizar e roubar o roteador e, posteriormente, configurá-los na mesma rede são muito pequenas. Isso significa que meu servidor sempre reinicializará e iniciará todos os serviços, desde que esteja conectado à minha rede, mas meus dados importantes estarão protegidos se algum dia sair do prédio.

A sequência de inicialização seria algo como:

  • monte partições lógicas não criptografadas ( / , /var , /tmp etc.)
  • iniciar a rede
  • obtém a chave do outro servidor por ssh
  • desbloqueie a partição física criptografada
  • monte as partições lógicas criptografadas ( /home , /opt etc.)
  • inicie outros serviços que terão sido configurados para usar as partições criptografadas - por exemplo, Docker

Eu não sei como ligar a sequência de inicialização LVM / crypto para inserir um script para obter a chave, nem sei como alterar a seqüência de inicialização para que a rede seja iniciada antes dessa etapa.

O usuário root na caixa Linux teria uma chave ssh configurada no roteador, de modo que pudesse ssh sem senha, algo como:

PASSPHRASE=$(ssh router cat /config/disk-passphrase.txt)
cryptsetup luksOpen /dev/sda6 sda6_crypt <<< $PASSPHRASE

Este é o layout do disco que tenho até agora, embora esteja aberto para alterá-lo, se necessário:

NAME                         FSTYPE    LABEL UUID                                   MOUNTPOINT
sda
├─sda2
├─sda5                       LVM2_memb       fjRt18-XKFm-z3RN-1D7t-zkuw-sMal-KyOZ6Z
│ ├─garage--main--vg-tmp     ext4            e90a6186-bf09-41f7-b8bc-392e0fba2207   /tmp
│ ├─garage--main--vg-var     ext4            ee878d29-3b44-463f-adba-083155ea29da   /var
│ └─garage--main--vg-root    ext4            f4fa0962-3c2c-456c-9ee0-84c47d6c12c9   /
├─sda1                       ext4            60d06dea-a07b-4af3-bf30-70fa3f82267d   /boot
└─sda6                       crypto_LU       31b7b643-188c-4ae9-bac6-75316b37d562
  └─sda6_crypt               LVM2_memb       ynUOJB-iRsP-djql-Tzrl-nfHh-Smga-ji4OcT
    ├─garage--enc--vg-opt    ext4            2f149989-f64c-4cab-8a47-fea80ebf4c8e   /opt
    ├─garage--enc--vg-swap_0 swap            bab96476-7209-42c7-9f2a-113dd5c4da67   [SWAP]
    └─garage--enc--vg-home   ext4            c73b9432-ec32-412c-baa4-1329adef9c56   /home
    
por Burma Sauce 01.03.2017 / 01:25

0 respostas