Şifrelenmiş Ev Dizini Oluşturulması ve Kullanımı

LVM Kullanarak ev disk bölümünün ayarlanması

Eğer sıradan bir disk bölümü kullanıyorsanız güvenle bu bölümü atlayabilirsiniz.

# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
# vgcreate vg_storage /dev/sda3
Volume group "vg_storage" successfully created
# vgchange -a y vg_storage
0 logical volume(s) in volume group "vg_storage" now active
# lvcreate -L20G -nlv_home vg_storage
Logical volume "lv_home" created

LVM ile ilgili daha fazla detay için LVM NASIL belgesine bakabilirsiniz.

Ev dizininiz olacak disk bölümünün rasgele veriyle doldurulması

# dd if=/dev/urandom of=/dev/vg_storage/lv_home
20481+0 records in
20480+0 records out
21474836480 bytes (21 GB) copied, 5554.23 s, 3.9 MB/s

Bu işlem takas alanından da çok zaman alacağından öğle yemeğine ya da benzer bir işe vakit ayırabilirsiniz.

Disk bölümünün sıfırlanması ve başlangıç anahtarının atanması

Unutmayın; zayıf parola işe yaramaz, parolanızı unutursanız oyun biter!

# cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/vg_storage/lv_home
				
WARNING!
========
This will overwrite data on /dev/vg_storage/lv_home irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: 
Verify passphrase: 
Command successful.

Cipher olarak "aes-cbc-essi" kullanmamızın nedeni öntanımlı olanın Watermarking Saldırısına karşı savunmasız oluşudur.

Aygıt haritalamasının yaratılması

# cryptsetup luksOpen /dev/vg_storage/lv_home cryptohome
Enter LUKS passphrase: 
key slot 0 unlocked.
Command successful.

Aşağıdaki komutla oluşturduğunuz aygıt haritasını görebilirsiniz:

$ ls -l /dev/mapper/
total 0
crw-rw---- 1 root root  10, 63 2008-05-04 18:46 control
brw-rw---- 1 root disk 254,  2 2008-05-04 20:53 cryptohome
brw-rw---- 1 root disk 254,  0 2008-05-04 18:52 cryptoswap
brw-rw---- 1 root disk 254,  1 2008-05-04 20:53 vg_storage-lv_home

LVM'nin de device-mapper kullandığına dikkat edin (bu nedenle LVM hacimlari de listeleniyorlar).

Başka bir yöntem olarak dmsetup ls komutunu kullanabilirsiniz:

$ dmsetup ls
cryptoswap      (254, 0)
vg_storage-lv_home      (254, 1)
cryptohome      (254, 2)

Dosya sistemi yaratılması

Artık Şifrelenmiş bir disk bölümümüz var, onu kullanmak için üzerinde bir dosya sistemi oluşturmalıyız:

# mkfs.ext3 -j -m 1 -O dir_index,filetype,sparse_super /dev/mapper/cryptohome
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1310720 inodes, 5242623 blocks
52426 blocks (1.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Test

Test için şifrelenmiş disk bölümünü bağlamadan önce şifrelemeyi kapatıp yeniden açıyoruz:

# cryptsetup luksClose cryptohome
# cryptsetup luksOpen /dev/vg_storage/lv_home cryptohome
Enter LUKS passphrase: 
key slot 0 unlocked.
Command successful.
# mkdir -p /mnt/cryptohome
# mount /dev/mapper/cryptohome /mnt/cryptohome
# touch /mnt/cryptohome/testfile
# ls /mnt/cryptohome/
testfile

Çalışıp çalışmadığını aşağıdaki komutla da öğrenebiliriz:

# cryptsetup status cryptohome
/dev/mapper/cryptohome is active:
cipher:  aes-cbc-essiv:sha256
keysize: 256 bits
device:  /dev/mapper/vg_storage-lv_home
offset:  2056 sectors
size:    41940984 sectors
mode:    read/write

Her şey yolundaysa ev dizininizi yeni bölüme taşıyabilirsiniz.

Son olarak diski çözelim:

 # umount /mnt/cryptohome
# cryptsetup luksClose cryptohome

Şifrelenmiş ev dizininin bağlanma zamanı

Bu aşamada bir karar vermeniz gerekiyor. Şifrelenmiş disk bölümünüzün bilgisayarınız açılırken bağlanmasını seçebilirsiniz, bu durumda açılış işlemleri LUKS parolasını girmeniz için kesintiye uğrayacaktır. Eğer bu bölümün oturum açtığınızda otomatik olarak bağlanmasını istiyorsanız bir sonraki bölüme geçebilirsiniz.

Parolanızı elle girmek yerine harici bir ortamda (örneğin bir usb diskte) saklamayı tercih edebilirsiniz. Bu konuda ayrıntılı bilgi için bu adrese bakabilirsiniz.

Eğer tercihiniz diskin açılışta bağlanması ise /etc/crypttab dosyasını aşağıdaki gibi düzenleyin:

# cat /etc/crypttab
...
cryptohome /dev/vg_storage/lv_home none luks

/etc/fstab dosyası da düzenlenmelidir:

# cat /etc/fstab
...
/dev/mapper/cryptohome	/mnt/cryptohome ext3 relatime,errors=remount-ro 0 2

Artık bilgisayarınızı yeniden başlattığınızda açılış süreci siz LUKS parolanızı girene kadar kesintiye uğrayacaktır. Eğer doğru girerseniz ev dizininiz bağlanır. Oturum açtığınızda sizi bekleyen şifrelenmiş bir ev dizini bulacaksınız.