вторник, 13 мая 2008 г.

Шифрованная файловая система

1.Создаем сам файл, на котором будет храниться шифрованная файловая система
touch /home/secure
2.Заполняем его случайными данными, чтобы сложнее было дешифровать
shred -n1 -s500M /home/secure
в данном случаи мы указали размер в 500Мб.

3.Подгружаем нужные модули:

modprobe dm-crypt
modprobe aes_generic
(aes - быстрый алгоритм шифрования)

4.Создаем loopback устройство из файла:
losetup /dev/loop0 /home/secure
наше устройство теперь называется /dev/loop0, а находится оно в файле /home/secure

5.Создаем шифрованный том из устройства /dev/loop0
cryptsetup -c aes -y create mycrypt /dev/loop0
шифрованный том в этом примере будет называться mycrypt

6.Форматируем его:
mkreiserfs /dev/mapper/mycrypt
После этих операций в устройстве /dev/mapper/mycrypt находится файловая система с шифрованными данными. Ее уже можно монтировать / писать на нее / размонтировать.

7.Монтирование:
losetup /dev/loop0 /home/secure
cryptsetup create mycrypt /dev/loop0
mount -o acl /dev/mapper/mycrypt /home/mnt
ACL - включаем потом для самбы пригодиться

8.Размонтирование:
umount /dev/mapper/mycrypt
cryptsetup remove mycrypt
losetup -d /dev/loop0


Хранение шифрованных данных на отдельной партиции LVM

1. Создаем партицию
lvcreate -L2G -nstorage vg

в данном случаи мы задали размер 2Гб для тома с именем storage в группе vg. Подробнее в документации по LVM2.

2.Подгружаем нужные модули:
modprobe dm-crypt
modprobe aes

(aes - быстрый алгоритм шифрования, можно использовать blowfish, des и пр. - см. раздел Cryptographic options ядра)

3. Создаем шифрованный том из устройства /dev/vg/storage
cryptsetup -c aes -y create mycrypt /dev/vg/storage

шифрованный том в этом примере будет называться mycrypt

4.Форматируем его:
mkreiserfs /dev/mapper/mycrypt

Все. После этих операций в устройстве /dev/mapper/mycrypt находится файловая система с шифрованными данными. Ее уже можно монтировать / писать на нее / размонтировать.

5.Монтирование:
cryptsetup create mycrypt /dev/vg/storage
mount /dev/mapper/mycrypt /mnt/storage

6.Размонтирование:
umount /dev/mapper/mycrypt /mnt/storage
cryptsetup remove mycrypt

1 комментарий:

ksomov комментирует...

Повторено. Работает. Жаль, что не указано про опции ключей шифрования и паролей. Но сказанного уже достаточно, что бы разобраться самостоятельно.
Полезный материал. Спасибо автору.
ksomov@hotmail.com