Поиск по сайту:

Как зашифровать раздел с помощью DM-Crypt LUKS в Linux


TrueCrypt больше нет, и цель этого поста — показать вам простое шифрование разделов с помощью dm-crypt luks.

DM-Crypt — это прозрачное шифрование диска, которое является модулем ядра и частью структуры устройства сопоставления устройств для сопоставления физического блочного устройства с виртуальными блочными устройствами более высокого уровня. Он использует криптографические процедуры из криптографического API ядра. Короче говоря, шифрование сопоставления устройств обеспечивается криптографическим API-интерфейсом ядра «linux».

Убедитесь, что у вас есть хотя бы один раздел без данных. Если у вас нет доступных разделов, используйте parted, gparted или любую другую программу, которая вам нравится, чтобы уменьшить некоторые из ваших существующих разделов и создать новый.

Я буду использовать раздел с именем /dev/sda3, и нашей первой задачей будет перезаписать этот раздел 3 раза случайными данными, этого достаточно, чтобы защитить вас от судебного расследования. Мне потребовалось почти 30 минут, чтобы раздел размером 20 ГБ был перезаписан 3 раза.

shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda3

Создайте устройство сопоставления криптографических устройств в режиме шифрования LUKS:

cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda3

Вам будет задан следующий вопрос:

WARNING!
========
This will overwrite data on /dev/sda3 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
Command successful

Разблокируйте раздел, здесь «корень» — это имя устройства сопоставления, думайте об этом как о метке.

cryptsetup open --type luks /dev/sda3 root

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

mkfs.ext4 /dev/mapper/root

Смонтируйте устройство и перенесите все свои данные:

mount -t ext4 /dev/mapper/root /mnt

Размонтируйте и закройте устройство, когда закончите:

umount /mnt

cryptsetup закрыть корень

И последнее, но не менее важное: очистите буферы копирования и кеша:

sysctl --write vm.drop_caches=3

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

Если у вас есть пара часов свободного времени и экспериментов, смело читайте эти страницы:

ссылка 7

Защитите раздел /boot, если хотите использовать полное шифрование диска. Все очень подробно написано как это сделать в приведенных выше ссылках.

Постредактирование: все стало еще лучше, когда я только что узнал, что можно записывать зашифрованные LUKS CD и DVD-диски.

Вместо использования раздела диска мы создадим файл с помощью dd и генератора случайных чисел ядра /dev/urandom, который заполнит исходный файл поддельной энтропией.

Создайте файл размером 500 МБ, который будет использоваться в качестве файловой системы в одном файле.

dd if=/dev/urandom of=encrypted.volume bs=1MB count=500

Просто замените первую команду в этом посте (shred) на dd и введите остальные команды как есть.

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