Divatos téma az utóbbi időben az adatbiztonság. Ez persze nem csak azt rejti magában, hogy nem veszítünk adatokat, hanem azt is, hogy amennyiben illetéktelen kézbe kerülne adathordozónk, abban az esetben sem tudja más felhasználni azokat. Természetesen a piacon fellelhető rengeteg software erre a célra, minden féle operációs rendszer számára, én viszont most azt kívánom bemutatni, hogy Linux segítségével milyen egyszerűen és ingyen gondoskodhatunk erről.

A linux is természetesen több megoldást támogat, én most az egyik legegyszerűbb megoldást fogom bemutatni, amit a 2.6-os kernelétől támogat. Ez pedig nem más mint a dm-crypt. Fontos, hogy ez a megoldás támogatja a LUKS (Linux Unified Key Setup)-t. Ez a kifejezés gyakran előkerül amennyiben lemeztitkosításról, és azok jelszókezeléséről van szó. Ahogy említettem több féle titkosító eljárás is létezik, és ezek sok esetben egymással inkompatibilis formátumokban tárolják a jelszavakat. Erre megoldás a LUKS ami egy platformfüggetlen szabványos formátumot definiál, hogy ha jelszókezelés megvalósítása biztonságosan és jól dokumentáltan működjön.

Előkészületek

Én Ubuntu 10.04-en fogom bemutatni a dolog működését, de amennyiben nincsenek alapból a dm-crypt szükséges csomagok telepítve, akkor a következő képen tehetjük meg.

# apt-get install cryptsetup

Illetve bizonyosodjunk meg, hogy a következő kernel modulok be vannak-e töltve:

# modprobe dm-mod
# modprobe dm-crypt
# modprobe aes

Disk titkosítása

Feltételezzük, hogy van egy felhasználható disken egy előkészítet LINUX partíció. Ez az én esetemben ezt a /dev/sdb1 fogja megtestesíteni. A következőkben inicializálni fogjuk a disket, létrehozva a megfelelő LUKS formátumú titkosítási struktúrát. Ezek után meg kell nyitnunk ezt a titkosított eszközt a megadott passphrase-el, majd ezzel egy időben a device mapper létre fogja hozni a diskünk és partíciónk megfelelő másolatát. Ez lesz amit használatba vehetünk. Tehát a következő történik:

Natúr disk partició [===] DM-CRPY titkosít [===] Device Mapper [===] Mountolható emulált device

Az ehhez a folyamathoz tartozó parancsok:

# cryptsetup luksFormat /dev/sdb1

Disk Megnyitása

Ezzel előkészítettük a disket, és a megfelelő kulcsal letitkosítottuk. Ezek után:

# cryptsetup luksOpen /dev/sdb1 titkositott

A fenti paranccsal pedig megnyitottuk olvasásra. Természetesen igazolnunk kellett a megfelelő passphrase-vel magunkat (Ugyan az amit a létrehozáskor megadtunk). Ezek után a parancs végén lévő néven a device mapper elérhetővé teszi az új már írható olvasható device-t. Ez az én esetemben /dev/mapper/titkositott. Mostmár rakhatunk rá filesystem-et, és mountolhatjuk.

# mkfs.ext3 /dev/mapper/titkositott
# mount /dev/mapper/titkositott /mnt/
# df -h /mnt/

Titkosított disk lecsatolása

Először is a filerendszert csatoljuk le.
# umount /mnt

Aztán a device mapperből csatoljuk le az device linket, amin keresztül eddig használtuk a letitkosított disket.

# cryptsetup luksClose titkositott

Több Passphrase megadása

Lehetőségünk van több passphrase megadására is és amennyiben több van törölhetünk is belőlük.
# cryptsetup luksAddKey /dev/sdb1

Illetve a törlés, ahol meg kell azt is adnunk hanya passphrase-t akarjuk törölni:
# cryptsetup luksDelKey /dev/sdb1 1

Ilyen egyszerű az egész.

Természetesen van lehetőség arra, hogy automatizáljuk valamennyire a dolgot. Az evidens, hogy az /etc/fstab-ba felvihetjük a device mapper device mountolását, viszont az csupán nem elég, hiszel először tuksOpen-el meg kell nyitni a titkosított diszket, hogy az mountolható lehessen. Ezért egy új config file-t, az /etc/crypttab kell felkészítenünk még pluszban.