Шифрование Жесткого Диска В Linux При Помощи Dm-crypt
https://t.me/darkcolorИтак, создаем файл размером 200 Гб под зашифрованный диск:
sudo truncate -s 200G /home/.eax sudo chown eax:eax /home/.eax
Создаем loop-устройство:
sudo losetup /dev/loop0 /home/.eax
Инициализируем зашифрованный диск (потребуется дважды ввести пароль):
sudo cryptsetup -h sha256 -c aes-xts-plain64 \ -s 512 luksFormat /dev/loop0
Открываем зашифрованный диск:
sudo cryptsetup luksOpen /dev/loop0 eax_home
В результате появится устройсто /dev/mapper/eax_home. Создаем на нем ФС
sudo mkfs.ext4 /dev/mapper/eax_home
Монтируем зашифрованный диск:
sudo mount /dev/mapper/eax_home /mnt
Меняем права на файловой системе:
sudo chown -R eax:eax /mnt
Копируем содержимое нашего домашнего каталога. Затем отмонтируем зашифрованный диск:
sudo umount /mnt
Закрываем зашифрованный диск:
sudo cryptsetup luksClose eax_home
Отсоединяем loop-устройство:
sudo losetup -d /dev/loop0
Теперь архивируем и удаляем содержимое /home/eax, затем монтируем в него зашифрованный диск. Если все работает нормально — удаляем бэкап.
Скрипт /home/mount.sh для автоматизации монтирования:
#!/bin/sh set -e losetup /dev/loop0 /home/.eax cryptsetup luksOpen /dev/loop0 eax_home mount /dev/mapper/eax_home /home/eax
Скрипт /home/umount.sh, выполняющие обратные действия:
#!/bin/sh set -e umount /home/eax cryptsetup luksClose eax_home losetup -d /dev/loop0
Когда оригинальных данных на диске не осталось, можно заполнить свободное место мусором:
cd /home # наберитесь терпения, это надолго (особенно без rng-tools!) sudo dd if=/dev/urandom of=./random.tmp bs=10M count=6300 sync sudo rm random.tmp
Наконец, чтобы временные файлы (те же черновики электронных писем, создаваемые Mutt) писались на зашифрованный раздел, в ~/.bashrc следует дописать:
export TMPDIR=/home/eax/temp mkdir -p $TMPDIR
Также с помощью dm-crypt можно зашифровать вообще всю файловую систему целиком, но это уже тема для отдельной статьи. Как обычно, куда больше информации о dm-crypt вы найдете в манах, а также в замечательной Arch Wiki.