Создание зашифрованного swap файла

Материал из Rosalab Wiki
Версия от 21:59, 31 октября 2022; Noname (обсуждение | вклад) (Новая станица)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск
   ! Все команды должны выполняться от рута.

Создаем файл

   fallocate -l 4G /home/user/.swapfile

Устанавливаем право чтения и записи только для root

   chmod 600 /home/user/.swapfile

Делаем из обычного файла крипто-контейнер

   cryptsetup --verbose -v luksFormat /home/user/.swapfile

Проверяем

   file /home/user/.swapfile

Должно вывести что-то типа этого

   /home/user/.swapfile: LUKS encrypted file, ver 2 [, , sha256] UUID: шестнадцатеричное-число

Открываем контейнер

   cryptsetup luksOpen /home/user/.swapfile swapfile

Делаем из контейнера swap

   mkswap -L swap /dev/mapper/swapfile

Создаем файл в который потом запишем ключ для расшифровки свопа

   dd if=/dev/random bs=32 count=1 of=/root/swapfilekey

Проверяем

   xxd /root/swapfilekey

Должно вывести что-то типа этого

   00000000: 30db ca22 2a40 47dd f9cc 9914 dc89 2fbd  0.."*@G......./.
   00000010: 65e8 ca4e 8086 a5e7 098d 7ba0 8776 c4bc  e..N......{..v..

Добавляем ключ в файл

   cryptsetup luksAddKey /home/user/.swapfile /root/swapfilekey

Чтобы своп автоматически расшифровывался и монтировался нужно отредактировать файлы ниже

   vim /etc/crypttab

Добавляем в него

   swapfile    /home/user/.swapfile   /root/swapfilekey
   # swapfile - имя которое будет в /dev/mapper когда криптоконтейнер смонтируется  
   # /home/user/.swapfile - путь, по которому находится криптоконтейнер  
   # /root/swapfilekey - файл-ключ для расшифровки криптоконтейнера  


   vim /etc/fstab

Добавляем в него

   /dev/mapper/swapfile    none   swap    defaults 0 0
   # /dev/mapper/swapfile - путь по которому находится смонтированный крипто-своп

Обновляем загрузчик

   update-grub2

Проверяем

Размонтируем крипто-своп

   cryptsetup luksClose swapfile

Монтируем используя файл-ключ

   cryptsetup --key-file=/root/swapfilekey luksOpen /home/user/.swapfile swapfile

Если смонтировался - все впорядке.