Создание шифрованного раздела в Linux |
[исправить] |
В CentOS 5.3 добавлена возможность создания шифрованных дисковых разделов на этапе установки.
Рассмотрим ручное создание шифрованного раздела /dev/sdb3 при помощи dm-crypt/LUKS.
Сryptsetup можно найти в пакете cryptsetup в репозиториях Debian, Ubuntu, SuSE, Fedora и CentOS:
Установка:
apt-get install cryptsetup
или
yum install cryptsetup
Заполняем раздел случайными данными, для удаления остаточной информации:
dd if=/dev/urandom of=/dev/sdb3
Инициализируем шифрованный раздел
cryptsetup luksFormat /dev/sdb3
в ответ на приглашение "Enter LUKS passphrase:" вводим пароль, под которым
будет производиться доступ к созданному разделу.
Проверяем все ли нормально было создано:
cryptsetup isLuks /dev/sdb3 && echo Sucess
Sucсess
Смотрим параметры созданного раздела:
cryptsetup luksDump /dev/sdb3
LUKS header information for /dev/sdb3
Version: 1
Ciper name: aes
Cipher mode: cbc-essiv:sha256
Hash spec: sha1
...
Получаем UUID идентификатор раздела для его последующего монтирования без
привязки к имени устройства:
cryptsetup luksUUID /dev/sdb3
d77eb752-8a90-4d94-ae9f-2bec0a22c5d3
Подключаем шифрованный раздел, для его последующего монтирования:
cryptsetup luksOpen /dev/sdb3 db
Enter LUKS passphrase: вводим пароль
key slot 0 unlocked.
Command successful.
Смотрим параметры расшифрованного устройства /dev/mapper/db, пригодного для монтирования:
dmsetup info db
Name: db
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 253, 1
Number of targets: 1
Форматируем новый раздел:
mke2fs -j /dev/mapper/db
Создаем точку монтирования:
mkdir /db
Монтируем:
mount /dev/mapper/db /db
Добавляем настройки в /etc/crypttab в последовательности соответствующей
порядку монтирования разделов:
luks-d77eb752-8a90-4d94-ae9f-2bec0a22c5d3 UUID=d77eb752-8a90-4d94-ae9f-2bec0a22c5d3 none
Добавляем автомонтирование в /etc/fstab (на этапе загрузки нужно будет вводить пароль):
/dev/mapper/luks-d77eb752-8a90-4d94-ae9f-2bec0a22c5d3 /db ext3 defaults 0 0
Для автомонтирования шифрованного раздела должен быть активен системный сервис /etc/init.d/crytdisks
Для отключения раздела нужно использовать:
umount /db
crytsetup luksClose /dev/mapper/db
Вместо ввода пароля можно сохранить ключ шифрования на USB брелок,
последовательность примерно такая:
Создаем ключ на flash:
dd if=/dev/random of=/media/flash/pass.key bs=1 count=256
Инициализируем раздел:
cryptsetup luksFormat /dev/sdb3 /media/flash/pass.key
Подключаем раздел:
cryptsetup --key-file /media/flash/pass.key luksOpen /dev/sdb3 db
В /etc/crypttab вместо "none" добавляем путь к файлу с ключом.
|
|
|
|
Раздел: Корень / Безопасность / Шифрование, PGP |
|
|
3.7, Conficker (?), 16:57, 15/07/2009 [^] [^^] [^^^] [ответить]
| +/– |
Вас это очень тревожит, их проблемы с лицензией?
Но на самом деле меня интересует, где можно найти документацию на cryptsetup, в частности, команды?
| |
|
|
1.5, mlof (ok), 14:58, 27/05/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А прикладную задачу типа:
Ставим систему на 600 мб отбитого от винта раздела? Все остальное на винте - шифрованный псевдо-мусор. Если в конкретный усб-порт компа вставлена флешка с ключом, то от псевдо-мусора отбивается и монтируется раздел с файлами №1, иначе с файлами №2.
Можно ли решить этим шифрованием?
| |
1.8, eking (ok), 15:28, 04/03/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Добавляем настройки в /etc/crypttab в последовательности соответствующей
порядку монтирования разделов:
luks-d77eb752-8a90-4d94-ae9f-2bec0a22c5d3 UUID=d77eb752-8a90-4d94-ae9f-2bec0a22c5d3 none luks
| |
1.9, Zomby (?), 16:06, 26/03/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А как теперь удалить созданный шифрованный раздел? Т.е. сделать раздел снова незашифрованным?
| |
1.10, fbslim (ok), 13:41, 11/02/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Автору большое спасибо за статью! Помогла окончательно понять как оно работает. Всё чётко и по пунктам.
Для пользователей Ubuntu Server способ подключения в /etc/crypttab через UUID'ы почему-то не работает. У меня по крайней мере не получилось.
По аналогии с названиями устройств из статьи добавляем в crypttab следующее:
db /dev/sdb3 none luks
После чего обязательно выполняем команду: update-initramfs -u
Далле, автозагрузка раздела через /etc/fstab:
1. узнаём UUID шифрованного раздела командой - ls -l /dev/disk/by-uuid/
На выходе получим:
b2e52ed6-24a5-4b97-bb37-7d4e9787ce62 -> ../../dm-0
2. Прописываем раздел в fstab:
UUID=b2e52ed6-24a5-4b97-bb37-7d4e9787ce62 /db ext4 defaults 0 0
PS
Обязательно последний параметр ставим в ноль чтобы при старте файловая система не проверялась на ошибке. Иначе у хоста начинается кёрнел паник :)
| |
1.11, fbslim (ok), 13:48, 11/02/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Да и.. вопрос по стабильности данной схемы работы.
Кто и как долго с ней работает? Вот в частности автор.
Насколько всё это стабильно? Не слетит ли шифрованный раздел безвозвратно? Есть ли какие-то подводные камни, косяки?
Поделитесь инфой плиз!
| |
|