Com xifrar el disc complet mentre instal·leu Ubuntu 22.04


Les distribucions de Linux han fet un gran treball per obtenir una protecció addicional aportant el xifratge complet del disc i sent el líder del mercat.

Ubuntu també inclou nombroses funcions i el xifratge del disc és una d'elles. Habilitar el xifratge complet del disc és crucial per a aquells que volen protegir les seves dades privades a qualsevol preu, fins i tot si us roben el dispositiu, ja que requereix que introduïu la contrasenya a cada arrencada.

El xifratge complet del disc només es pot activar mentre instal·leu el sistema operatiu, ja que el xifratge complet del disc s'aplicarà a cada partició de la vostra unitat, que també inclou la partició d'arrencada i d'intercanvi. I aquesta és la raó per la qual hem d'habilitar-la des del començament de la instal·lació.

Aquest tutorial pas a pas us guiarà sobre com podeu habilitar el xifratge complet del disc a Ubuntu 22.04 i, per a aquest propòsit, utilitzarem LVM (Gestió de volums lògics) i LUKS (per a propòsits de xifratge).

  • Una unitat USB d'arrencada.
  • Connexió a Internet amb prou amplada de banda per baixar fitxers grans.
  • Placa base compatible amb UEFI.

Però abans de saltar al procés, tinguem una breu idea sobre els avantatges i els contres del xifratge de disc.

Cada funció inclou els seus pros i contres i això també és aplicable en el cas del xifratge de disc. Així que sempre és una bona idea saber què esperar i què no dels passos que es faran.

  • Protegeix les teves dades confidencials del robatori: sí, aquesta és la característica més interessant del xifratge del disc, ja que les teves dades privades sempre estaran protegides encara que et roben el sistema. Aquest punt és més adequat en el cas de dispositius mòbils com ara portàtils que tenen més possibilitats de ser robats.
  • Desa les vostres dades de la vigilància: les possibilitats que el vostre sistema sigui piratejat són mínimes a Linux, però es poden fer si l'usuari no és prou intel·ligent com per protegir-se de les estafes sospitoses. Fins i tot si el teu ordinador està sota atac, el pirata informàtic no podrà accedir a les teves dades, que és una altra prova que ho permet.

  • Impacte en el rendiment: això només es pot aplicar als sistemes amb pocs recursos, ja que l'ordinador modern pot gestionar el xifratge sense cap problema, però tot i així trobareu velocitats de lectura i escriptura una mica més lentes durant l'ús.

Segons nosaltres, el xifratge complet del disc sempre és l'opció sàvia, ja que ofereix molts avantatges, mentre que és fàcil de superar els inconvenients amb uns quants recursos més. Així que si esteu d'acord amb una petita baixada de rendiment per a una millor seguretat, comencem el procés de xifratge.

Xifrat del disc sencer a Ubuntu 22.04

Aquesta és una guia amigable per a principiants i se suposa que us guiarà a través de cada pas, mentre que els usuaris avançats encara se'n poden beneficiar.

Visiteu la pàgina oficial de descàrrega d'Ubuntu i trieu la versió d'Ubuntu 22.04 LTS, que començarà a descarregar-la automàticament.

Per flashejar la imatge ISO d'Ubuntu a la unitat USB, utilitzarem Balena Etcher, que detectarà automàticament el sistema operatiu que esteu utilitzant actualment. Un cop hàgiu acabat d'instal·lar Balena Etcher, instal·leu-lo al vostre sistema.

Per gravar el fitxer ISO, obriu balenaEtcher i seleccioneu l'opció \Flash des del fitxer i trieu el fitxer ISO d'Ubuntu 22.04 descarregat recentment.

A continuació, trieu la unitat on volem flashejar el fitxer ISO. Trieu l'opció \Seleccioneu l'objectiu i apareixerà una llista de totes les unitats muntades al vostre sistema. De les opcions disponibles, trieu la unitat USB o DVD.

Un cop hem flashejat correctament la nostra unitat USB, és hora d'arrencar des de la unitat USB. Per arrencar des d'USB, reinicieu el sistema i utilitzeu F10, F2, F12, F1 o DEL mentre s'engega el sistema. A partir d'aquí, heu de triar el vostre USB com a unitat d'arrencada.

Un cop arrenquem mitjançant USB, podem passar a la part de partició i xifratge. Això pot desbordar alguns usuaris nous, ja que pot semblar complex, però només heu de seguir cada pas i obtindreu el vostre sistema xifrat en poc temps.

NOTA: Algunes ordres són diferents per als usuaris de SSD Nvme, així que llegiu les instruccions abans d'aplicar l'ordre, ja que les hem separat quan cal.

Un cop arrenqueu Ubuntu, tindreu dues opcions: Proveu Ubuntu i instal·leu Ubuntu. A mesura que anem a xifrar particions, hem d'utilitzar un entorn en directe. Per tant, seleccioneu la primera opció anomenada \Prova Ubuntu.

Feu clic a Activitats situat a la part superior esquerra i escriviu cerca Terminal. Premeu Enter al primer resultat i ens obrirà Terminal. A continuació, canvieu a l'usuari root, ja que totes les ordres que farem servir requeriran privilegis administratius.

$ sudo -i

Com que les properes ordres dependran molt de BASH, canviem del nostre intèrpret d'ordres predeterminat a BASH mitjançant l'ordre següent:

# bash

A continuació, identifiqueu l'objectiu d'instal·lació, hem d'enumerar tots els dispositius d'emmagatzematge muntats mitjançant l'ordre següent:

# lsblk

Podeu identificar fàcilment la partició de destinació per mida i, en la majoria dels casos, s'anomenarà sda i vda. En el meu cas, és sda amb una mida de 20 GB.

Aquesta secció només us és aplicable si feu servir HDD per a SSD SATA. Per tant, si sou algú equipat amb Nvme SSD, l'assignació de noms de variables s'explica al pas següent.

Com que el meu dispositiu objectiu es diu sda, he d'utilitzar l'ordre següent:

# export DEV="/dev/sda"

Si sou algú que està utilitzant Nvme, l'esquema de noms per al vostre dispositiu objectiu serà com /dev/nvme$ {CONTROLLER}n$ {NAMESPACE}p$ {PARTITION}, de manera que si només hi ha una partició, seria probablement tingui un nom similar a l'ordre donat:

# export DEV="/dev/nvme0n1"

Ara, configurem la variable per al mapeador de dispositius xifrat mitjançant l'ordre següent:

# export DM="${DEV##*/}"

Cada dispositiu Nvme necessitarà ‘p’ al sufix, així que utilitzeu les ordres donades per afegir el sufix:

# export DEVP="${DEV}$( if [[ "$DEV" =~ "nvme" ]]; then echo "p"; fi )"
# export DM="${DM}$( if [[ "$DM" =~ "nvme" ]]; then echo "p"; fi )"

Per crear una nova taula de particions GPT, utilitzarem la utilitat sgdidk amb l'ordre següent:

# sgdisk --print $DEV

Ara podem eliminar amb seguretat totes les dades disponibles, però si esteu instal·lant aquest sistema juntament amb particions existents, eviteu aquest pas.

Per formatar les dades, utilitzeu l'ordre següent:

# sgdisk --zap-all $DEV

Assignarem una partició de 2 MB per a la imatge principal de GRUB en mode BIOS, una partició d'arrencada de 768 MB i 128 MB per al sistema de fitxers EFI, i l'espai restant s'assignarà a l'usuari on podeu emmagatzemar les vostres dades desitjades.

Utilitzeu les ordres donades una per una per particionar la vostra unitat:

# sgdisk --new=1:0:+768M $DEV
# sgdisk --new=2:0:+2M $DEV
# sgdisk --new=3:0:+128M $DEV
# sgdisk --new=5:0:0 $DEV
# sgdisk --typecode=1:8301 --typecode=2:ef02 --typecode=3:ef00 --typecode=5:8301 $DEV

Per canviar el nom de les particions, utilitzeu les ordres donades:

# sgdisk --change-name=1:/boot --change-name=2:GRUB --change-name=3:EFI-SP --change-name=5:rootfs $DEV
# sgdisk --hybrid 1:2:3 $DEV

Per llistar les particions creades recentment, utilitzeu l'ordre següent:

# sgdisk --print $DEV

Comencem el nostre procés de xifratge xifrant la partició d'arrencada. Heu d'escriure SÍ en majúscules quan us demani el vostre permís.

# cryptsetup luksFormat --type=luks1 ${DEV}1

Ara, xifrem la partició del sistema operatiu amb l'ordre següent:

# cryptsetup luksFormat --type=luks1 ${DEV}5

Per a una instal·lació posterior, hem de desbloquejar les particions xifrades mitjançant les ordres següents per desbloquejar l'arrencada i les particions del sistema operatiu.

# cryptsetup open ${DEV}1 LUKS_BOOT
# cryptsetup open ${DEV}5 ${DM}5_crypt

Aquest pas només és aplicable si el vostre sistema està equipat amb Nvme SSD. Utilitzeu les ordres següents per xifrar les particions d'arrencada i del sistema operatiu:

# cryptsetup luksFormat --type=luks1 ${DEVP}1
# cryptsetup luksFormat --type=luks1 ${DEVP}5

Ara, desbloquegem les particions xifrades, ja que és necessari que processem més a la instal·lació.

# cryptsetup open ${DEVP}1 LUKS_BOOT
# cryptsetup open ${DEVP}5 ${DM}5_crypt

Aquest és un dels passos més crucials, ja que si no es fa, l'instal·lador desactivarà la capacitat d'escriure el sistema de fitxers. Utilitzeu l'ordre següent per començar a formatar:

# mkfs.ext4 -L boot /dev/mapper/LUKS_BOOT

Si el vostre sistema està equipat amb HDD i SATA SSD, utilitzeu l'ordre següent per formatar-lo en FAT16:

# mkfs.vfat -F 16 -n EFI-SP ${DEV}3

Per tant, si el vostre sistema utilitza Nvme SSD, podeu formatar fàcilment la tercera partició mitjançant l'ordre següent:

# mkfs.vfat -F 16 -n EFI-SP ${DEVP}3

LVM és una d'aquestes funcions que més admiro. Fins i tot si no utilitzeu les funcions de LVM, habilitar-la no perjudicarà el vostre sistema i, en el futur, si necessiteu alguna funció que ofereix LVM, podeu utilitzar-les sense cap problema.

Aquí, assignarem 4 GB a la partició d'intercanvi que utilitzarà espai en disc quan el sistema es quedi sense memòria. També estem assignant el 80% de l'espai lliure a root perquè l'usuari pugui utilitzar el seu espai al disc al màxim potencial.

Per descomptat, podeu canviar-lo segons els vostres casos d'ús i fins i tot modificar-lo en el futur. Utilitzeu les ordres donades una per una i el vostre sistema estarà preparat per LVM en molt poc temps:

# pvcreate /dev/mapper/${DM}5_crypt
# vgcreate ubuntu--vg /dev/mapper/${DM}5_crypt
# lvcreate -L 4G -n swap_1 ubuntu—vg
# lvcreate -l 80%FREE -n root ubuntu--vg

És hora d'iniciar l'instal·lador d'Ubuntu. Només heu de minimitzar l'instal·lador i trobareu l'instal·lador a la pantalla d'inici.

Tant si aneu amb una instal·lació normal com una mínima, depèn de vosaltres, però cal seleccionar algunes opcions per aconseguir-vos una millor experiència, i que són instal·lar actualitzacions i controladors i còdecs de tercers que de ben segur milloraran la vostra experiència d'usuari i estalviaran. temps després de la instal·lació.

A l'apartat de tipus d'instal·lació, seleccioneu l'opció amb l'etiqueta \Alguna cosa més que ens ajudarà a gestionar les particions que acabem de crear manualment.

Aquí trobareu diverses particions amb el mateix nom. Podeu identificar fàcilment l'original, ja que l'instal·lador esmentarà la mida presa. Ara, comencem amb LUKS_BOOT.

Seleccioneu LUKS_BOOT i feu clic al botó de canvi.

Ara, seleccioneu el sistema de fitxers de diari Ext4 a la primera opció. Activeu l'opció Formata la partició i, al punt de muntatge, seleccioneu /boot.

De la mateixa manera, seleccioneu ubuntu–vg-root i feu clic al botó de canvi. Aquí, seleccioneu el sistema de fitxers de diari Ext4 a la primera opció. Activeu l'opció Formata la partició i, a l'última, trieu l'opció \/.

Ara, seleccioneu ubuntu–vg-swap_1 i feu clic al botó d'opcions. Seleccioneu l'opció d'àrea d'intercanvi i ja està.

Finalitzeu els canvis i trieu la vostra ubicació actual.

Després de crear l'usuari, no feu clic al botó Instal·la ara, ja que aplicarem algunes ordres just després de crear un nou usuari. Creeu l'usuari amb una contrasenya segura.

Just després de crear un usuari, obriu el terminal i utilitzeu les ordres donades, ja que habilitarem el xifratge a GRUB abans que comenci la instal·lació:

# while [ ! -d /target/etc/default/grub.d ]; do sleep 1; done; echo "GRUB_ENABLE_CRYPTODISK=y" > /target/etc/default/grub.d/local.cfg

Un cop feta la instal·lació, feu clic a continuar provant, ja que anem a fer alguns canvis que encara requereixen que utilitzem una unitat d'arrencada.

En aquesta secció, muntarem unitats, instal·larem els paquets necessaris i farem alguns canvis necessaris perquè el xifratge funcioni. Així que obriu el vostre terminal i seguiu els passos indicats:

Chroot s'utilitza per accedir a les particions en les quals acabem d'instal·lar Ubuntu. Utilitzeu les ordres donades, una de les quals implica muntar la unitat i crear un entorn chroot.

# mount /dev/mapper/ubuntu----vg-root /target
# for n in proc sys dev etc/resolv.conf; do mount --rbind /$n /target/$n; done 
# chroot /target
# mount -a

El paquet Cryptsetup serà l'encarregat de desbloquejar els fitxers xifrats en el moment de l'arrencada i podem instal·lar-lo fàcilment mitjançant l'ordre donat:

# apt install -y cryptsetup-initramfs

El fitxer de clau s'utilitzarà per comprovar la contrasenya per al desxifrat i es desa a /boot/, que també és una partició xifrada. Utilitzeu l'ordre donada per continuar més endavant:

# echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook 
# echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf 

Crearem un fitxer de claus de 512 bytes, el farem segur i també afegirem volums xifrats. Podeu aconseguir-ho utilitzant les ordres donades:

# mkdir /etc/luks
# dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=512 count=1
# chmod u=rx,go-rwx /etc/luks
# chmod u=r,go-rwx /etc/luks/boot_os.keyfile

Se suposa que aquest és un dels últims passos, ja que estem bastant a prop de xifrar el nostre sistema amb èxit. Utilitzeu l'ordre següent per afegir claus al fitxer boot_os.key.

# cryptsetup luksAddKey ${DEV}1 /etc/luks/boot_os.keyfile
# cryptsetup luksAddKey ${DEV}5 /etc/luks/boot_os.keyfile 

Per afegir claus a crypttab, utilitzeu l'ordre següent:

# echo "LUKS_BOOT UUID=$(blkid -s UUID -o value ${DEV}1) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab
# echo "${DM}5_crypt UUID=$(blkid -s UUID -o value ${DEV}5) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab

Si utilitzeu Nvme SSD, podeu utilitzar l'ordre següent per afegir claus a boot_os.file:

# cryptsetup luksAddKey ${DEVP}1 /etc/luks/boot_os.keyfile
# cryptsetup luksAddKey ${DEVP}5 /etc/luks/boot_os.keyfile 

De la mateixa manera, per afegir claus a crypttab, utilitzeu l'ordre següent:

# echo "LUKS_BOOT UUID=$(blkid -s UUID -o value ${DEVP}1) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab
# echo "${DM}5_crypt UUID=$(blkid -s UUID -o value ${DEVP}5) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab

Ara actualitzem els fitxers initialramfs, ja que afegirà scripts de desbloqueig i fitxer de claus mitjançant l'ordre següent:

# update-initramfs -u -k all

Ara, reinicieu el vostre sistema i us portarà a la sol·licitud de frase de contrasenya de GRUB per arrencar el vostre sistema.

La intenció principal d'aquesta guia era fer un procediment fàcil de seguir on fins i tot els principiants puguin protegir el seu sistema habilitant el xifratge complet del disc a Ubuntu.