Kulcsszó - luks

Az alábbi tutorialban leírom, miként lehet titkosított merevlemezt készíteni és menedzselni Linux alatt.

Figyelem! A leírás követése visszavonhatatlan adatvesztést okoz a partíción / merevlemezen.
Fontos, hogy a megadott titkosítási jelszót jegyezzük meg, különben búcsút mondhatunk adatainknak!

apt-get install cryptsetup
cryptsetup -y -v luksFormat /dev/sdb1 # a /dev/sdb1 helyett megadjuk a titkosítani kívánt partíció / merevlemez elérési útvonalát
cryptsetup luksOpen /dev/sdb1 secretdisk # a "secretdisk" helyett megadjuk a titkosított partíció / merevlemez fantázianevét, amivel később hivatkozni fogunk rá
apt-get install pv
pv -tpreb /dev/zero | dd of=/dev/mapper/secretdisk bs=128M # azért, hogy ne okozzon problémát az esetleg a diszken lévő régi adat, felülírjuk azt nullákkal
mkdir -p /mnt/secretdisk # elkészítjük a csatolási pontot
cd /etc && echo "/dev/mapper/secretdisk /mnt/secretdisk ext4 defaults,noauto 0 1" >> fstab # beállítjuk fstabba a csatolási pontot
mkfs.ext4 /dev/mapper/secretdisk # elkészítjük a fájlrendszert

A fenti leírás után teszteljük a titkosított kötet működését:
mount /dev/mapper/secretdisk
df -H && cd /mnt/secretdisk && ls -l

Ha le szeretnénk csatolni a crypt-elt kötetet, a következőt kell tennünk:
umount /mnt/secretdisk # lecsatoljuk a kötetet
cryptsetup luksClose secretdisk # bezárjuk a cryptet

Ha újra fel szeretnénk csatolni a követet, csak a következő parancsokat kell kiadnunk:
cryptsetup luksOpen /dev/sdb1 secretdisk # kinyitjuk a cryptet
mount /mnt/secretdisk # felcsatoljuk a kötetet

Hogyan tudjuk megváltoztatni, törölni a jelszavunkat, vagy épp újat hozzáadni?
Minden esetben a fentiek szerint le kell csatolnunk a cryptelt kötetet, majd:

Jelszómódosítás:
cryptsetup luksChangeKey /dev/sdb1

Új jelszó hozzadása (összesen nyolc jelszó tartozhat egy kötethez):
cryptsetup luksAddKey /dev/sdb1

Jelszó törlése (egy jelszónak legalább kell maradnia):
cryptsetup luksRemoveKey /dev/sdb1

Mit tegyünk, ha jelszó megadása nélkül akarjuk felcsatolni a kötetet? Először is gondoljuk át, hogy ez esetben egy kulcsfájlt kell létrehoznunk, ami ha illetéktelenek kezébe kerül, akkor hozzá fognak tudni férni a titkosított köteten tárolt adatainkhoz.
dd if=/dev/urandom of=/root/.secretdisk.keyfile bs=1024 count=4 # elkészítjük a kulcsfájlt
chmod 400 /root/.secretdisk.keyfile # beállítjuk rajta a jogosultságokat
cryptsetup luksAddKey /dev/sdb1 /root/.secretdisk.keyfile # hozzárendeljük azt a kötethez
cd /etc && echo "secretdisk /dev/sdb1 /root/.secretdisk.keyfile luks" >> crypttab