Como identificar LVM sobre LUKS ou LUKS sobre LVM

Como identificar LVM sobre LUKS ou LUKS sobre LVM

Instalei recentemente o Fedora 20. Não me lembro quais opções exatas escolhi para criptografar o disco/LVM durante a instalação. Ele foi instalado corretamente e posso fazer login, etc. Aqui está a situação que tenho:

Inicializei com o LiveCD e tentei o seguinte: (instalei o Fedora20 na partição /dev/sda3').

  1. Se eu executar, cryptsetup open /dev/sda3 fedorecebo um erro dizendo que não é um dispositivo LUKS.
  2. Eu executo, cryptsetup luksDump /dev/sda3recebo um erro dizendo que não é um dispositivo LUKS
  3. Se eu executar cryptsetup open --type plain /dev/sda3 fedo, ele solicitará a senha e abrirá o dispositivo corretamente.

Então, obviamente, essa é uma partição criptografada em texto simples (sem cabeçalho LUKS).

Agora, quando tento executar mount /dev/mapper/fedo /mnt/fedora, ele diz unknown crypto_LUKS filesystem.

Eu tenho o LVM em cima dele, então posso executar pvdisplay, vgdisplaye lvdisplayele mostra informações. Eu tenho um VG chamado fedorae dois LVs, ou seja, 00 para partição swap e 01 para partição /.

Agora, se eu fizer isso, cryptsetup luksDump /dev/fedora/01posso ver os cabeçalhos LUKS, etc. E posso montar executando mount /dev/fedora/00 /mnt/fedora, sem solicitação de senha.

Então, eu tenho uma partição criptografada com LUKS-over-LVM-over-(texto simples)?

Aqui está minha saída de lsblk:

#lsblk
NOME MAJ:MIN RM TAMANHO RO TIPO PONTO DE MONTAGEM
sda 8:0 0 37,3G 0 disco
|-sda3 8:3 0 17.4G 0 parte
  |-fedora-00 253:0 0 2.5G 0 lvm
  | |-luks-XXXXX 253:3 0 2.5G 0 cripta [SWAP]
  |-fedora-01 253:1 0 15G 0 lvm
    |-luks-XXXXX 253:2 0 15G 0 cripta /

Então, a questão é: como descobrir se tenhoLVM sobre LUKSouLUKS sobre LVM, ou alguma outra combinação deles (LUKS sobre LVM sobre LUKSetc)? Para deixar minha pergunta clara, sei que tenho LVM e LUKS, quero descobrir a ordem deles.

Responder1

cryptsetup luksDump /dev/fedora/01mostra que o volume lógico LVM é um volume criptografado LUKS. A saída de pvsor pvdisplaymostraria que a partição /dev/sda3é um volume físico. Assim você tem LUKS sobre LVM. Em um nível inferior, você tem LVM sobre partição de PC.

A saída de lsblkconfirma isso: sdaé um disco, sda3é uma partição (que contém um volume físico LVM) fedora-00e fedora-01são volumes lógicos, e cada volume lógico contém um volume criptografado LUKS.

Responder2

É muito estranho ter um LUKS dentro de uma cripta simples. Por que criptografar duas vezes?

Depois que seus sistemas de arquivos estiverem montados,lsblkirá mostrar-lhe o que é o quê.

NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                            8:0    0  59.6G  0 disk  
└─sda1                         8:1    0  59.6G  0 part  
  └─md0                        9:0    0  59.6G  0 raid1 
    └─luksSSD1               253:9    0  59.6G  0 crypt 
      ├─SSD-home             253:0    0    36G  0 lvm   /home
      └─SSD-root             253:10   0    16G  0 lvm   /

Este é LVM (/home e / com tipo lvm) em LUKS (tipo crypt, luksSSD1) em RAID1 (md0, tipo raid1) em uma partição regular (sda1) no disco sda.

Responder3

Você pode ver o que você tem assim:

$ sudo blkid | grep crypto_LUKS
/dev/mapper/fedora-home: UUID="XXXXXXXXXXXXXXXXX" TYPE="crypto_LUKS" 

Esse é um volume lógico LVM com criptografia LUKS. Quando eu monto esse volume, ele é montado assim no Fedora 20:

$ mount | grep home
/dev/mapper/luks-XXXXX on /home type ext4 (rw,relatime,seclabel,data=ordered)

Se você fez uma instalação padrão, terá a mesma coisa.

Descriptografando manualmente

Acredito que você pode fazer o seguinte se quiser fazer as coisas manualmente. Primeiro para ver se algo é LUKS ou não:

$ sudo cryptsetup isLuks /dev/mapper/fedora-home
$ echo $?
0

$ sudo cryptsetup isLuks /dev/mapper/fedora-root 
$ echo $?
1

OBSERVAÇÃO:Um zero indica que é LUKS, um 1 significa que não é.

Então, para descriptografá-lo:

$ sudo cryptsetup luksOpen /dev/mapper/fedora-home crypthome

OBSERVAÇÃO:Você deve inserir a senha para descriptografar a partição. Sinta-se à vontade para alterar o nome do mapeamento crypthomepara o que desejar. A partição mapeada agora está disponível, /dev/mapper/crypthomemas não está montada. A última etapa é criar um ponto de montagem e montar a partição mapeada:

Montagem manual

$ sudo -Es
$ mkdir /mnt/crypthome && mount /dev/mapper/crypthome /mnt/crypthome

Quais partições criptografadas eu tenho?

Você também pode verificar o arquivo /etc/crypttabpara ver quais LUKS você configurou.

$ more /etc/crypttab  
luks-XXXXXXXX UUID=XXXXXXXX none 

Despejando o dispositivo

Você também pode usar luksDumpassim:

$ sudo cryptsetup luksDump /dev/mapper/fedora-home
LUKS header information for /dev/mapper/fedora-home

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
MK salt:        XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
                XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
MK iterations:  50625
UUID:           XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

Key Slot 0: ENABLED
    Iterations:             202852
    Salt:                   XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
                            XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
    Key material offset:    8
    AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Se não for um dispositivo LUKS, será relatado da seguinte forma:

$ sudo cryptsetup luksDump /dev/mapper/fedora-root 
Device /dev/mapper/fedora-root is not a valid LUKS device.

Referências

Responder4

Acho que a chave para descobrir se é um LVM sobre LUKS, ou vice-versa, é a ordem decriptaelvmTYPEs na saída do lsblkcomando. Com base nesse raciocínio, concluo que minha configuração é umaLUKS sobre LVM. Para a lsblksaída de um tipo de configuração LVM sobre LUKS, veja a saída mostrada por @frostschultz abaixo.

No meu caso, como /dev/sda3 é uma partição de sistema "Linux LVM" (ID de partição 8e), acho que em vez de tentar primeiro cryptsetup open --type plain /dev/sda3 SomeName, eu deveria ter mapeado o LVM diretamente executando o comando comando cryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeNamepara abrir o LV diretamente. Eu tentei isso e funciona como eu esperava.

Obrigado a todas as pessoas que contribuíram para me ajudar a entender isso.

informação relacionada