Koko levyn salaaminen Ubuntu 22.04:n asennuksen aikana


Linux-jakelut ovat tehneet hienoa työtä saadakseen lisäsuojaa tuomalla täyden levysalauksen ja olemalla markkinajohtaja.

Myös Ubuntu sisältää lukuisia ominaisuuksia, ja levyn salaus on yksi niistä. Täysi levysalauksen ottaminen käyttöön on ratkaisevan tärkeää niille, jotka haluavat suojata yksityiset tietonsa hinnalla millä hyvänsä, vaikka laitteesi varastetaan, koska se edellyttää pääsykoodin syöttämistä jokaisen käynnistyksen yhteydessä.

Täysi levyn salaus voidaan ottaa käyttöön vain käyttöjärjestelmää asennettaessa, koska täydellistä levyn salausta sovelletaan jokaiseen asemasi osioon, joka sisältää myös käynnistys- ja swap-osion. Ja tästä syystä meidän on otettava se käyttöön asennuksen alusta alkaen.

Tämä vaiheittainen opetusohjelma opastaa sinua, kuinka voit ottaa täyden levysalauksen käyttöön Ubuntu 22.04 -käyttöjärjestelmässä, ja tätä tarkoitusta varten aiomme käyttää LVM:ää ( >Logical Volume Management) ja LUKS (salaustarkoituksiin).

Edellytykset:

  • Käynnistettävä USB-asema.
  • Internet-yhteys, jossa on tarpeeksi kaistanleveyttä suurten tiedostojen lataamiseen.
  • UEFI-yhteensopiva emolevy.

Mutta ennen kuin siirryt prosessiin, katsotaanpa lyhyesti Levyn salauksen eduista ja haitoista.

Levyn salauksen plussat ja miinukset

Jokainen ominaisuus on niputettu etuihinsa ja haitoihinsa, ja tämä pätee myös levyn salauksen tapauksessa. Joten on aina hyvä idea tietää, mitä odottaa ja mitä ei vaiheilta, jotka tulevat tekemään.

Plussat :
  • Suojaa arkaluontoiset tietosi varkauksilta – Kyllä, tämä on levysalauksen jännittävin ominaisuus, sillä yksityiset tietosi ovat aina turvassa, vaikka järjestelmäsi varastetaan. Tämä kohta on sopivampi mobiililaitteiden, kuten kannettavien tietokoneiden, tapauksessa, joilla on suurempi mahdollisuus tulla varastetuksi.
  • Tallenna tietosi valvonnalta – Järjestelmäsi hakkeroinnin todennäköisyys on minimaalinen Linuxissa, mutta se voidaan tehdä, jos käyttäjä ei ole tarpeeksi älykäs suojaamaan itseään hämäriltä huijauksilta. Vaikka tietokoneesi olisi hyökkäyksen kohteena, hakkeri ei pääse käsiksi tietoihisi, mikä on toinen todiste sen mahdollistamisesta.
Haittoja :
  • Vaikutus suorituskykyyn – Tätä voidaan soveltaa vain järjestelmiin, joissa on vähän resursseja, koska nykyaikainen tietokone pystyy käsittelemään salauksen ilman ongelmia, mutta silti luku- ja kirjoitusnopeudet ovat hieman hitaampia käytön aikana.

Mielestämme täysi levyn salaus on aina viisas valinta, koska se tarjoaa runsaasti etuja, kun taas haitoista on helppo voittaa muutamalla lisäresurssilla. Joten jos hyväksyt pienen suorituskyvyn pudotuksen paremman turvallisuuden takaamiseksi, aloitetaan salausprosessi.

Koko levyn salaus Ubuntu 22.04:ssä

Tämä on aloittelijaystävällinen opas, ja sen oletetaan opastavan sinua jokaisen vaiheen läpi, ja kokeneet käyttäjät voivat silti hyötyä siitä.

Vaihe 1: Lataa Ubuntu 22.04 ISO

Vieraile virallisella Ubuntun lataussivulla ja valitse Ubuntu 22.04 LTS -versio, joka alkaa automaattisesti ladata sitä.

Vaihe 2: Luo käynnistettävä Ubuntu USB-asema

Ubuntu ISO -kuvan vilkkumiseksi USB-asemaan käytämme Balena Etcheriä, joka tunnistaa automaattisesti käyttämäsi käyttöjärjestelmän. Kun olet asentanut Balena Etcherin, asenna se järjestelmääsi.

Jos haluat polttaa ISO-tiedoston, avaa balenaEtcher ja valitse vaihtoehto Flash from file ja sitten äskettäin ladattu Ubuntu 22.04 ISO -tiedosto.

Valitse seuraavaksi asema, jolla haluamme flash-tiedoston ISO-tiedoston. Valitse Valitse kohde -vaihtoehto, niin se listaa kaikki järjestelmässäsi asennetut asemat. Valitse käytettävissä olevista vaihtoehdoista USB- tai DVD-asema.

Kun USB-asemamme on flash-muistissa onnistuneesti, on aika käynnistää USB-asemalta. Käynnistääksesi USB:n, käynnistä järjestelmä uudelleen ja paina F10, F2, F12, F1 tai DEL, kun järjestelmäsi käynnistyy. Sieltä sinun on valittava USB käynnistysasemaksi.

Vaihe 3: Aloita Ubuntun asennus USB-aseman avulla

Kun olemme käynnistetty USB:n kautta, voimme siirtyä osiointi- ja salausosaan. Tämä saattaa painaa joitain uusia käyttäjiä, koska se saattaa näyttää monimutkaiselta, mutta sinun on vain noudatettava jokaista vaihetta, niin järjestelmä salataan hetkessä.

HUOMAA: Jotkut komennot ovat erilaisia Nvme SSD -käyttäjille, joten lue ohjeet ennen komennon käyttämistä, koska olemme erotelleet ne tarvittaessa.

Kun käynnistät Ubuntun, saat kaksi vaihtoehtoa: Kokeile Ubuntua ja Asenna Ubuntu. Kun aiomme salata osiot, meidän on käytettävä live-ympäristöä. Valitse siis ensimmäinen vaihtoehto "Kokeile Ubuntua".

Napsauta vasemmassa yläkulmassa olevaa Toiminnot ja kirjoita hakusanaksi Terminaali. Paina Enter ensimmäisen tuloksen kohdalla ja se avaa terminaalin meille. Vaihda seuraavaksi pääkäyttäjäksi, koska kaikki käyttämämme komennot edellyttävät järjestelmänvalvojan oikeuksia.

sudo -i

Koska tulevat komennot ovat suurelta osin riippuvaisia BASH:sta, siirrytään oletuskuoresta BASH:iin seuraavalla komennolla:

bash

Tunnista seuraavaksi asennuskohde, meidän on lueteltava kaikki asennetut tallennuslaitteet seuraavalla komennolla:

lsblk

Voit helposti tunnistaa kohdeosion koon mukaan, ja useimmissa tapauksissa sen nimi on sda ja vda. Minun tapauksessani se on sda, jonka koko on 20 Gt.

Anna muuttujien nimet kohdelaitteelle (kiintolevy- ja SATA-SSD-levyille)

Tämä osio koskee vain sinua, jos käytät HDD:tä SATA SSD-levyille. Joten jos sinulla on Nvme SSD, muuttujien nimien jakaminen selitetään alla olevassa vaiheessa.

Koska kohdelaitteeni on nimeltään sda, minun on käytettävä seuraavaa komentoa:

export DEV="/dev/sda"
Anna muuttujien nimet kohdelaitteelle (vain Nvme SSD -levyille)

Jos käytät Nvme:tä, kohdelaitteesi nimeämismalli on /dev/nvme$ {CONTROLLER}n$ {NAMESPACE}p$ {PARTITION} joten jos osioita on vain yksi, sillä on todennäköisesti samanlainen nimi kuin annetulla komennolla:

export DEV="/dev/nvme0n1"

Määritetään nyt salatun laitekartoittajan muuttuja seuraavalla komennolla:

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

Jokainen Nvme-laite tarvitsee 'p'-liitteen, joten käytä annettuja komentoja lisätäksesi pääte:

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

Vaihe 4: Luo uusi GPT-osio

Uuden GPT-osiotaulukon luomiseksi käytämme sgdidk-apuohjelmaa seuraavalla komennolla:

sgdisk --print $DEV

Nyt voimme turvallisesti poistaa kaikki saatavilla olevat tiedot, mutta jos asennat tämän järjestelmän olemassa olevien osioiden rinnalle, vältä tätä vaihetta.

Muotoile tiedot käyttämällä seuraavaa komentoa:

sgdisk --zap-all $DEV

Vaihe 5: Luo uusi osio asennusta varten

Aiomme varata 2 Mt osion BIOS-tilan GRUBin ydinkuvalle, 768 Mt käynnistysosion ja 128 Mt EFI-tiedostojärjestelmälle, ja jäljellä oleva tila varataan käyttäjä, johon voit tallentaa haluamasi tiedot.

Käytä annettuja komentoja yksitellen levyn osiointiin:

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

Voit muuttaa osioiden nimiä käyttämällä annettuja komentoja:

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

Listaa äskettäin luodut osiot käyttämällä seuraavaa komentoa:

sgdisk --print $DEV

Vaihe 6: Käynnistys- ja käyttöjärjestelmäosion salaus

Vain HDD- ja SATA SSD -levyille

Aloitetaan salausprosessimme salaamalla käynnistysosio. Sinun on kirjoitettava YES isoilla kirjaimilla, kun se pyytää lupaasi.

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

Salataan nyt käyttöjärjestelmäosio seuraavalla komennolla:

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

Lisäasennusta varten meidän on avattava salattujen osioiden lukitus käyttämällä seuraavia komentoja avataksemme käynnistys- ja käyttöjärjestelmäosioiden lukituksen.

cryptsetup open ${DEV}1 LUKS_BOOT
cryptsetup open ${DEV}5 ${DM}5_crypt
Vain Nvme SSD -levyille

Tämä vaihe on käytettävissä vain, jos järjestelmässäsi on Nvme SSD. Käytä seuraavia komentoja käynnistys- ja käyttöjärjestelmän osioiden salaamiseen:

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

Avataan nyt salattujen osioiden lukitus, koska se on tarpeen, jotta voimme käsitellä asennuksen edelleen.

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

Vaihe 7: Alusta osiot

Tämä on yksi tärkeimmistä vaiheista, sillä jos sitä ei tehdä, asennusohjelma poistaa kyvyn kirjoittaa tiedostojärjestelmään. Aloita muotoilu seuraavalla komennolla:

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

Alusta EFI-SP-osio (vain HDD- ja SATA-SSD-levyille)

Jos järjestelmäsi on varustettu kiintolevyllä ja SATA SSD:llä, käytä seuraavaa komentoa alustaaksesi se FAT16:een:

mkfs.vfat -F 16 -n EFI-SP ${DEV}3
Alusta EFI-SP-osio (vain Nvme SSD -levyille)

Joten jos järjestelmäsi käyttää Nvme SSD:tä, voit helposti alustaa 3. osion seuraavalla komennolla:

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

Vaihe 8: Luo loogisia volyymiryhmiä

LVM on yksi niistä toiminnoista, joita ihailen eniten. Vaikka et käyttäisi LVM:n ominaisuuksia, sen ottaminen käyttöön ei vahingoita järjestelmääsi ja tulevaisuudessa, jos tarvitset LVM:n tarjoamia ominaisuuksia, voit käyttää niitä ilman ongelmia.

Tässä aiomme varata 4 Gt swap-osioon, joka käyttää levytilaa, kun järjestelmän muisti loppuu. Varaamme myös 80 % vapaasta tilasta rootille, jotta käyttäjä voi hyödyntää levytilaa maksimissaan.

Voit tietysti muuttaa sitä käyttötapautesi mukaan ja jopa muokata sitä tulevaisuudessa. Käytä annettuja komentoja yksitellen ja järjestelmäsi on LVM-valmis hetkessä:

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

Vaihe 9: Käynnistä Ubuntu Installer

On aika käynnistää Ubuntu-asennusohjelma. Pienennä asennusohjelma ja löydät asennusohjelman aloitusnäytöltä.

Käytätkö normaalia tai minimaalista asennusta, se on sinun päätettävissäsi, mutta jotkin vaihtoehdot on valittava, jotta saat paremman käyttökokemuksen, ja ne ovat päivitysten ja kolmannen osapuolen ohjaimien ja koodekkien asentaminen, jotka varmasti parantavat käyttökokemustasi ja säästävät aikaa asennuksen jälkeen.

Valitse asennustyypin osiosta vaihtoehto "Jotain muuta", joka auttaa meitä hallitsemaan juuri manuaalisesti luomiamme osioita.

Täältä löydät useita osioita samalla nimellä. Voit helposti tunnistaa alkuperäisen, koska asentaja mainitsee otetun koon. Aloitetaan nyt sovelluksesta LUKS_BOOT.

Valitse LUKS_BOOT ja napsauta muutospainiketta.

Valitse nyt ensimmäisestä vaihtoehdosta Ext4-päiväkirjaustiedostojärjestelmä. Ota käyttöön Muotoile osio -vaihtoehto ja valitse liitoskohdassa /boot.

Valitse vastaavasti ubuntu–vg-root ja napsauta Muuta-painiketta. Valitse tässä Ext4-kirjaustiedostojärjestelmä ensimmäisessä vaihtoehdossa. Ota Muotoile osio -vaihtoehto käyttöön ja valitse viimeisessä kohdassa "/ " -vaihtoehto.

Valitse nyt ubuntu–vg-swap_1 ja napsauta Asetukset-painiketta. Valitse vaihtoaluevaihtoehto ja siinä se.

Viimeistele muutokset ja valitse nykyinen sijaintisi.

Kun olet luonut käyttäjän, älä napsauta Asenna nyt -painiketta, koska aiomme käyttää joitain komentoja heti uuden käyttäjän luomisen jälkeen. Luo käyttäjä vahvalla salasanalla.

Vaihe 10: Ota salaus käyttöön GRUBissa

Heti kun olet luonut käyttäjän, avaa päätelaite ja käytä annettuja komentoja, sillä aiomme ottaa salauksen käyttöön GRUBissa ennen asennuksen alkamista:

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

Kun asennus on valmis, napsauta Jatka testausta, koska olemme menossa joihinkin muutoksiin, jotka edellyttävät edelleen käynnistysaseman käyttöä.

Vaihe 11: Ubuntun asennuksen jälkeinen määritys

Tässä osiossa asennamme asemia, asennamme tarvittavat paketit ja teemme joitain tarvittavia muutoksia, jotta salaus toimii. Joten avaa terminaali ja noudata annettuja vaiheita:

Luo Chroot-ympäristö

Chrootilla päästään osioihin, joihin olemme juuri asentaneet Ubuntun. Käytä annettuja komentoja, joista yksi sisältää aseman asentamisen ja chroot-ympäristön luomisen.

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

Asenna Cryptsetup-initramfs-paketti

Cryptsetup-paketti vastaa salattujen tiedostojen lukituksen avaamisesta käynnistyksen yhteydessä, ja voimme asentaa sen helposti annetulla komennolla:

apt install -y cryptsetup-initramfs
Lisää avaintiedostoja ja tukiskriptejä

Avaintiedostoa käytetään salasanan ristiintarkistamiseen salauksen purkamista varten, ja se tallennetaan osoitteeseen /boot/, joka on myös salattu osio. Käytä annettua komentoa jatkaaksesi eteenpäin:

echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook 
echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf 
Luo avaintiedosto ja lisää se LUKSiin

Aiomme luoda 512 tavun avaintiedoston, tehdä siitä turvallisen ja lisäämme myös salattuja taltioita. Voit saavuttaa sen käyttämällä annettuja komentoja:

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
Avainten lisääminen tiedostoon boot_os.file ja Crypttab (vain HDD- ja SATA-SSD-levyille)

Tämän oletetaan olevan yksi viimeisistä vaiheista, koska olemme melko lähellä järjestelmämme onnistunutta salausta. Lisää avaimia boot_os.key-tiedostoon käyttämällä seuraavaa komentoa.

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

Voit lisätä avaimia crypttabiin käyttämällä seuraavaa komentoa:

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
Avainten lisääminen tiedostoon boot_os.file ja Crypttab (vain Nvme SSD -levyille)

Jos käytät Nvme SSD:tä, voit käyttää seuraavaa komentoa avainten lisäämiseen boot_os.file-tiedostoon:

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

Vastaavasti voit lisätä avaimia crypttabiin käyttämällä seuraavaa komentoa:

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
Päivitä Initialramfs-tiedostot

Päivitetään nyt initialramfs-tiedostot, koska se lisää lukituksen poistokomentosarjat ja avaintiedoston seuraavalla komennolla:

update-initramfs -u -k all

Käynnistä nyt järjestelmä uudelleen, niin pääset GRUB-salasanakehotteeseen käynnistääksesi järjestelmäsi.

Tämän oppaan päätarkoituksena oli tehdä helposti seurattava menettely, jossa aloittelijakin voi suojata järjestelmänsä ottamalla käyttöön täyden levyn salauksen Ubuntussa.