Sifrovany disk (kontejner) s dm-crypt/LUKS

Sifrovani disku, nebo obrazu (kontejneru) pomoci dm-crypt/LUKS v Linuxu.
 
Tento zapisek temer nic nevysvetluje. Je to spis takova moje poznamka, abych nezapomnel prikazy 🙂
Pokud mate zajem, napiste do diskuze a ja sepisu neco podprobnejsiho.
 

Vytvoreni sifrovaneho disku

Vse delame pod rootem.

V ukazce vytvorim obraz/kontejner/soubor, ktery bude obsaghovat sifrovany disk s vlastnim souborovym systemem.
Vyhody: moznost kopirovat soubory po Internetu, flash discich, DVD,…
Nevyhody: napr. Nautilus v Gnome nenabizi automaticke pripojeni, jako u sifrovanych fyzickych oddilu.
Pred sifrovanim obrazu/fyzickeho media bychom vzdy meli prepsat jeho prostor nahodnymi daty. Idealne z /dev/random, ale ten je kvuli pomalosti nepouzitelny. Takze se  musime spokojit s /dev/urandom.
# time dd if=/dev/urandom bs=1M count=512 | pv | dd of=/tmp/tajne.img
# dd if=/dev/urandom of=/tmp/tajne.img bs=1M count=512

Oba prikazy delaji totez, prvni jenom spocita celkovou dobu a pomoci pv ukazuje aktualni prubeh. Druhy neinformuje o nicem, veberte si. 512 je velikost vysledneho obrazu v MB.

Soubor s obrazem pripojime jako loop, vznikne nam „virtualni fyzicke zarizeni“.
# losetup `losetup -f` /tmp/tajne.img
# losetup -a

Nyni disk zasifrujeme. Algoritmy tady nebudu porovnavat, staci googlit.

# cryptsetup luksFormat -h sha512 -c aes-xts-benbi -s 512 --verbose --verify-passphrase /dev/loop0
„Otevreme“ sifrovany disk. Tim ziskame zarizeni vypadajici jako disk – neco jako /dev/sda.
# cryptsetup luksOpen /dev/loop0 sifrovano
Vytvorime na nem svuj oblibeny souborovy system, v mem pripade ext3. Je sporne, jestli ma mit sifrovany file system zurnalovani. Pokud je to image, tak stejne vyuziva zurnalovani souboroveho systemu na disku.
# mkfs.ext3 /dev/mapper/sifrovano
A je to! Po pripojeni muzeme pracovat s sifrovanym diskem.
Po skonceni prace ho odpojime a „zavreme“ sifrovani. Postupujeme presne obracene, jako kdyz v HTML zavirame tagy. Nejdriv odpojime vnitrni FS, potom luksem zamkneme disk a nakonec zrusime loop zarizeni:
# umount /dev/mapper/sifrovano
# cryptsetup luksClose sifrovano
# losetup -d /dev/loop0
 

Kazdodenni prace s sifrovanym diskem

Vytvorime loop, odemkneme luks a pripojime fs:

# losetup `losetup -f` /tmp/tajne.img
# cryptsetup luksOpen /dev/loop0 sifrovano
# mount -t ext3 /dev/mapper/sifrovano /tmp/sifrovanoMNT
Pracujeme….
Po skonceni prace odpojime:
# umount /dev/mapper/sifrovano
# cryptsetup luksClose sifrovano
# losetup -d /dev/loop0
a to je vse.
 
 

Poznamky

Zaloha LUKS hlavicky

LUKS muze mit 8 hesel/klicu. Kazdy muze likvidovat ostatni, tudiz nejde mit 8 klicu s ruznymi pravy.

Aby bylo mozne hesla menit, ma luks disk zasifrovany slozitym klicem ulozenym v hlavicce. Heslo jen desifruje hlavicku. Pokud se hlavicka znici (treba chcipne disk), mame po datech – proto je vhodne ji na bezpecne misto zalohovat.

# cryptsetup luksDump /tmp/tajne.img
Cislo Payload offset ve vypisu dejte jako parametr dd count
# dd if=/tmp/tajne.img of=luks_header.img count=payload_offset_cislo

 

Zmena hesla

Info prehled:
# cryptsetup luksDump /tmp/tajne.img
Pridani:
# cryptsetup luksAddKey /tmp/tajne.img
a smazani:
# cryptsetup luksRemoveKey /tmp/tajne.img

 

GUI

Chcete-li GUI nastroj, zkuste GNOME Disks (nekdy ho nejdete i pod nazvy gnome-disk-utility, nebo palimpsest).

Gnome Disks

 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *