Я на Ubuntu 13.04 с использованием полного шифрования диска (LVM поверх LUKS).
Я хотел бы включить luksSuspend
в процедуру приостановки (и последующего использования luksResume
), чтобы я мог приостановить к ОЗУ, не оставляя ключевой материал в памяти и рут разблокирован.
Последние 7 часов я пытался перенести скрипт для Arch Linux , но пока безуспешно: честно говоря, понятия не имею, что я делаю ...
Может кто-нибудь помочь мне портировать это (или создать что-то подобное с нуля)? Или, по крайней мере, может кто-нибудь указать мне на документацию о том, как подключить вещи к процедурам приостановки и как сохранить необходимые двоичные файлы и сценарии (такие как cryptsetup) доступными даже после того, как все операции ввода-вывода в root были заблокированы (пользователем luksSuspend
)?
Относительно того, как сохранить необходимые двоичные файлы и сценарии, доступные для резюме, этот другой пост в блоге (также для Arch) скопировал их /boot
; Однако я хотел бы использовать в строках то, что использовал Вианни в сценарии, о котором я упоминал ранее, потому что этот подход выглядит немного более элегантным в этом аспекте.
pm-suspend
и оказалось, что я почти там. Тем не менее, я обнаружил, что не могу просто приостановить system (echo -n "mem" > /sys/power/state
) после замораживания root fs (cryptsetup luksSuspend ...
), потому что для этого требуется еще какой- то ввод / вывод ...Ответы:
Я столкнулся с той же проблемой, поэтому я сделал еще один шаг при переносе того же сценария, который вы можете увидеть здесь . После этого он не затрагивает какое-либо энергонезависимое хранилище
luksSuspend
, поэтому он работает даже с реальным полным дисковым шифрованием с зашифрованным / загрузочным. Тем не менее, вам нужно быть осторожным - иногда это может работать не так, как ожидалось!Портированный скрипт выполняет следующие действия:
/sys
,/proc
,/dev
,/run
) к Ramfs крепленияluksSuspend
и переводит компьютер в спящий режимluksResume
перемонтируйте файловые системы, перезапустите службы, размонтируйте bind mounts в монтировании initramfsЯ еще не провел обширное тестирование своего сценария, но, похоже, он работает надежно для меня. Если вы используете другую файловую систему (например, не ext4 или btrfs), то у вас могут возникнуть проблемы с барьером, поэтому вам также придется изменить скрипт.
В любом случае, хорошо проверить и убедиться, что сценарии работают первыми. Если вы испытываете зависания при попытке установить Linux на S3 (то есть на
echo mem > /sys/power/state
), то вы сможете восстановить:sudo cryptsetup luksResume anything_here
starting version xxx
отображается на новом vt), переключитесь на tty, который вы открыли ранее, и запуститеsudo cryptsetup luksResume your_luks_device_name_here
/run/initramfs
:sudo chroot /run/initramfs /bin/ash
luksResume
:cryptsetup luksResume your_luks_device_name_here && exit
/run/initramfs
и перемонтировать корневую файловую систему с барьером, если это применимо.источник
У меня нет опыта в этой настройке, но многие люди утверждают, что успех в этом. Вот пара из них.
dm-crypt с LUKS - шифрование раздела подкачки
. Практическое руководство. Полностью зашифрованный жесткий диск, включая раздел приостановки на диск, с помощью Ubuntu 6.10. Edgy Eft
ubuntu-full-disk-encryption-lvm-luks
Однако ни один из них не использует luksSuspend (возможно, именно поэтому они работают).
источник
Я потратил некоторое время на то, чтобы сделать это полностью функциональным в Ubuntu 15.10. Если вы пытаетесь заставить это работать на ext2, ext3 или ext4, вам нужно обновить / etc / fstab, чтобы смонтировать том с опцией «nobarrier». В противном случае я предлагаю использовать BTRFS.
Как только ваша файловая система подготовлена, используйте скрипт здесь: https://github.com/Microcentillion/ubuntu-lukssuspend
источник