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:

[[email protected] ~]# 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:

[[email protected] ~]# 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:

[[email protected] ~]# 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:

[[email protected] ~]# telinit 1

telling_init

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

dd_random

Daha sonra:

cryptsetup --verbose --verify-passphrase luksFormat /dev/sde1

cryptsetup_command_success

Yeni encrypt olunmuş device-ı açaq və ona yeni ad verək:

cryptsetup luksOpen /dev/sde1 crypted_data

luksOpen

Yoxlayaq:

verify_encrypted_part

Daha sonra da encrypt etdiyimiz disk-də file system yaradaq(EXT4):

mkfs.ext4 /dev/mapper/crypted_data

ext4_file_system

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:

mounted

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

selinux

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:

password_protected

Bununla da mövzumuz bitmiş hesab olunur.
Təşəkkürlər.

Səs: +10. Bəyənilsin Zəifdir

Müəllif: Şəhriyar Rzayev

Şərh yazın