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.