Инструменты пользователя

Инструменты сайта


luks_and_nuke
		                      Cryptsetup(LUKS)

Не буду заострять внимание на истории данной прогруммы, всё самое нужное есть на wiki (https://ru.wikipedia.org/wiki/LUKS), так что будет коротко и по делу =)) В данной статье будет рассмотрена тема шифрования дисков при помощи утилиты cryptsetup и в частности при помощи LUKS с возможностью удаления информации из зашифрованного диска или LVM.

Данная программа была протестирована на Kali Linux, пакет cryptsetup был взят из дистрибутива kali linux, в качестве носителя жеский биск WD Blue 320Gb Примечание: На debian, при попытке собрать данную утилиту, функция nuke категорически отказывалась работать, в итоге пришлось её добавлять на kali linux. Можете попытаться собрать cryptsetup с данной опцией, может вам повезёт больше =) Ссылка на инструкцию по установке:http://www.kali.org/how-to/emergency-self-destruction-luks-kali/

1. Подготовка.

1)Если на вашем диске или lvm уже есть какая-то информация, то её необходимо бэкапировать, так как все данные будут уничтожены. 2)Теперь приступим к шифрованию нашего носителя:

cryptsetup -c aes -s 256 luksFormat /dev/sdb
Are you sure? (Type uppercase yes): YES(В верхнем регистре)
Enter LUKS passphrase: вводим наш придуманный пароль
Verify passphrase:
Command successful

Примечаение: лучше создайте пароль состоящий минимум из 20 символов, далее в статье обьясню для чего это понадобится.

Рассмотрим основные опции.

с - выбираем алгоритм шифрования из доступных. (Список доступных алгоритмов можно узнать cat /proc/crypto)

s - длинна нашего ключа

luksFormat - он и в Африке luksFormat =)

/dev/sdb - наш «подопытный».

Полный список всех команд можно получить в мануале cryptsetup.

3)Теперь нам необходимо подключить зашифрованный диск и создать на нём файловую систему.

cryptsetup luksOpen /dev/sdb data и вводим наш пароль. После того, как мы подключили наш диск в директории /dev/mapper/ появится ссылка data которая ссылается на блочное устройство dm-0, после этого уже можно создать на нём файловую систему. mkfs.ext3 /dev/mapper/data

4)Теперь уже можно примонтировать наш диск.

mount /dev/mapper/data /mnt/data

Диск готов к работе. Всё элементарно и просто.

2)Работа с ключами.

Наш зашифврованный диск имеет 8 слотов от 0 до 7, т.е. для его расшифрования возможно создать 8 ключей (ключь может быть парольной фразой или файлом, всё на ваш вкус и цвет). Для просмотра сведений о нашем диске введём команду:

cryptsetup luksDump /dev/sdb

Теперь мы можем узнать такую информацию как алгоритм шифрования, длинну ключа, свободные и занятые слоты ключей, информацию о ключах об используемых ключах, uuid нашего устройства и много чего другого. Краткую справку о нашем зашифрованном диске можно получить, если ввести команду:

cryptsetup status data

Пароль для дэшифрования, это конечно хорошо, но так же мы можем создать файл с ключём, что будет весьма удобнее, чем каждый раз вводить этот длинный пароль.

1)Создадим ключь из рандомных данных.
dd if=/dev/random of=$HOME/data.key bs=1 count=256
2) Добавим наш ключ.
cryptsetup luksAddKey /dev/sdb $HOME/data.key
Воодим пароль от ключа из слота 0.
3)Теперь проверяем, что наш ключь был добавлен в слот.
cryptsetup luksDump /dev/sdb
И теперь мы должны увидеть то, что Key Slot 1 имеет статус ENABLED
4)Теперь для дешифрования нашего диска нужно использовать команду:
cryptsetup -d $HOME/data.key luksOpen /dev/sdb data

Примечания: 1) Для правильного отключения нашего зашифрованного диска, нужно ввести две команды: umount /mnt/data && cryptsetup close data и только после этого мы можем извлечь наш диск или флешку. Ввод второй команды необходим, так как cryptsetup хранит ваш ключ в оперативной памяти, опция close удалит его из памяти. 2)Если вы планируете использовать только файлы ключей для расшифрования, то лучше оставить один «резервный» пароль. Файлы имеют свойство теряться =)

5)Для удаления ключей нужно ввести:

5.1) Для удаления файла: cryptsetup –key-slot 1 -d $HOME/data.key luksRemoveKey /dev/sdb

5.2) Для удаления пароля: cryptsetup luksRemoveKey /dev/sdb и ввести тот пароль, который вы хотите удалить.

3.Ключ для инучтожения (Nuke).

Для добавления пароля: cryptsetup luksAddNuke /dev/sdb

вводим наш основной пароль и позже вводим пароль для уничтожения

Теперь, если кто-нибудь введёт данный пароль, то все данные будут уничтожены а пользователь получит сообщение: No key available with this passphrase.

luks_and_nuke.txt · Последние изменения: 2014/08/25 15:29 — 83.220.55.174