Disk Encryption for Linux LUKS
Bu yazıda VirtualBox-da qurulmuş CentOS 6.5-ə yeni disk-in (hard drive) əlavə olunması və onun encrypt olunmasından danışacıq.
Əgər siz CentOS-u install edəndə diqqət yetirmisinizsə, orada setup zamanı file system-in encrypt olunması opsiyası təklif olunur.
Təbii ki, daha sonra da bunu etmək olur, lakin bir şeyi yadda saxlamaq lazımdır ki, encrypt olunan zaman bütün data disk-dən silinir. Dolayısı ilə yeni drive-ı istifadəyə buraxmazdan əvvəl bunu etməniz məsləhətdir.
İlk öncə VirtualBox-da yeni hard drive-ın əlavə olunmasını kiçik bir video ilə göstərək:
Yuxarıda göstərilən şəkildə disk əlavə edildikdən sonra təbii ki, bu diski partition-lamaq lazımdır necə deyərlər.
Gəlin mövcud disklərə baxaq:
[root@linuxpamtest ~]# parted -l | grep /dev/sd Disk /dev/sda: 53,7GB Disk /dev/sdb: 8590MB Disk /dev/sdc: 8590MB Disk /dev/sdd: 8590MB Error: /dev/sde: unrecognised disk label
Bizim yeni əlavə etdiyimiz disk /dev/sde-dir.
Aşağıdakı qaydada partition yaradırıq:
[root@linuxpamtest ~]# parted /dev/sde GNU Parted 2.1 Using /dev/sde Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Error: /dev/sde: unrecognised disk label (parted) mklabel gpt (parted) mkpart Partition name? []? primary File system type? [ext2]? ext4 Start? 0 End? 2GB Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore (parted) p Model: ATA VBOX HARDDISK (scsi) Disk /dev/sde: 8590MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17,4kB 2000MB 2000MB primary
Biz /dev/sde diski daxilində 2 GB həcmli /dev/sde1 partition-nunu yaratmış olduq.
Və indi Error: /dev/sde: unrecognised disk label erroru əvəzinə, artıq bizim diskimiz tanınır:
[root@linuxpamtest ~]# parted -l | grep /dev/sd Disk /dev/sda: 53,7GB Disk /dev/sdb: 8590MB Disk /dev/sdc: 8590MB Disk /dev/sdd: 8590MB Disk /dev/sde: 8590MB
/dev/sde1 yaradıldıqdan sonra biz onu encrypt edə bilərik bu məqsədlə “Single User Mode”-a aşağıdakı qaydada keçirik:
[root@linuxpamtest ~]# telinit 1
Daha sonra,
yenicə yaratdığımız partition-u random data ilə dolduraq. Bu vaxt ala bilər, səbrlə gözləmək lazımdır:
dd if=/dev/urandom of=/dev/sde1
Daha sonra:
cryptsetup --verbose --verify-passphrase luksFormat /dev/sde1
Yeni encrypt olunmuş device-ı açaq və ona yeni ad verək:
cryptsetup luksOpen /dev/sde1 crypted_data
Yoxlayaq:
Daha sonra da encrypt etdiyimiz disk-də file system yaradaq(EXT4):
mkfs.ext4 /dev/mapper/crypted_data
Bu andan etibarən biz öz encrypt olunmuş /dev/sde1 partition-umuzu mount edib istifadə edə bilərik. Lakin bundan əvvəl, /etc/crypttab faylına əlavə etməliyik:
crypted_data /dev/sde1 none
Faylı save edirik.
Daha sonra hər hansı bizə lazım olan yerdə bir qovluq yaradıb ora mount edirik:
Həmçinin /etc/fstab faylına da əlavələr edirik:
/dev/mapper/crypted_data /root/crypted_data ext4 defaults 1 2
Faylı save edirik.
SELinux ilə əlaqəli komanda:
/sbin/restorecon -v -R /root/crypted_data
Və ən sonda da sistemi reboot edirik. Müəyyən bir vaxtdan sonra, sizdən encrypt olunmuş path üçün parolu tələb edəcək. Təqribən aşağıdakına bənzər bir output olacaq:
Bununla da mövzumuz bitmiş hesab olunur.
Təşəkkürlər.