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').
- Se eu executar,
cryptsetup open /dev/sda3 fedo
recebo um erro dizendo que não é um dispositivo LUKS. - Eu executo,
cryptsetup luksDump /dev/sda3
recebo um erro dizendo que não é um dispositivo LUKS - 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
, vgdisplay
e lvdisplay
ele mostra informações. Eu tenho um VG chamado fedora
e dois LVs, ou seja, 00 para partição swap e 01 para partição /.
Agora, se eu fizer isso, cryptsetup luksDump /dev/fedora/01
posso 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/01
mostra que o volume lógico LVM é um volume criptografado LUKS. A saída de pvs
or pvdisplay
mostraria 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 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.
Responder2
É muito estranho ter um LUKS dentro de uma cripta simples. Por que criptografar duas vezes?
Depois que seus sistemas de arquivos estiverem montados,lsblk
irá 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 crypthome
para o que desejar. A partição mapeada agora está disponível, /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 criptografadas eu tenho?
Você também pode verificar o arquivo /etc/crypttab
para ver quais LUKS você configurou.
$ more /etc/crypttab
luks-XXXXXXXX UUID=XXXXXXXX none
Despejando o dispositivo
Você também pode usar luksDump
assim:
$ 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 lsblk
comando. Com base nesse raciocínio, concluo que minha configuração é umaLUKS sobre LVM. Para a lsblk
saí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 SomeName
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.