Como identificar LVM-over-LUKS ou LUKS-over-LVM

10

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

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

  1. Se eu executar cryptsetup open /dev/sda3 fedo , recebo um erro dizendo que não é um dispositivo LUKS.
  2. eu corro cryptsetup luksDump /dev/sda3 recebo 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 ela abrirá o dispositivo.

Portanto, 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 , vgdisplay , lvdisplay e mostra informações. Eu tenho um VG chamado fedora e dois LVs, ou seja, 00 para a partição swap e 01 para a partição /.

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

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

Aqui está minha saída de lsblk :

# lsblk
NAME                                            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                                               8:0    0 37.3G  0 disk
|-sda3                                            8:3    0 17.4G  0 part
  |-fedora-00                                   253:0    0  2.5G  0 lvm
  | |-luks-XXXXX                                253:3    0  2.5G  0 crypt [SWAP]
  |-fedora-01                                   253:1    0   15G  0 lvm
    |-luks-XXXXX                                253:2    0   15G  0 crypt /

Então, a questão é como descobrir se tenho LVM-over-LUKS ou LUKS-over-LVM , ou alguma outra combinação deles ( LUKS sobre LVM sobre LUKS etc)? Para esclarecer minha dúvida, sei que tenho LVM e LUKS, quero descobrir a ordem deles.

    
por NotSuperMan 08.10.2014 / 01:47

4 respostas

10

cryptsetup luksDump /dev/fedora/01 mostra o volume lógico do LVM como um volume criptografado pelo LUKS. A saída de pvs ou pvdisplay mostraria a partição /dev/sda3 como um volume físico. Assim você tem LUKS sobre o LVM. Em um nível mais baixo, você tem o LVM na partição do PC.

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

    
por 09.10.2014 / 02:14
7

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

Quando seus sistemas de arquivos estiverem montados, lsblk mostrará 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   /

Isto é 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.

    
por 08.10.2014 / 19:30
3

Você pode ver o que você tem assim:

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

Isso é um volume lógico LVM com LUKS criptografado nele. Quando monto esse volume, ele é montado assim sob o 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, você terá a mesma coisa.

Descriptografar manualmente

Eu 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

NOTA: Um zero indica que é LUKS, 1 significa que não é.

Então, para decifrá-lo:

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

OBSERVAÇÃO: você precisa inserir a senha para descriptografar a partição. Sinta-se à vontade para alterar o nome do mapeamento crypthome para o que você quiser. A partição mapeada está agora disponível em /dev/mapper/crypthome , mas 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 crypted eu tenho?

Você pode verificar no arquivo /etc/crypttab para ver também o que a LUKS configurou.

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

Descarregando o dispositivo

Você também pode usar luksDump da seguinte forma:

$ 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, ele será informado assim:

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

Referências

por 08.10.2014 / 02:24
1

Acho que a chave para descobrir se é um LVM-over-LUKS, ou o contrário, é a ordem dos crypt e lvm TYPEs no saída do comando lsblk . Com base nesse raciocínio, concluo que minha configuração é um LUKS-over-LVM . Para a saída lsblk para 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 do sistema "Linux LVM" (partição Id 8e), acho que em vez de tentar cryptsetup open --type plain /dev/sda3 SomeName primeiro, eu deveria ter mapeado o LVM diretamente executando o comando cryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeName comando para 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.

    
por 09.10.2014 / 02:31