Cómo identificar LVM-over-LUKS o LUKS-over-LVM

14

Recientemente instalé Fedora 20. No recuerdo qué opciones exactas elegí para cifrar el disco / LVM durante la instalación. Se instaló bien y puedo iniciar sesión, etc. Aquí está la situación que tengo:

Arranqué con LiveCD e intenté lo siguiente: (He instalado Fedora20 en la partición / dev / sda3 ').

  1. Si ejecuto cryptsetup open /dev/sda3 fedo, aparece un error que dice que no es un dispositivo LUKS.
  2. II ejecutar cryptsetup luksDump /dev/sda3recibo un error que dice que no es un dispositivo LUKS
  3. Si ejecuto cryptsetup open --type plain /dev/sda3 fedo, solicita una contraseña y abre bien el dispositivo.

Entonces, obviamente, esa es una partición encriptada de texto plano (sin encabezado LUKS).

Ahora, cuando trato de correr mount /dev/mapper/fedo /mnt/fedora, dice unknown crypto_LUKS filesystem.

Tengo LVM en la parte superior de la misma, por lo que, puedo correr pvdisplay, vgdisplay, lvdisplayy se nota la información. Tengo un VG llamado fedoray dos LV, a saber, 00 para la partición de intercambio y 01 para / partición.

Ahora, si lo hago cryptsetup luksDump /dev/fedora/01, puedo ver los encabezados de LUKS, etc. Y puedo montarlo ejecutando mount /dev/fedora/00 /mnt/fedora, sin solicitud de contraseña.

Entonces, ¿tengo una partición encriptada LUKS-over-LVM-over- (texto plano)?

Aquí está mi salida de lsblk:

# lsblk
NOMBRE MAJ: MIN RM TAMAÑO RO TIPO MOUNTPOINT
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
  El | | -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 /

Entonces, la pregunta es, ¿cómo saber si tengo LVM-over-LUKS o LUKS-over-LVM , o alguna otra combinación de estos ( LUKS sobre LVM sobre LUKS, etc.)? Para aclarar mi pregunta, sé que tengo LVM y LUKS, quiero averiguar el orden de ellos.

NotSuperMan
fuente

Respuestas:

14

cryptsetup luksDump /dev/fedora/01muestra que el volumen lógico LVM es un volumen cifrado LUKS. La salida de pvso pvdisplaymostraría que la partición /dev/sda3es un volumen físico. Por lo tanto, tienes LUKS sobre LVM. En un nivel inferior, tiene LVM sobre partición de PC.

La salida de lsblkconfirma esto: sdaes un disco, sda3es una partición (que contiene un volumen físico LVM) fedora-00y fedora-01son volúmenes lógicos, y cada volumen lógico contiene un volumen cifrado LUKS.

Gilles 'SO- deja de ser malvado'
fuente
Respuesta perfecta y confirma mis pruebas. Sin embargo, no puedo votar por tu respuesta, ya que soy un novato aquí y no tengo una reputación lo suficientemente alta :-(
NotSuperMan
8

Es muy extraño tener un LUKS dentro de una cripta simple. ¿Por qué cifrar dos veces?

Una vez que sus sistemas de archivos estén montados, lsblkle mostrará qué es 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 es LVM (/ home y / con tipo lvm) en LUKS (tipo cripta, luksSSD1) en RAID1 (md0, tipo raid1) en una partición regular (sda1) en el disco sda.

Frostschutz
fuente
Sí, es raro Agregué la salida de 'lsblk' a mi pregunta.
NotSuperMan
@NotSuperMan: bueno, eso se ve bien. disco, partición, lvm, y cada LV está encriptado. Es una configuración común. Tu descripción sonaba diferente de alguna manera. Creo que su error fue usar cryptsetup --plain en sda3; sda3 es un dispositivo LVM, no una cripta.
frostschutz
Gracias por tu ayuda. Pero, sin cryptsetup --type plain, ni siquiera podría montar la partición. Entonces, no estaba claro para mí. Puede ser que en lugar de montar la partición primero, ¿deba montar el LV usando el LUKS-UUID directamente? (Le daré una oportunidad) Cuando corrí fdisk -l /dev/sdadice /dev/sda3que Id es 8e y Type es Linux LVM.
NotSuperMan
OKAY. En lugar de tratar de 'abrir la partición cryptsetup' primero, simplemente utilicé el cryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeNamecomando para abrir el LV directamente y solicitó passowrd, etc., y luego pude montar bien el dispositivo mapeado. Esto me explica mucho. Creo que la clave es el orden de los TIPOS 'cripta y' lvm 'en la salida del lsblkcomando. Entonces, creo que mi configuración es un LUKS-over-LVM . Y, a partir de la salida que mostró, concluyo que la suya es una configuración LVM sobre LUKS . Entonces, concluyo que no debería 'cryptsetup abrir' una partición 'Linux LVM'.
NotSuperMan
Sus comentarios me ayudaron a aclarar mis entendimientos. Desafortunadamente, no puedo votar por su respuesta ya que soy un novato aquí y no tengo suficiente "reputación" :-( y entonces stackexchange no me deja votar por su respuesta.
NotSuperMan
3

Puedes ver lo que tienes así:

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

Ese es un volumen lógico LVM con crypto LUKS en él. Cuando monto ese volumen, se monta así en Fedora 20:

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

Si hiciste una instalación estándar, tendrás lo mismo.

Descifrado manual

Creo que puede hacer lo siguiente si desea hacer las cosas manualmente. Primero para ver si algo es LUKS o no:

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

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

NOTA: Un cero denota que es LUKS, un 1 significa que no lo es.

Entonces, para descifrarlo:

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

NOTA: Debe ingresar la frase de contraseña para descifrar la partición. Siéntase libre de cambiar el nombre del mapeo crypthomea lo que quiera. La partición asignada ahora está disponible /dev/mapper/crypthomepero no está montada. El último paso es crear un punto de montaje y montar la partición asignada:

Montaje manual

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

¿Qué particiones encriptadas tengo?

También puede verificar el archivo /etc/crypttabpara ver qué LUKS ha configurado.

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

Volcar el dispositivo

También puedes usar luksDumpasí:

$ 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

Si no es un dispositivo LUKS, se informará así:

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

Referencias

slm
fuente
1

Creo que la clave para averiguar si se trata de un LVM-over-LUKS, o al revés, es el orden de los tipos de cripta y lvm en la salida del lsblkcomando. Basado en ese razonamiento, concluyo que mi configuración es un LUKS-over-LVM . Para la lsblksalida para un tipo de configuración LVM-over-LUKS, mire la salida mostrada por @frostschultz a continuación.

En mi caso, dado que / dev / sda3 es una partición del sistema "Linux LVM" (partición Id 8e), creo que en lugar de intentar cryptsetup open --type plain /dev/sda3 SomeNameprimero, debería haber mapeado el LVM directamente ejecutando el cryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeNamecomando para abrir el LV directamente. Intenté esto y funciona como esperaba.

Gracias a todas las personas que contribuyeron a ayudarme a entender esto.

NotSuperMan
fuente