Как зашифровать раздел с помощью 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, просто обязательно размонтируйте и закройте зашифрованный том перед записью на диск.