Jestem na Ubuntu 13.04 przy użyciu pełnego szyfrowania dysku (LVM na szczycie LUKS).
Chciałbym włączyć luksSuspend
się do procedury zawieszenia (i późniejszego użycia luksResume
), aby móc zawiesić się w pamięci RAM bez pozostawiania klucza materiału w pamięci i odblokowania katalogu głównego.
Przez ostatnie 7 godzin próbowałem przenieść skrypt dla Arch Linux , jak dotąd bez powodzenia: szczerze mówiąc, nie mam pojęcia, co robię ...
Czy ktoś może mi pomóc to przenieść (lub stworzyć coś takiego od zera)? A przynajmniej czy ktoś może wskazać mi dokumentację na temat tego, jak podpiąć się do procedur zawieszania i jak zachować niezbędne pliki binarne i skrypty (takie jak cryptsetup), nawet po tym, jak wszystkie IO do rootowania zostały (zablokowane luksSuspend
)?
Jeśli chodzi o zachowanie niezbędnych plików binarnych i skryptów dostępnych do wznowienia, ten inny post na blogu (również dla Arch) skopiował je /boot
; Chciałbym jednak użyć czegoś więcej w liniach, których używał Vianney w skrypcie, o którym wspomniałem wcześniej, ponieważ podejście to wydaje się być nieco bardziej eleganckie w tym aspekcie.
pm-suspend
to i wydawało się, że już prawie tam jestem. Jednak dowiedziałem się, że nie mogę po prostu zawiesić systemu (echo -n "mem" > /sys/power/state
) po zamrożeniu root fs (cryptsetup luksSuspend ...
), ponieważ wymaga to jeszcze trochę operacji we / wy ...Odpowiedzi:
Natknąłem się na ten sam problem, więc spróbowałem przenieść ten sam skrypt, co można zobaczyć tutaj . Po tym nie dotyka żadnej nieulotnej pamięci
luksSuspend
, więc działa nawet z prawdziwym szyfrowaniem całego dysku zaszyfrowanym / bootowanym. Należy jednak zachować ostrożność - od czasu do czasu może nie działać zgodnie z oczekiwaniami!Przeniesiony skrypt wykonuje następujące czynności:
/sys
,/proc
,/dev
,/run
) aby zamontować ramfsluksSuspend
i uśpia komputerluksResume
zamontuj ponownie systemy plików, uruchom ponownie usługi, odmontuj podłączenia mounta w mount initramfsMuszę jeszcze przeprowadzić obszerne testy mojego skryptu, ale wydaje mi się, że działa niezawodnie. Jeśli używasz innego systemu plików (tj. Nie ext4 lub btrfs), możesz napotkać problemy z barierą, więc musisz również zmodyfikować skrypt.
Tak czy inaczej, dobrze jest przetestować i sprawdzić, czy skrypty działają najpierw. Jeśli występują problemy z zawieszaniem się podczas próby wprowadzenia Linuksa do S3 (tj. At
echo mem > /sys/power/state
), powinieneś być w stanie odzyskać:sudo cryptsetup luksResume anything_here
starting version xxx
W nowym vt wyświetla się po, przełącz się na tty, który otworzyłeś wcześniej i uruchom)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
, jeśli to możliwe, zamontować ponownie główny system plików z barierą.źródło
Nie mam doświadczenia z tą konfiguracją, ale wiele osób twierdzi, że odnosi sukcesy. Oto kilka z nich.
dm-crypt z LUKS - Szyfrowanie partycji wymiany
Howto: Całkowicie zaszyfrowany dysk twardy, w tym zawieszenie partycji dysku za pomocą Ubuntu 6.10 Edgy Eft
ubuntu-full-disk-encryption-lvm-luks
Jednak żadne z nich nie używa luksSuspend (co może być powodem, dla którego działają).
źródło
Spędziłem trochę czasu, pracując nad tym w pełni funkcjonalnym na Ubuntu 15.10. Jeśli próbujesz sprawić, by działało to na ext2, ext3 lub ext4, musisz zaktualizować / etc / fstab, aby zamontować wolumin za pomocą opcji „nobarrier”. W przeciwnym razie sugeruję użycie BTRFS.
Po przygotowaniu systemu plików użyj skryptu tutaj: https://github.com/Microcentillion/ubuntu-lukssuspend
źródło