LUKS Lemeztitkosítás

Ha fontos adatokkal dolgozol, a teljes lemeztitkosítás nem opció, hanem alapkövetelmény. Linuxon erre a LUKS (Linux Unified Key Setup). Nézzük meg a legfontosabb lépéseket a létrehozástól a biztonságos lezárásig!

1. A kötet előkészítése és formázása

Első lépésként kijelöljük a partíciót (pl. /dev/sdb1), és felkészítjük a titkosításra. Vigyázat: minden adat törlődik az adott partíción!

# Titkosított konténer létrehozása
sudo cryptsetup luksFormat /dev/sdb1

# A titkosított kötet "kinyitása" (leképezése egy névre)
sudo cryptsetup open /dev/sdb1 titkos_adatok

Ezután a kötet elérhető lesz a /dev/mapper/titkos_adatok útvonalon. Formázzuk meg:

sudo mkfs.ext4 /dev/mapper/titkos_adatok
sudo mount /dev/mapper/titkos_adatok /mnt/biztonsagos

Automatikus mount-olás

Több megoldás is létezik, én a kulcsfájl használatát fogom bemutatni. A kulcsfájl (keyfile) használata kényelmes, mert így nem kell manuálisan jelszót gépelned minden csatolásnál. A kulcsfájlt tárolhatod a rendszerpartíción (ha az titkosítva van) vagy egy külső USB-meghajtón is.

Így állítsd be a /dev/sda4 kötethez:

1. A kulcsfájl létrehozása

Hozz létre egy véletlenszerű adatokat tartalmazó fájlt, és állíts be rajta szigorú jogosultságokat, hogy csak a root láthassa:

bash
sudo dd if=/dev/urandom of=/root/adat_kulcs bs=512 count=8
sudo chmod 400 /root/adat_kulcs

2. A kulcs hozzáadása a LUKS kötethez

Mivel már van jelszavad a kötethez, a kulcsfájlt egy új „slot”-ba regisztráljuk. Itt meg kell adnod a korábban beállított jelszót:

bash
sudo cryptsetup luksAddKey /dev/sda4 /root/adat_kulcs

3. Az automatikus feloldás beállítása (/etc/crypttab)

Ahhoz, hogy a rendszer felismerje a kulcsfájlt indításkor, szerkeszd a crypttab fájlt:

bash
sudo nano /etc/crypttab

Adj hozzá egy sort (a titkos_adat a tetszőleges név, amit a kötetnek adsz):
text
titkos_adat /dev/sda4 /root/adat_kulcs luks

4. Az automatikus csatolás beállítása (/etc/fstab)

Most add meg, hova csatolja a rendszer a feloldott kötetet:

bash
sudo nano /etc/fstab
/dev/mapper/titkos_adat  /mnt/adatok  ext4  defaults  0  2

(Győződj meg róla, hogy a /mnt/adatok mappa létezik!)

5. Tesztelés

Ne indítsd újra a gépet rögtön! Ellenőrizd, hogy működik-e a konfiguráció:

bash
sudo cryptdisks_start titkos_adat
sudo mount -a

Kiegészítés

Amennyiben egy aktív kötetet szeretnénk titkosítani, először le kell azt választanunk. Arra vigyázni kell, hogy a titkosított kötet létrehozása az összes rajta lévő adat elvesztését jelenti.

1. A partíció lecsatolása az umount parancs segítségével történik.

2. Amikor nem akar engedni: A „Busy” hiba és az erőltetett leválasztás

A LUKS kötetek lezárása előtt muszáj lecsatolni (unmount) a fájlrendszert. Gyakran előfordul azonban, hogy egy folyamat „fogja” a mappát. Hogyan tudjuk kideríteni, hogy milyen folyamat használja a kötetet.

sudo lsof /mnt/biztonsagos vagy fuser -m /mnt/biztonsagos

Ha nem akarsz drasztikus lenni, az alábbi parancsot javaslom, viszont egy olyan folyamat esetén, amely folyamatosan használja a kötetet, ez nem fog működni.

sudo umount -l /mnt/biztonsagos

Drasztikus megoldás:

sudo fuser -km /mnt/biztonsagos

3. A kör bezárul: Biztonságos lezárás
Miután a leválasztás (umount) megtörtént, a LUKS konténert is vissza kell zárni, hogy az adatok újra titkosítva legyenek és a titkosító kulcs kikerüljön a memóriából:

bash
# A leképezés megszüntetése
sudo cryptsetup close titkos_adatok
Körültekintően használja a kódot.

Pro Tipp

Mindig ellenőrizd a lezárás előtt a mount paranccsal, hogy a kötet valóban lecsatlakozott-e. A LUKS csak akkor engedi a close parancsot, ha már semmi sem használja a virtuális eszközt.