O cryptsetup pode ler mapeamentos de / etc / crypttab?

4

Eu tenho um servidor CentOS 7 virtualizado que precisa montar vários volumes criptografados protegidos por senha. Não consigo mapear automaticamente os dispositivos na inicialização porque não tenho acesso ao console durante o processo de inicialização para inserir a senha de descriptografia. Depois que eu reiniciar o sistema, eu tenho que executar manualmente

cryptsetup luksOpen <device> <name>

para mapear cada dispositivo de bloco subjacente para um dispositivo criptografado. Isso requer manter anotações sobre o UUID de cada dispositivo de bloco subjacente e o nome para o qual ele mapeia. Existe uma maneira fácil de automatizar esse processo? Eu posso adicionar as informações para /etc/crypttab com a palavra-chave noauto para evitar que os dispositivos sejam montados na inicialização. No entanto, não consigo usar cryptsetup para usar as informações desse arquivo.

Seria ótimo se houvesse um comando como cryptsetup luksOpen <name> que leria /etc/crypttab para encontrar o nome do dispositivo de bloco subjacente (semelhante à maneira como você pode pode mount <mountpoint> se estiver definido em /etc/fstab ).

Existe alguma maneira de obter o cryptsetup para ler os mapeamentos de /etc/crypttab ?

    
por Craig Finch 17.08.2015 / 05:55

3 respostas

3

Dê uma olhada em cryptdisks_start e cryptdisks_stop , eles fazem exatamente isso.

# cryptdisks_start <name>
# mount <mountpoint>
...stuff...
# umount <mountpoint>
# cryptdisks_stop <name>
    
por 15.12.2016 / 16:38
0

Eu acho que você quer experimentar com systemd-cryptsetup-generator .

Normalmente, esse processo é executado durante a inicialização do initramfs, para gerar dinamicamente unidades systemd que descriptografam cada dispositivo de bloco listado em /etc/crypttab . Você pode, então, iniciar essas unidades sempre que desejar, e você será perguntado por todas as senhas necessárias.

Como esta é uma máquina virtual, você deve ter acesso ao console virtual, o que significa que você pode simplesmente criptografar seus sistemas de arquivos normalmente e fornecer a senha no momento da inicialização. Claro que a segurança dos sistemas de arquivos criptografados é comprometida , simplesmente por ser usada em uma máquina virtual, independentemente de quando você insira a frase secreta.

    
por 17.08.2015 / 06:08
0

Você pode usar

sudo systemctl start systemd-cryptsetup@<name>

em vez de

cryptsetup luksOpen UUID=... <name>

quando você tem uma entrada como segue em seu / etc / crypttab:

<name> UUID=... none noauto

Ele solicitará a frase secreta, se necessário.

O arquivo unitário correspondente é gerado automaticamente por systemd-cryptsetup-generator .

Você pode listar todos os arquivos de unidade gerados usando

systemctl list-unit-files| grep systemd-cryptsetup

    
por 08.08.2018 / 14:46