Možnosti šifrovania na linuxe. Šifrovanie home priečinku pomocou fscrypt na F2FS partícii
Predom by som chcel upozorniť, že nie som programátor, ale len pokročilý užívateľ linuxu. Za prípadné nedostatky v článku sa ospravedlňujem.
Šifrovanie partície. LUK1, LUKS2
Inštalátori niektorých distribúcii ako napríklad Calamares podporujú šifrovanie disku pri inštalácii distribúcie. Nastavuje sa to, keď upravujete partície. Šifrovanie disku má nesporné výhody, pretože prečítať obsah disku nežiadúcou osobou je viacmenej nemožné. Ak odovzdáte nezašifrovaný počítač do opravovne, alebo Vám laptop niekto ukradne, dostať sa do histórie prehliadača či dostať sa k uloženým heslám v prehliadači je veľmi jednoduché.
LUKS funguje ako kontajner, ktorý podporuje všetky súborové systémy a môžete si vybrať aké.
Šifrovanie má ale aj svoje nevýhody:
Komplikovanejší backup restore /home partície (hoci aj jednoduchá copy/paste metóda súborov na home partícii by mala stačiť)
komplikácie pri preinštalovaní PC ak chcete zachovať dáta na home partícii. Musíte riešiť problematiku backup restore home partície, alebo home priečinku
hneď po vytvorení šifrovanej partície už značnú časť partície zobrazuje ako obsadenú. (Možno sa jedná o náhodný „šum“ na disku alebo nejaké vyhradený „vyrovnávací“ priestor pre prácu so šifrovanými dátami). Vyvoláva to otázky či sa na nešifrovanú partíciu zmestí viac dát ako na šifrovanú
je možné komplikovanejšie zistiť koľko percent disku je už obsadený
komplikácie pri zmene veľkosti šifrovanej partície. Pomocou grafického programu Disks zadajte odomknúť partíciu a v Gparted môžete zmeniť jej veľkosť. Zväčšiť partíciu ide ľahko, horšie je ju zmenšiť. Zmenšenie partície si môže vyžadovať aj odšifrovanie disku čo je tiež možné, hoci trochu viac komplikované
Rady a tipy pri šifrovaní disku:
nastavte „automatické prihlásenie“ pri inštalácii aby ste nemuseli heslo zadávať dva krát pri zapínaní / bootovaní počítača
nešifrujte /boot partíciu. Nemá to zmysel, nie sú tam šifrované údaje a za tie komplikácie to nestojí
stačí vám šifrovať len home partíciu. Len tam sa nachádzajú šifrované údaje
v KDE Partition Manager môžete vytvoriť LUKS1 partíciu
v grafickom programe Gnome Disks môžete vytvoriť LUKS2 partíciu
to či máte LUKS1 alebo LUKS2 partíciu vám zobrazí Aplikácia Disks
existuje možnosť odstránenia vyžadovania hesla na odšifrovanie disku pri každom prihlásení
existuje možnosť zašifrovať partíciu už nainštalovanej distribúcie, hoci je to komplikovanejšie a treba vyriešiť aj možné komplikácie pri bootovaní
existuje možnosť dešifrovania už zašifrovaného disku. Nie je to to isté ako nevyžadovanie hesla pri prihlasovaní
z grafických správcov partícii Blivet GUI, KDE Partition Manager už boli odstránené funkcionality odšifrovania disku v novších verziách. Staršie návody z internetu neplatia na nové verzie
Odkazy
How to edit/resize an LVM partition graphically (with a GUI)?
GParted won't seem to let me shrink an encrypted partition
How to resize Linux encrypted partition
LUKS2. Zašifrovanie a odšifrovanie už existujúcej partície so súbormi
Hoci viac populárna metóda je najprv vytvoriť prázdny LUKS kontajner na partícii, následne do neho nastaviť súborový systém a až potom ho zaplniť dátami, LUKS plnohodnotne podporuje aj opačný postup. Môžete zašifrovať partíciu na ktorej dáta už sú, pričom nedôjde ku žiadnemu poškodeniu či strate dát. Ďalej môžete odšifrovať šifrovanú partíciu na ktorej sa už nachádzajú dáta, pričom nedôjde ku žiadnemu poškodeniu či strate dát. Testoval som to aj prakticky. (Nie som v tejto veci odborník, ale možno by aplikácia pre LUKS fungovala aj na Androide a Mac OS, nakoľko používajú linuxové jadro, čo by zvyšovalo popularitu takejto multiplatformovej aplikácie)
Viem si predstaviť veľkú popularitu aplikácie s grafickým rozhraním, ktorá by takéto funkcionality podporovala. Zatiaľ takáto aplikácia neexituje. Veľká diera na trhu.
Ak spustíte linux distribúciu z LIVE USB, je možné veľmi jednoducho zašifrovať a odšifrovať partíciu už na nainštalovanom linuxe. Jediný problém je to, že potom treba urobiť aj ďalšie úpravy nastavení, aby sa nerozbilo bootovanie a návody nie sú žiadne. Programy s grafickým rozhraním by takúto prácu významne uľahčili. Praktické využitie by to malo napríklad vtedy ak by ste chceli upgradovať či preinštalovať linux s vlastnou home partíciou. Šifrovanú home partíciu preinštalovať nie je možné
Odkazy
Arch wiki. dm-crypt/Device encryption. ...Re-encrypting an existing LUKS partition
Arch wiki. cryptsetup-reencrypt - reencrypt LUKS encrypted volumes in-place
Návod na Github. Encrypt existing partitions with LUKS2 on Ubuntu 20.04
Blog na medium.com. Encrypting home partition on an already installed Linux machine
Ask Ubuntu. What is the recommended method to encrypt the home directory in Ubuntu 21.04?
Arch Wiki cryptsetup - manage plain dm-crypt, LUKS, and other encrypted volumes
Záchrana dát. Backup restore v prípade šifrovanej systémovej partície LUKS
Dosť ľahko sa môže stať že aktualizácia na linuxe zlyhá, pri zapnutí nastane čierna obrazovka problém s bootovaním. Alebo niečo pokazíte Vy sami a bude nutné preinštalovať ale k uloženým dátam sa nedostanete.
Riešenie ale existuje. Spustite distribúciu z LIVE USB, ak nie je tak nainštalujte aplikáciu Disks a pomocou grafického rozhrania ste schopný šifrovanú partíciu otvoriť as dáta (najmň z home partície) preniesť na druhý USB kľúč alebo externý disk.
Možnosti šifrovania na Linuxe
eCryptfs – dobrá idea, šifrovanie je na úrovni súborového systému. Jediný problém, že tento projekt sa aktuálne nevyvíja, preto sa používať neodporúča. Posledná stabilná verzia rok 2016
fscrypt
Kým LUKS používa tzv. blokové šifrovanie, naopak fscrypt používa šifrovanie na vyššej úrovni, na úrovni súborového systému, čo má mnoho výhod ako napríklad nižšie hardvérové nároky, vyššia výkonnosť. Nižšie využitie RAM, nižšie opotrebovávanie HDD, SSD, nedochádza ku väčšiemu zaplneniu disku ako reálna veľkosť dát
Bitlocker so systému Windows má o niečo vyššiu výkonnosť/rýchlosť ako LUKS. Keby sa odstránili všetky nevýhody fscrypt, tak linuxové šifrovanie by malo len výhody vo všetkých parametroch.
fscrypt podporuje len dva súborové systémy ext4 a F2FS a potenciál je pridať ďalšie
údajne na Linux Mint inštalátore je alebo bola podpora fscrypt na ext4
ak by linux distribúcie pridali fscrypt ako možnosť šifrovania do inštalátorov počas inštalácie, bol by to veľmi dobrý nápad
fscrypt je súčasť linuxového jadra. Treba si dať veľký pozor na odlišovanie pojmov fscrypt, pretože má dve významy. Fscrypt ako súčasť jadra a rozšírenie fscrypt ako bežný linuxový program
ak by bol fscrypt implementovaný aj do nejakej grafickej aplikácie, stal by sa neporovnateľne viac užívateľsky prívetivý, a tiež verím tomu, že by sa stal omnoho populárny
praktické využitie fscrypt spočíva v tom, kedy zašifrujete priečinky a súbory pod partíciou/priečinkom /home. Je to možné urobiť tak, že k odomknutiu home adresára dôjde automaticky potom ako zadáte heslo keď sa klasicky prihlasujete do linuxu
systemd-homed využíva fscrypt pre šifrovanie home na úrovni jadra. Vývojár fscrypt ale kritizuje vývojárov systemd za to, že tam neodstránili veľmi závažný bug, bez ktorého systemd-homed viacmenej nie je možné použiť. Bug bol nahlásený už roku 2021 a stále ho neodstránili. Všeobecne systemd je kritizované za neodstraňovanie bugov, resp. pomalé odstraňovanie
Pozitíva fscrypt
ako jediný unikátny šifrovací systém je na najvyššej úrovni súborového systému, čo ho robí najvýkonnejšie a v mnohých parametroch najviac optimalizované riešenie pre linux
možnosť šifrovania USB kľúča a externého disku
možnosť šifrovania priečinku
predvolené riešenie pre Android a Chrome OS
Negatíva fscrypt
nedokáže šifrovať partície, ale len priečinky a súbory.
Názvy súborov sú šifrované, avšak metadáta súborov nie. Kto nie je nejako extrémne náročný čo sa týka bezpečnosti, tomu to bohate stačí, a táto nevýhoda pre bežného človeka nie je prekážkou
na rozdiel od LUKS nedokáže zašifrovať už existujúci priečinok. Musíte najprv vytvoriť prázdny priečinok, následne označiť ho na šifrovanie a až potom doň vložiť súbory
rovnako na rozdiel od LUKS nie je možné odšifrovať už existujúci zašifrovaný priečinok. Riešenie je len metódou copy paste premiestniť šifrované súbory do nešifrovaného priečinku
FSCRYPT odkazy
Návod autora na GitHub. Fscrypt encrypted existing home directory on ubuntu 22.04
fscrypt. Arch Linuc wiki. Mnoho užitočných návodov
Návod na šifrovanie home adresára Get No-Fuss File-Level Crypto With Fscrypt
Šifrovanie home priečinku pomocou fscrypt na F2FS partícii
F2FS (Flash-Friendly File System) je inovatívny súborový systém optimalizovaný pre SSD. Návod ako nainštalovať Kubuntu alebo Lubuntu na F2FS koreňovú partíciu nájdete tu. Nevyhnutné je ale vytroviť osobitnú /boot partíciu, pretože GRUB nemá plnú podporu pre F2FS.
Tu je konkrétna praktická ukážka ako som šifroval home priečinok na Lubuntu.
V mojom prípade je názov home priečinku, resp. názov prihlasovacieho mena „pc“.
Koreňová F2FS root partícia na ktorej na Lubuntu je v mojom prípade sda4.
Príprava F2FS partície pre šifrovanie. V prípade ext4 to môžete robiť priamo, v prípade F2FS to neide na pripojenej root partícii a odpojiť ju nie je možné, preto som spustil linux distribúciu z Live USB a zadal:
sudo fsck.f2fs -O encrypt /dev/sda4
Aby však fungoval tento príkaz s fsck.f2fs, je treba pred tým nainštalovať závislosť f2fs-tools:
sudo apt install f2fs-tools
Znovu som sa prihlásil do nainštalovaného Lubuntu.
Inštalácia samotného fscrypt
sudo apt install fscrypt libpam-fscrypt
Týmto prírazom sa vytvoria konfiguračné súbory fscrypt:
/etc/fscrypt.conf a na root vznikne skrytý priečinok /.fscrypt
sudo fscrypt setup
Vytvorenie kópie/zálohy home priečinka „pc“. Z priečinka „pc“ sa stal pc.bak
sudo mv /home/pc /home/pc.bak
Vytvorenie budúceho šifrovaného priečinka „pc“
sudo mkdir /home/pc
Prázdny priečinok sa stane šifrovaný. Všetky súbory ktoré doň dáme, budú šifrované. Šifrovaný priečinok možno vytvoriť len prázdny. Ak by obsahoval súbory, nebolo by ho možné šifrovať. Na výber máte rôzne možnosti šifrovania. Ja som si vybral možnosť 1. Šifrovanie a prihlasovanie heslo bude rovnaké
sudo fscrypt encrypt /home/pc --user=pc
Označenie pc priečinka , že má byť home priečinkom. Nastavenie oprávnení tohto priečinka
sudo chown pc:pc /home/pc
sudo chmod go-rwx /home/pc
Skopírovanie súborov z priečinka pc.bak do priečinka pc
sudo rsync -avH /home/pc.bak/ /home/pc
Následne priečinok pc.bak zmažeme či už cez prehliadač súborov, alebo môžete využiť rôzne pokročilé funkcie na zmazanie (ako napríklad program secure-delete), aby sa zmazané súbory nedali dohľadať viac sofistikovanými metódami. Pri klasickom zmazaní existujú nejaké riešenia ako zmazané dáta vyhľadať.
V prípade technických problémov kedy sa nebudete môcť prihlásiť do počítača stále máte možnosť dáta obnoviť z LIVE USB distribúcie. Je ale dôležité mať pred tým zálohovaný súbor .fscrypt. (Vždy si tento priečinok preventívne zálohujte. Jedná sa o skrytý priečinok. Názov skrytého priečinku sa vždy začína bodkou. Mnoho prehliadačov súborov zobrazí skryté priečinky pri klávesovej skratke Ctrl+H). Vložte ho do LIVE USB koreňového root adresára.
Nainštalovať fscrypt
sudo apt install fscrypt
Nainštalovať grafický program Disks
sudo apt-get -y install gnome-disk-utility
V programe Disks pripojiť sda4 partíciu a nájsť adresu šifrovaného home priečinku
Odomknutie šifrovaného home priečinku „pc“
sudo fscrypt unlock /dev/sda4/home/pc
Pohľad z Kubuntu live USB na šifrovaný zamknutý home priečinok na F2FS partícii na ktorej je nainštalované Kubuntu
Odomknutie home priečiku z USB live
Niektoré možnosti zálohovania obnovenia home partície. Odkazy
Ubuntu Home Directory Backups https://knowledgebase.frame.work/ubuntu-home-directory-backups-Sk0j4hb6o
Restore home folder from old /home folder https://unix.stackexchange.com/questions/591526/restore-home-folder-from-old-home-folder
Zálohy Déjà Dup https://apps.gnome.org/sk/DejaDup/
How to backup your home directory in Linux https://www.pragmaticlinux.com/2021/05/how-to-backup-your-home-directory-in-linux/
Pre pridávanie komentárov sa musíte prihlásiť.