Com xifrar unitats utilitzant LUKS a Fedora Linux


En aquest article, explicarem breument sobre el xifratge de blocs, Linux Unified Key Setup (LUKS) i descriurem les instruccions per crear un dispositiu de bloc xifrat a Fedora Linux.

El xifratge del dispositiu de bloqueig s'utilitza per protegir les dades d'un dispositiu de bloqueig xifrant-lo, i per desxifrar les dades, l'usuari ha de proporcionar una frase de contrasenya o una clau per accedir-hi. Això ofereix mecanismes de seguretat addicionals, ja que salvaguarda el contingut del dispositiu encara que s'hagi separat físicament del sistema.

LUKS (Linux Unified Key Setup) és l'estàndard per al xifratge de dispositius de bloqueig a Linux, que funciona mitjançant l'establiment d'un format al disc per a les dades i una política de gestió de claus/frase de contrasenya. Emmagatzema tota la informació de configuració necessària a la capçalera de la partició (també coneguda com a capçalera LUKS), cosa que us permet transportar o migrar dades sense problemes.

LUKS utilitza el subsistema del mapeador de dispositius del nucli amb el mòdul dm-crypt per proporcionar un mapeig de baix nivell que conté el xifratge i el desxifrat de les dades del dispositiu. Podeu utilitzar el programa cryptsetup per executar tasques a nivell d'usuari, com ara crear i accedir a dispositius xifrats.

Preparació d'un dispositiu de bloc

Les instruccions següents mostren els passos per crear i configurar dispositius de blocs xifrats després de la instal·lació.

Instal·leu el paquet cryptsetup.

# dnf install cryptsetup-luks

A continuació, ompliu el dispositiu amb dades aleatòries abans de xifrar-lo, ja que això augmentarà significativament la força del xifratge mitjançant les ordres següents.

# dd if=/dev/urandom of=/dev/sdb1	           [slow with high quality random data ]
OR
# badblocks -c 10240 -s -w -t random -v /dev/sdb1  [fast with high quality random data]

Avís: les ordres anteriors esborraran totes les dades existents al dispositiu.

Formatejar un dispositiu xifrat

A continuació, utilitzeu l'eina de línia d'ordres cryptsetup per formatar el dispositiu com a dispositiu xifrat dm-crypt/LUKS.

# cryptsetup luksFormat /dev/sdb1

Després d'executar l'ordre, se us demanarà que introduïu YES (en majúscula) per proporcionar una contrasenya dues vegades perquè el dispositiu sigui formatat per utilitzar-lo, tal com es mostra a la següent captura de pantalla.

Per verificar si l'operació ha tingut èxit, executeu l'ordre següent.

# cryptsetup isLuks /dev/sdb1 && echo Success

Podeu veure un resum de la informació d'encriptació del dispositiu.

# cryptsetup luksDump /dev/sdb1

Creació de mapes per permetre l'accés a un contingut desxifrat

En aquesta secció, configurarem com accedir al contingut desxifrat del dispositiu xifrat. Crearem un mapeig utilitzant el mapeador de dispositius del nucli. Es recomana crear un nom significatiu per a aquest mapeig, com ara luk-uuid (on <uuid> es substitueix per l'UUID LUKS del dispositiu(identificador únic universal).

Per obtenir l'UUID del vostre dispositiu xifrat, executeu l'ordre següent.

# cryptsetup luksUUID /dev/sdb1

Després d'obtenir l'UUID, podeu crear el nom de mapatge tal com es mostra (se us demanarà que introduïu la frase de contrasenya creada anteriorment).

# cryptsetup luksOpen /dev/sdb1 luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Si l'ordre té èxit, un node de dispositiu anomenat /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c que representa el dispositiu desxifrat.

El dispositiu de bloc que s'acaba de crear es pot llegir i escriure com qualsevol altre dispositiu de bloc sense xifrar. Podeu veure informació sobre el dispositiu mapejat executant l'ordre següent.

# dmsetup info /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Creació de sistemes de fitxers al dispositiu mapejat

Ara veurem com crear un sistema de fitxers al dispositiu mapat, que us permetrà utilitzar el node del dispositiu mapa com qualsevol altre dispositiu de bloc.

Per crear un sistema de fitxers ext4 al dispositiu mapat, executeu l'ordre següent.

# mkfs.ext4 /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Per muntar el sistema de fitxers anterior, creeu-ne un punt de muntatge, p. ex. /mnt/encrypted-device i després munteu-lo de la següent manera.

# mkdir -p /mnt/encrypted-device
# mount /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c /mnt/encrypted-device/

Afegiu informació de mapeig a /etc/crypttab i /etc/fstab

A continuació, hem de configurar el sistema per configurar automàticament un mapeig per al dispositiu i muntar-lo en el moment de l'arrencada.

Heu d'afegir la informació de mapeig al fitxer /etc/crypttab, amb el format següent.

luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c   none

en el format anterior:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c: és el nom del mapatge
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c: és el nom del dispositiu

Deseu el fitxer i tanqueu-lo.

A continuació, afegiu l'entrada següent a /etc/fstab per muntar automàticament el dispositiu assignat a l'arrencada del sistema.

/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  /mnt/encrypted-device  ext4 0 0

Deseu el fitxer i tanqueu-lo.

A continuació, executeu l'ordre següent per actualitzar les unitats systemd generades a partir d'aquests fitxers.

# systemctl daemon-reload

Còpia de seguretat de les capçaleres LUKS

Finalment, explicarem com fer una còpia de seguretat de les capçaleres LUKS. Aquest és un pas crític per evitar perdre totes les dades del dispositiu de bloc xifrat, en cas que els sectors que contenen les capçaleres LUKS estiguin danyats per error de l'usuari o per fallada del maquinari. Aquesta acció permet la recuperació de dades.

Per fer una còpia de seguretat de les capçaleres LUKS.

# mkdir /root/backups  
# cryptsetup luksHeaderBackup --header-backup-file luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

I per restaurar les capçaleres LUKS.

# cryptsetup luksHeaderRestore --header-backup-file /root/backups/luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

Això és tot! En aquest article, hem explicat com xifrar dispositius de bloqueig mitjançant LUKS a la distribució Fedora Linux. Si teniu cap consulta o comentari sobre aquest tema o guia, utilitzeu el formulari de comentaris que trobareu a continuació per posar-vos en contacte amb nosaltres.