Малки HOWTO-та
Encryption mini-HOWTO
Това е леко променена версия на предишна публикация, обясняваща как се криптира домашната директория. Обясненията са специфични за Linux. В края съм сложил някои полезни връзки, включително такива, които обясняват как се прави същото под Windows с Truecrypt. В MacOS 10.3 и по-нови има FileVault.
На всички места, където се появява потребител, заместете със съответното потребителско име (gosho, pesho,…). Аналогично заместете /dev/sdXY, /dev/hdXY с истинските имена на използваните устройства.
I. Архивиране. Направете си архив на всички важни файлове. На практика това е най-важната част от целия процес.
II. Криптиране на домашната директория. Създайте дял на диска с подходяща големина. За целта има fdisk, cfdisk, sfdisk, parted и т.н. Инсталирайте си пакетите cryptsetup и/или cryptsetup-luks. Добавете потребител в групата wheel. Редактирайте съответно /etc/sudoers с visudo. Ако дадете право на потребител да изпълнява всички команди без да иска паролата на root, уверете се, че потребител-ската парола е сигурна.После от конзолата:
su - cd / # Изтрива всичко от дяла и го запълва с произволни данни. # Операцията се повтаря 5 пъти, макар че за по-голяма # сигурност е препоръчително 25-30 пъти. Може да отнеме доста # време. shred -n 5 /dev/sdXY # Криптира дяла с избран симетричен шифър. AES256 е доволно # сигурен. cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/sdXY cryptsetup luksOpen /dev/sdXY encdev # Създава файлова система в/у криптирания дял и я прави # достъпна за запис. mkfs.ext3 -m0 /dev/mapper/encdev mount /dev/mapper/encdev /mnt # Копира файловете. rsync -av /home/потребител/ /mnt # Затваря криптирания дял. umount /mnt cryptsetup luksClose encdev
Хубаво е тези операции да се изпълнят преди домашната директория да се запълни с файлове, защото дори след като ги изтриете от първоначалното им местоположение, те могат да бъдат възстановени (с малко зор, но все пак може). Изтрийте всичко от /home/потребител и сложете там файл .profile със следното съдържание:
#!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin unset HISTORY unset HISTFILE cd / sudo cryptsetup luksOpen /dev/sdXY sdXY && \ sudo fsck /dev/mapper/sdXY && \ sudo mount /dev/mapper/sdXY /home/потребител && \ sleep 5 && \ exec sudo telinit 5
III. Редактиране на /boot/grub/menu.lst
Редактирайте и /boot/grub/menu.lst. Ако там има примерно
title Linux
root (hd0,0)
kernel /boot/vmlinuz ro root=/dev/sda1
initrd /boot/initrd.img
добавете
title Linux (VT100)
root (hd0,0)
kernel /boot/vmlinuz ro root=/dev/sda1 3
initrd /boot/initrd.img
Когато ще работите като потребител, при стартиране на компютъра изберете Linux (VT100) от менюто. Малко е тромаво, но поне до момента не съм имал никакви проблеми (което не значи, че вие няма да имате — но нали затова сте си направили архив :) ).
IV. Полезни връзки
- Linux:
- Loop-AES: http://loop-aes.sourceforge.net/loop-AES.README, http://wiki.cacert.org/wiki/LoopAES
- LUKS и dm-crypt: http://luks.endorphin.org, http://www.saout.de/misc/dm-crypt, http://www.saout.de/tikiwiki, http://www.howtoforge.com/ubuntu_dm_crypt_luks
- EncFS: http://www.arg0.net/encfs, http://xlife.zuavra.net/index.php/66, http://www.linux.com/feature/114147, http://www.howtoforge.com/encrypting_encfs_pam_script
- NetBSD:
- FreeBSD
- Windows:
* * * * *

