Giunsa ang Pag-encrypt sa Tibuok Disk Samtang Nag-install sa Ubuntu 22.04


Ang mga distribusyon sa Linux nakahimo og usa ka maayong trabaho aron makakuha og dugang nga proteksyon pinaagi sa pagdala sa bug-os nga disk encryption ug pagkahimong lider sa merkado.

Ang Ubuntu usab gihugpong sa daghang mga bahin ug ang pag-encrypt sa disk usa niini. Ang pagpagana sa bug-os nga disk encryption hinungdanon alang sa mga gusto nga masiguro ang ilang pribado nga datos sa bisan unsang gasto bisan kung ang imong aparato gikawat tungod kay kinahanglan nimo nga isulod ang passcode sa matag boot.

Ang bug-os nga disk encryption mahimo lamang nga mahimo samtang nag-instalar sa Operating System tungod kay ang bug-os nga disk encryption magamit sa matag partisyon sa imong drive nga naglakip usab sa boot ug swap partition. Ug kini ang hinungdan ngano nga kinahanglan namon nga himuon kini gikan sa pagsugod sa pag-install.

Kini nga lakang-sa-lakang nga panudlo mogiya kanimo kung giunsa nimo mahimo ang bug-os nga pag-encrypt sa disk sa Ubuntu 22.04 ug alang niana nga katuyoan, gamiton namon ang LVM (Logical Volume Management) ug LUKS (alang sa katuyoan sa pag-encrypt).

  • Usa ka bootable nga USB drive.
  • Koneksyon sa internet nga adunay igo nga bandwidth aron ma-download ang dagkong mga file.
  • Gipaandar sa UEFI nga motherboard.

Apan sa dili pa moambak sa proseso, magbaton kita og mubo nga ideya mahitungod sa mga kauswagan ug kadaut sa Disk Encryption.

Ang matag bahin gihugpong sa mga kauswagan ug kahusay niini ug kini magamit usab sa kaso sa disk encryption. Mao nga kanunay nga maayong ideya nga mahibal-an kung unsa ang mapaabut ug kung unsa ang dili gikan sa mga lakang nga himuon.

  • Gipanalipdan ang imong sensitibo nga datos gikan sa pagpangawat - Oo, kini ang labing makapahinam nga bahin sa pag-encrypt sa disk tungod kay ang imong pribado nga datos kanunay nga masiguro bisan kung ang imong sistema gikawat. Kini nga punto mas angay sa kaso sa mga mobile device sama sa mga Laptop nga adunay mas daghang kahigayonan nga kawaton.
  • Gitipigan ang imong data gikan sa pagpaniid – Ang tsansa nga ma-hack ang imong sistema gamay ra sa Linux apan mahimo kung ang tiggamit dili igo nga kaalam aron mapanalipdan ang iyang kaugalingon gikan sa dili maayo nga mga scam. Bisan kung giatake ang imong kompyuter, ang hacker dili maka-access sa imong data nga usa pa ka ebidensya nga makapaarang niini.

  • Epekto sa Pagganap – Magamit lang kini sa mga sistema nga gamay ra ang mga kahinguhaan tungod kay ang modernong kompyuter makadumala sa pag-encrypt nga wala’y bisan unsang isyu apan sa gihapon makit-an nimo ang usa ka gamay nga hinay nga pagbasa ug pagsulat nga katulin samtang gigamit.

Sumala sa amon, ang bug-os nga disk encryption mao ang kanunay nga maalamon nga pagpili tungod kay kini nagtanyag daghang mga pros samtang kini dali nga mabuntog ang mga kontra sa pipila pa nga mga kapanguhaan. Mao nga kung ok ka sa usa ka gamay nga pagkunhod sa performance alang sa mas maayo nga seguridad, sugdan nato ang proseso sa pag-encrypt.

Pag-encrypt sa Tibuok Disk sa Ubuntu 22.04

Kini usa ka bag-o nga mahigalaon nga giya ug kini kinahanglan nga mogiya kanimo sa matag lakang samtang ang mga advanced nga tiggamit mahimo pa nga makabenepisyo gikan niini.

Bisitaha ang opisyal nga panid sa pag-download sa Ubuntu ug pilia ang bersyon sa Ubuntu 22.04 LTS, nga awtomatiko nga magsugod sa pag-download niini.

Aron ma-flash ang imahe sa Ubuntu ISO sa USB drive, gamiton namon ang Balena Etcher, nga awtomatiko nga makit-an ang OS nga imong gigamit karon. Kung nahuman na nimo ang pag-install sa Balena Etcher, i-install kini sa imong sistema.

Aron masunog ang ISO file, ablihi ang balenaEtcher ug pilia ang opsyon nga \Flash gikan sa file ug pilia ang bag-o lang na-download nga Ubuntu 22.04 ISO file.

Sunod, pilia ang drive diin gusto namon nga i-flash ang ISO file. Pilia ang opsyon nga \Select target ug ilista niini ang tanang gi-mount nga drive sa imong system. Gikan sa available nga mga opsyon, pilia ang USB o DVD drive.

Kung malampuson namong na-flash ang among USB drive, panahon na nga mag-boot gikan sa USB drive. Aron ma-boot gikan sa USB, i-reboot ang imong sistema ug gamita ang F10, F2, F12, F1, o DEL samtang nag-boot ang imong sistema. Gikan didto, kinahanglan nimong pilion ang imong USB ingon imong boot drive.

Sa higayon nga kita ma-boot pinaagi sa USB, kita makapadayon sa partitioning ug encryption nga bahin. Mahimong mabug-atan niini ang pipila ka mga bag-ong tiggamit tungod kay mahimo’g kini tan-awon nga komplikado apan kinahanglan nimo nga sundon ang matag lakang ug makuha nimo ang imong sistema nga ma-encrypt sa wala’y oras.

PAHINUMDOM: Ang ubang mga sugo lahi para sa Nvme SSD users busa palihog basaha ang instruksiyon sa dili pa i-apply ang command kay gibulag namo kini kung gikinahanglan.

Sa higayon nga mag-boot ka sa Ubuntu, makadawat ka og duha ka kapilian: Sulayi ang Ubuntu ug I-install ang Ubuntu. Samtang mag-encrypt kami sa mga partisyon, gikinahanglan nga mogamit kami usa ka buhi nga palibot. Busa pilia ang una nga kapilian nga gimarkahan nga \Sulayi ang Ubuntu.

Pag-klik sa Mga Kalihokan nga nahimutang sa taas nga wala ug i-type ang pagpangita sa Terminal. Hit Enter sa unang resulta ug kini mag-abli sa Terminal alang kanamo. Sunod, ibalhin sa gamut nga tiggamit, tungod kay ang tanan nga mga mando nga among gamiton magkinahanglan mga pribilehiyo sa administratibo.

$ sudo -i

Ingon nga ang umaabot nga mga sugo magsalig kaayo sa BASH, ibalhin nato gikan sa atong default nga kabhang ngadto sa BASH pinaagi sa mosunod nga sugo:

# bash

Sunod, hibal-i ang target sa pag-install, kinahanglan namon nga ilista ang tanan nga gi-mount nga mga aparato sa pagtipig pinaagi sa mosunud nga mando:

# lsblk

Dali nimong mailhan ang target nga partisyon pinaagi sa gidak-on ug sa kadaghanan nga mga kaso, tawgon kini nga sda ug vda. Sa akong kaso, kini sda nga adunay gidak-on nga 20GB.

Kini nga seksyon magamit lamang kanimo kung ikaw naggamit sa HDD alang sa SATA SSDs. Mao nga kung ikaw usa ka tawo nga adunay Nvme SSD, ang paggahin sa mga variable nga ngalan gipatin-aw sa ubos nga lakang.

Ingon nga ang akong target nga aparato ginganlan og sda, gikinahanglan nako nga gamiton ang mosunod nga sugo:

# export DEV="/dev/sda"

Kung ikaw usa ka tawo nga naggamit sa Nvme, ang laraw sa pagngalan alang sa imong target nga aparato mahimo nga /dev/nvme$ {CONTROLLER}n$ {NAMESPACE}p$ {PARTITION} mao nga kung adunay usa ra ka partisyon, mahimo kini lagmit adunay susama nga ngalan sa gihatag nga sugo:

# export DEV="/dev/nvme0n1"

Karon, atong i-configure ang variable alang sa naka-encrypt nga device mapper pinaagi sa mosunod nga sugo:

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

Ang matag Nvme device magkinahanglan og 'p' sa suffix busa gamita ang gihatag nga mga sugo aron makadugang og suffix:

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

Aron makahimo og bag-ong GPT partition table, atong gamiton ang sgdidk utility gamit ang mosunod nga command:

# sgdisk --print $DEV

Karon mahimo na namon nga luwas nga makuha ang tanan nga datos nga magamit apan kung imong gi-install kini nga sistema kauban ang mga naa na nga partisyon, palihug likayi kini nga lakang.

Aron ma-format ang datos, gamita ang mosunod nga sugo:

# sgdisk --zap-all $DEV

Magagahin kami og 2MB partition para sa BIOS-mode GRUB's core image, 768MB boot partition, ug 128MB para sa EFI file system, ug ang nahabilin nga luna igahin sa user diin mahimo nimong tipigan ang imong gusto nga data.

Gamita ang gihatag nga mga sugo sa usag usa sa pagbahin sa imong drive:

# 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

Aron mabag-o ang ngalan sa mga partisyon, gamita ang gihatag nga mga mando:

# 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

Aron ilista ang bag-o nga gihimo nga mga partisyon, gamita ang mosunod nga sugo:

# sgdisk --print $DEV

Atong sugdan ang atong proseso sa pag-encrypt pinaagi sa pag-encrypt sa boot partition. Kinahanglan nimo nga i-type ang YES sa tanan nga mga takup kung kini mangayo sa imong pagtugot.

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

Karon, atong i-encrypt ang OS partition pinaagi sa mosunod nga sugo:

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

Alang sa dugang nga pag-instalar, kinahanglan natong ablihan ang mga naka-encrypt nga partisyon pinaagi sa paggamit sa mosunod nga mga sugo aron maablihan ang boot ug OS partitions.

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

Kini nga lakang magamit lamang kung ang imong sistema nasangkapan sa Nvme SSD. Gamita ang mosunod nga mga sugo aron ma-encrypt ang boot ug OS partitions:

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

Karon, atong ablihan ang mga naka-encrypt nga partisyon tungod kay kini gikinahanglan alang kanato sa pagproseso sa dugang sa pag-instalar.

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

Kini usa sa labing hinungdanon nga mga lakang nga kung wala pa mabuhat, ang installer mag-disable sa abilidad sa pagsulat sa file-system. Gamita ang mosunod nga sugo aron magsugod sa pag-format:

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

Kung ang imong sistema nasangkapan sa HDD ug SATA SSD, gamita ang mosunud nga mando aron ma-format kini sa FAT16:

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

Mao nga kung ang imong sistema naggamit sa Nvme SSD, dali nimo ma-format ang 3rd partition gamit ang mosunud nga mando:

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

Ang LVM usa sa mga gimbuhaton nga labi nakong gidayeg. Bisan kung dili nimo gamiton ang mga bahin sa LVM, ang pagpagana niini dili makadaot sa imong sistema ug sa umaabot, kung kinahanglan nimo ang bisan unsang bahin nga gihatag sa LVM, mahimo nimo kini gamiton nga wala’y mga isyu.

Dinhi, atong igahin ang 4GB sa swap partition nga mogamit sa disk space kung ang sistema nahutdan sa memorya. Gigahin usab namo ang 80% nga libre nga luna sa pag-root aron magamit sa user ang iyang disk space sa labing taas nga potensyal.

Siyempre, mahimo nimo kini usbon sumala sa imong mga kaso sa paggamit ug bisan sa pag-usab niini sa umaabot. Gamita ang gihatag nga mga sugo sa tagsa-tagsa ug ang imong sistema mahimong andam sa LVM sa dali nga panahon:

# 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

Panahon na sa pagsugod sa installer sa Ubuntu. Pagminus lang sa installer ug makit-an nimo ang installer sa home screen.

Kung moadto ka sa normal nga pag-install o gamay, naa ra kanimo apan ang pipila nga mga kapilian kinahanglan nga mapili aron makakuha ka usa ka labi ka maayo nga kasinatian, ug kana ang pag-install sa mga update ug mga driver ug codec sa ikatulo nga partido nga siguradong makapauswag sa imong kasinatian sa gumagamit ug makatipig. imong oras pagkahuman sa pag-install.

Sa seksyon sa tipo sa pag-install, pilia ang kapilian nga gimarkahan nga \Usa pa ka butang nga makatabang kanamo sa pagdumala sa mga partisyon nga bag-o lang namon gibuhat nga mano-mano.

Dinhi, makit-an nimo ang daghang mga partisyon nga adunay parehas nga ngalan. Dali nimo mailhan ang orihinal tungod kay ang installer maghisgot sa gikuha nga gidak-on. Karon, magsugod ta sa LUKS_BOOT.

Pilia ang LUKS_BOOT ug i-klik ang change button.

Karon, pilia ang Ext4 journaling file system sa unang kapilian. I-enable ang Format sa opsyon sa partition ug sa mount point, pilia ang /boot.

Sa susama, pilia ang ubuntu-vg-root ug i-klik ang change button. Dinhi, pilia ang Ext4 journaling file system sa unang kapilian. I-enable ang Format sa opsyon sa partition ug sa kataposan, pilia ang opsyon nga \/.

Karon, pilia ang ubuntu-vg-swap_1 ug i-klik ang mga kapilian nga buton. Pilia ang kapilian sa swap area ug mao kana.

Tapuson ang mga pagbag-o ug pilia ang imong lokasyon karon.

Pagkahuman sa paghimo sa tiggamit, ayaw pag-klik sa buton sa pag-install karon tungod kay mag-aplay kami pipila ka mga mando pagkahuman sa paghimo usa ka bag-ong tiggamit. Paghimo sa user nga adunay lig-on nga password.

Pagkahuman nimo paghimo usa ka user, ablihi ang imong terminal ug gamita ang gihatag nga mga mando ingon nga himuon namon ang pag-encrypt sa GRUB sa dili pa magsugod ang pag-install:

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

Kung nahuman na ang pag-install, pag-klik sa pagpadayon sa pagsulay samtang moadto kami sa pipila nga mga pagbag-o nga kinahanglan pa namon nga mogamit usa ka bootable drive.

Niini nga seksyon, mag-mount kami sa mga drive, mag-install sa gikinahanglan nga mga pakete, ug maghimo pipila nga kinahanglan nga mga pagbag-o aron mahimo ang pag-encrypt. Busa ablihi ang imong terminal ug sunda ang gihatag nga mga lakang:

Gigamit ang Chroot aron ma-access ang mga partisyon diin bag-o lang namon na-install ang Ubuntu. Gamita ang gihatag nga mga sugo nga usa niini naglakip sa mounting drive ug paghimo sa chroot-environment.

# 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

Ang Cryptsetup nga pakete ang mahimong responsable sa pag-unlock sa mga naka-encrypt nga mga file sa oras sa pag-boot ug dali namon kini ma-install pinaagi sa gihatag nga mando:

# apt install -y cryptsetup-initramfs

Ang yawe nga file gamiton sa pag-cross-check sa passcode para sa decryption ug kini i-save sa /boot/ nga usa usab ka encrypted partition. Gamita ang gihatag nga sugo aron magpadayon pa:

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

Maghimo kami usa ka yawe nga file nga 512 bytes, himuon kini nga luwas, ug usab magdugang mga na-encrypt nga mga volume. Mahimo nimo kana pinaagi sa paggamit sa gihatag nga mga mando:

# 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

Kini mao unta ang usa sa mga katapusan nga mga lakang ingon nga kita hapit na sa malampuson nga pag-encrypt sa atong sistema. Gamita ang mosunod nga sugo aron idugang ang mga yawe sa boot_os.key file.

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

Aron makadugang sa mga yawe sa crypttab, gamita ang mosunod nga sugo:

# 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

Kung naggamit ka sa Nvme SSD, mahimo nimong gamiton ang mosunud nga mando aron idugang ang mga yawe sa boot_os.file:

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

Sa susama, aron makadugang sa mga yawe sa crypttab, gamita ang mosunod nga sugo:

# 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

Karon atong i-update ang initialramfs files kay kini magdugang sa unlocking scripts ug key-file pinaagi sa mosunod nga command:

# update-initramfs -u -k all

Karon, i-reboot ang imong sistema ug dad-on ka sa GRUB pass-phrase prompt aron ma-boot ang imong sistema.

Ang panguna nga katuyoan sa luyo niini nga giya mao ang paghimo usa ka dali nga sundon nga pamaagi diin bisan ang mga bag-ohan makasiguro sa ilang sistema pinaagi sa pagpaandar sa tibuuk nga pag-encrypt sa disk sa Ubuntu.