WackoWiki: RafaelMalikov/SecDisk ...

Home Page | Изменения | Новые Комменты | Пользователи | Каталог | Регистрация | Вход:  Пароль:  

Создание криптованного контейнера с ключем на флэшке


Оглавление документа

1. устанавливаем покет cryptsetup:

(ALT, Ubuntu)
apt-get install cryptsetup

2. подгружаем необходимые модули:


modprobe dm-crypt
modprobe aes
modprobe cryptoloop


также прописываем их в файл /etc/modules:

echo "" >> /etc/modules
echo "dm-crypt" >> /etc/modules
echo "aes" >> /etc/modules
echo "cryptoloop" >> /etc/modules

3. подгатавливаем флэшку для ключа:


вставляем флэшку, и смотрим как она определилась системой:

# ls -all /dev/disk/by-id/ | grep Flash
lrwxrwxrwx 1 root root   9 Feb  9 09:58 ~usb-JetFlash-0:0 -> ../../sdc
lrwxrwxrwx 1 root root  10 Feb  9 09:58 ~usb-JetFlash-0:0-part1 -> ../../sdc1

на данный момент нам нужна инфорамция за каким устройством закрепилась флэшка, в нашем случае /dev/sdc


если она смотрировалась, отмонитруем ее:

umount /dev/sdc1


разбиваем:

fdisk /dev/sdc


используем d для удаления всех партиций


используем p для просмотра наличия партиций


если все удаленно используем n для создания новой партиции


используем w для сохранения новой партиции и выхода из программы fdisk


форматируем флэшку(я форматил ее в etx3):

mkfs.ext3 /dev/sdc1


еще раз смотрим как она определилась системой:

# ls -all /dev/disk/by-id/ | grep Flash
lrwxrwxrwx 1 root root   9 Feb  9 09:58 ~usb-JetFlash-0:0 -> ../../sdc
lrwxrwxrwx 1 root root  10 Feb  9 09:58 ~usb-JetFlash-0:0-part1 -> ../../sdc1

на данный момент нам нужна инфорамция об индетификаторе партиции на которой будер расположен ключ, в нашем случае usb-JetFlash-0:0-part1


создаем линк, куда будет монтироватся флэшка с ключом:


mkdir /mnt/key


монтируем флэшку:

mount /dev/usb-JetFlash-0:0-part1 /mnt/key

4. создаем ключ (в данном случае используется ключ длинной в 1024)*:


даем команду:

rm -f /mnt/key/key.key ; for ((i=0; i< 128; i++)) ; do pwgen -cny | tr -d '\n' >> /mnt/key/key.key ; done

получаем файл с ключом, для проверки:
# ls -all /mnt/key/key.key
-rw-r--r-- 1 root root 1024 Feb  9 11:37 /mnt/key/key.key


* – для создания ключ используется программа pwgen, которая есть в стандартных репозиториях ALT и Ubuntu
для установки используем команду:
apt-get install pwgen

5. создаем контейнер и шифруем его:


dd if=/dev/zero of=/secure/sdisk bs=1024 count=50000


где count – размер контейнера в килобайтах


подключаем файл к loop устройству и криптуем его нашим ключом:

echo $(</mnt/key/key.key) | losetup -e aes -p0 /dev/loop0 /secure/sdisk


форматируем в нужный тип fs:

mkfs.ext3 /dev/loop0


отключаем закриптованный файл:

losetup -d /dev/loop0


создаем точку монтирования:

mkdir /mnt/secure_disk


проверяем монтирование диска:

echo $(</mnt/key/key.key) | mount -p0 -o loop,encryption=aes /secure/sdisk /mnt/secure_disk


отмонтируем все партиции

umount /mnt/key
umount /mnt/secure_disk

6. создаем правила для udev:


echo "KERNEL==\"sd*\", RUN+=\"/root/bin/m.sh\"" >> /etc/udev/rules.d/10-local.rules
echo "KERNEL!=\"sd*\", RUN+=\"/root/bin/u.sh\"" >> /etc/udev/rules.d/10-local.rules


перезапускаем udev
ALT:

service udevd restart

Ubuntu:
/etc/init.d/udev restart

7. создаем скрипты для монтажа и демонтажа контейнера:


скрипт для монтирования /root/bin/m.sh:

#!/bin/bash
mount /dev/disk/by-id/usb-JetFlash-0:0-part1 /mnt/key
echo $(</mnt/key/key.key)| mount /secure/sdisk /mnt/secure_disk -o loop,encryption=aes -p0
umount /mnt/key


скрипт для размонтирования /root/bin/u.sh:

#!/bin/bash
umount /mnt/secure_disk


Страницы, ссылающиеся на данную: RafaelMalikov


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Donate
Время работы: 3.355 s
Использовано памяти: 2.260 Mb