Varolan bir Debian lenny kurulumunu şifrelemek

Günümüzde artık hemen hemen herkes, taşınabilir olması dolayısı ile PC değilde dizüstü bilgisayarı tercih ediyor. Taşınabilir olan bu cihazlarımıza filmleri, dizileri, mp3leri ve bazı zamanda iş ile ilgili olan bilgilerimizi yüklüyoruz.  Diz üstünüzün çalınması durumunda dizi, müzik bir şekilde yeniden yüklenir ama iş bilgileri başkalarının eline geçtiği zaman işin işin yüzü değişir. Tüm müşteri bilgileriniz, kampanyalarınız, şirketin hedefi, sözleşmeleri, herşey bir anda başka birisinin elinde. İşte bu gibi çalıntı durumunda en azından kendi verilerimizin başkasının eline geçmesinin önüne geçmek için debian dizüstü bilgisayarımızın disklerine şifreleme (encryption) yapacağız.

Disklerde şifreleme yapmaya başlamadan önce diskimizde /boot bölümünün olması zorunludur. Bunun sebebi bilgisayarımızda BIOS şifresiz kernel yüklemesini ve bunun initrd imajını şifreli bölüme ulaşmadan önce erişecek olmasıdır. Burada uygulayabilceğimiz bir seçenek ise /boot bölümünü bir USB Bellek üzerinde tutmak fakat bu kuruluma başka bir zaman değineceğim.

Yapılacak olan ilk iş, şifreli diskleri yönetmemiz için yazılımın yüklenmesi ve initrd imajının güncellemesinin yapılmasıdır:

# aptitude install cryptsetup initramfs-tools

initrd imajı içerisinde şifreleme modullerinin hazır olduğuna emin olmak durumundayız, aşağıdaki üç modulü initrd ayar dosyasına ekledim:

# echo aes-i586 >>/etc/initramfs-tools/modules
# echo dm-crypt >>/etc/initramfs-tools/modules
# echo dm-mod >>/etc/initramfs-tools/modules

Bir sonraki adım cryptosetup bilgilendirmesini yapmaktır.  Ayrıca /dev/hda2 (fiziksel bölüm) ve /dev/mapper/root (bunun şifreli arayüzü) arasında inittab’ın bölüm eşlemesini de yapmaktır.

# echo "root /dev/hda2 none luks" >>/etc/crypttab
# sed -i 's#/dev/hda2#/dev/mapper/root#' /etc/fstab

root bölümünü grub için aynı inittab ‘da yaptığımız biçimde değiştirmek zorundayız:

# sed -i 's#/dev/hda2#/dev/mapper/root#' /boot/grub/menu.lst

initrd imajını yeniden oluşturabiliriz

# update-initramfs -k all -u

Şimdi sistemi kapatabiliriz ve yedekleme yapmak, şifreli disk bölümü oluşturmak ve dosyaları root dosya sistemine geri kopyalamak için LiveCD ile boot edebiliriz. Burada nasıl yedekleme yapılacağı ve opsiyonları konusunu hızlı geçiyorum ve bu konuyu okuyucunun kendi yöntemine bırakıyorum. Basit bir şekilde “cp -ax /mnt/root/* /mnt/backup” komutu ile yeterli bir yedekleme alacağım ben.

Yedekleme yaptıktan sonra, çıkarılan bölüm tarafındaki veriyi silelim.

# shred -n1 -v /dev/hda2

ve sonrasında şifreli bölüm oluşturalım.

# cryptsetup luksFormat /dev/hda2
# cryptsetup luksOpen /dev/hda2 root

Şifrelenmiş disk kurulup açıldıktan sonra, dosya sistemi oluşturulur, mount edilir ve root bölümündeki yedeklenmiş dosyalar şifreli disk bölümüne kopyalanır.

# mkfs.ext3 /dev/mapper/root
# mount /dev/mapper/root /mnt/root
# cp -ax /mnt/backup/* /mnt/root/

Şimdi şifreleme yaptığımız root bölümünü yeniden başlatabiliriz.

Bir defa root şifreli bölümü çalıştıktan sonra swap bölümüne  şifreleme eklemek çok kolay olacaktır.  Sadece düzgünce /etc/crypttab ‘a ekleyiniz ve /etc/fstab ‘ı değiştiriniz:

# echo "swap /dev/hda3 /dev/random swap" >>/etc/crypttab
# sed -i 's#/dev/hda3#/dev/mapper/swap#' /etc/fstab