Vytvorenie a používanie šifrovaného súborového systému pomocou LUKS. V nasledujúcom texte je vytvorený šifrovaný súborový systém ext3 na /dev/hda7 a šifrovaný swap na /dev/hda5.
aptitude install cryptsetup
- vytvorenie súboru - ak súborový systém pripájame cez loop:
dd bs=4K count=100 if=/dev/urandom of=subor losetup -f # zistenie prveho dostupneho zariadenia loop, napr. /dev/loop0 losetup /dev/loop0 /cesta/subor
V nasledujúcej časti nahradíme /dev/hda7 skutočným názvom diskového oddielu ktorý chceme zašifrovať.
Ak používame súbor tak v nasledujúcich pokynoch nahradíme /dev/loop0 namiesto /dev/hda7.
- prepísanie diskového oddielu náhodnými dátami (vhodné pre zvýšenie zabezpečenia ale nie je to nutné):
dd if=/dev/urandom of=/dev/hda7
Pre 138 GB disk mi prepísanie diskového oddielu náhodnými dátami to trvalo 10 hod. a 10 min. (teda rýchlosť je cca. 13,54 GB/hod.).
- zašifrovanie diskového oddielu a jeho otvorenie:
cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/hda7 cryptsetup luksDump /dev/hda7 cryptsetup luksOpen /dev/hda7 crypthda7
- vytvorenie súborového systému na šifrovanom diskovom oddieli:
mke2fs -j -b 4096 -O dir_index,filetype,resize_inode,sparse_super \ -L oznaceniedisku /dev/mapper/crypthda7 tune2fs -c 37 -i 6m /dev/mapper/crypthda7 # mozne doladenie ext3
- nastavenie automatického pripájania:
pre šifrovaný swap
cat "cryptswaphda5 /dev/hda5 /dev/urandom swap" >> /etc/crypttab
/etc/fstab upravit takto:
/dev/mapper/cryptswaphda5 none swap sw 0 0
pre ext3
cat "crypthda7 /dev/hda7 none luks" >> /etc/crypttab
/etc/fstab upravit takto:
/dev/mapper/crypthda7 /mnt/hda7 ext3 users,noauto,usrquota,grpquota 0 0
- pripojenie súborového systému:
cryptsetup luksOpen /dev/hda7 crypthda7 mount /mnt/hda7
- ukončenie práce so šifrovaným súborovým systémom
umount /mnt/hda7 cryptsetup luksClose crypthda7 # odstranenie mapovania losetup -d /dev/loop0 # ak suborovy system pripajame cez loop
- zmena/pridanie hesla:
cryptsetup luksDump /dev/hda7 # vypisanie informacii o slotoch pre kluce cryptsetup -y luksAddKey /dev/hda7 # pridanie noveho suboru s klucom/hesla cryptsetup luksDelKey /dev/hda7 0 # odstranenie nepouzivaneho kluca
- ak použijeme súbor s kľúčom na pripojenom disku tak je potrebné upraviť
/etc/fstabpribližne nasledujúcim spôsobom:
/dev/disk/by-label/CRYPTKEY /media/cryptkeys vfat,ext2 ro,owner,noauto,noexec,uid=0,gid=0,umask=377,dmask=277,codepage=852,iocharset=iso8859-2,shortname=winnt 0 0
CRYPTKEY je označenie/menovka kľúča.
- súbor s kľúčom môže byť ľubovoľný súbor, prípadne si ho môžme vytvoriť z náhodných dát napr. takto:
dd bs=4K count=1 if=/dev/urandom of=subor
- súbor s kľúčom musí mať nastavené prístupové práva 400 a vlastníka a skupinu root:
chmod 400 suborkluca chown root:root suborkluca
- pre záznam do /etc/crypttab v tom prípade namiesto vyššie uvedeného príkazu použijeme:
cat "crypthda7 /dev/hda7 /media/cryptkeys/suborkluca luks" >> /etc/crypttab
- do /etc/default/cryptdisks zadáme príslušnú hodnotu:
CRYPTDISKS_MOUNT="/media/cryptkeys"
- ak nastavujeme šifrovaný swap tak najprv vypneme používanie swapu (
swapoff -a) a po skončení nastavovania ho zapneme (swapon -a) - súbor
/etc/crypttabmôže vyzerať napr. takto:cryptswaphda5 /dev/hda5 /dev/urandom swap crypthda7 /dev/hda7 none luks #crypthda7 /dev/hda7 /media/cryptkeys/suborkluca luks cryptedisk6 /dev/sda6 none luks
Pričom ak/dev/sda6nie je pri štarte k dispozícii (napr. disk je nie je fyzicky prítomný) tak ho systém bude pri štarte ignorovať a stačí ho neskôr otvoriť napr. príkazomsu -c "cryptsetup luksOpen /dev/sda6 cryptsda6"a potom je možné ho pripojiť. Ak chceme aby sa použil súbor obsahujúci kľúč na USB kľúči tak ho tu odkomentujeme namiesto priameho zadania hesla. Zariadenia sa pri štarte počítača budú otvárať v zadanom poradí.

