Strona główna
» Jak
»
Szyfruj partycję wymiany systemu Debian 12 nowym kluczem przy każdym uruchomieniu
Szyfruj partycję wymiany systemu Debian 12 nowym kluczem przy każdym uruchomieniu
W Debianie 12 dedykowaną partycję wymiany można zaszyfrować nowym kluczem losowym przy każdym uruchomieniu systemu. Dodaj mapowanie klucza losowego w /etc/crypttab, a następnie wskaż /etc/fstabzmapowane urządzenie; poniższa konfiguracja wykorzystuje istniejącą partycję i nie wymaga ponownej instalacji Debiana.
Ta procedura dotyczy zwykłej wymiany, a nie hibernacji (suspensji na dysk). Ponieważ klucz jest usuwany podczas wyłączania systemu, obrazu hibernacji nie można odszyfrować przy następnym uruchomieniu. Jeśli potrzebujesz hibernacji, użyj zamiast tego projektu z trwałym kluczem i własną konfiguracją wznawiania.
Przed zmianą konfiguracji wymiany
Upewnij się, że masz osobną partycję, której typ systemu plików to swap. Nie używaj partycji głównej, partycji danych ani dysku zawierającego potrzebne Ci pliki. Przykładowe nazwy urządzeń poniżej mają charakter poglądowy: zastąp je wartościami z własnego systemu.
Sprawdź aktywne obszary wymiany i dopasuj je do listy urządzeń blokowych:
Znajdź wiersz, w którym TYPEjest parti FSTYPEjest swap. Zapisz go PARTUUIDi upewnij się, że jest to ta sama partycja, co swapon --show. A PARTUUIDidentyfikuje samą partycję i pozostaje stabilna po ponownym utworzeniu obszaru wymiany. Identyfikator UUID systemu plików wymiany może ulec zmianie, ponieważ zaszyfrowane mapowanie jest inicjowane ponownie podczas uruchamiania.
Wyjście terminala identyfikuje aktywne urządzenie wymiany i odróżnia jego wiersz partycji od systemu plików głównego i systemu plików danych.
Przed edycją wykonaj kopię zapasową /etc/fstab. Jeśli partycja jest używana, wyłącz tylko ten obszar wymiany:
sudo cp -a /etc/fstab "/etc/fstab.before-cryptswap.$(date +%s)"
sudo swapoff /dev/nvme0n1p3
Wymień /dev/nvme0n1p3na zweryfikowane urządzenie. Wyłączenie wymiany spowoduje przeniesienie wszystkich zapisanych tam stron z powrotem do pamięci. Jeśli polecenie się nie powiedzie lub komputer będzie pod dużym obciążeniem pamięci, przerwij w tym miejscu, zamknij zadania wymagające dużej ilości pamięci i spróbuj ponownie, gdy będzie wystarczająca ilość dostępnej pamięci RAM.
Przed zmianą konfiguracji podczas rozruchu należy wyłączyć potwierdzoną partycję wymiany.
Skonfiguruj mapowanie szyfrowane kluczem losowym
Otwórz plik crypttab za pomocą edytora root:
sudoedit /etc/crypttab
Dodaj jeden wiersz, zastępując YOUR-PARTUUIDgo rzeczywistym identyfikatorem partycji. Zachowaj cryptswapspójną nazwę mapowania w następnym kroku.
/etc/crypttabInformuje Debiana, które zaszyfrowane urządzenie blokowe utworzyć podczas uruchamiania. PARTUUID=Źródło wskazuje na partycję surową; /dev/urandomdostarcza nowy klucz; plainwybiera dm-crypt bez trwałego nagłówka LUKS; i swapprosi program pomocniczy crypttab o zainicjowanie zmapowanego urządzenia jako partycji wymiany. Szyfr, rozmiar klucza i skrót są określone jawnie, zgodnie z przykładem crypttab z Debian Bookworm . Mapowanie pojawia się jako /dev/mapper/cryptswap. swapOpcja działa mkswapna tym zmapowanym urządzeniu podczas uruchamiania, więc jego zawartość jest ponownie inicjalizowana przy każdym uruchomieniu. Źródło wskazuje tylko na dedykowaną partycję wymiany, którą zweryfikowałeś; ta opcja jest destrukcyjna, jeśli jest skierowana na partycję przechowującą pliki.
Wpis crypttab używa stabilnego identyfikatora partycji i nowego losowego klucza dla mapowania o nazwie cryptswap.
Teraz otwórz /etc/fstab. Zakomentuj lub usuń starą linię, która włącza partycję wymiany, w tym każdą linię odwołującą się do jej bieżącego identyfikatora UUID wymiany. Zamiast tego dodaj ten wpis:
/dev/mapper/cryptswap none swap sw 0 0
Nie pozostawiaj obu wpisów aktywnych: mogłoby to spowodować włączenie niezaszyfrowanej partycji wraz z zaszyfrowanym mapowaniem. Plik fstabopisuje obszary wymiany włączone podczas uruchamiania, podczas gdy generator cryptsetup systemd w Debianie odczytuje /etc/crypttabi tworzy odpowiednie jednostki. Zapoznaj się z podręcznikiem generatora cryptsetup systemd w Bookworm oraz podręcznikiem fstab w Debianie .
Po udostępnieniu mapowania fstab włącza wymianę przez /dev/mapper/cryptswap zamiast surowej partycji.
Zrestartuj i zweryfikuj zaszyfrowaną wymianę
Zapisz oba pliki i uruchom ponownie, aby Debian mógł utworzyć mapowanie podczas uruchamiania:
sudo reboot
Po ponownym zalogowaniu sprawdź aktywną ścieżkę wymiany i mapowanie dm-crypt:
swapon --show
sudo cryptsetup status cryptswap
Lista swapów powinna zawierać nazwę /dev/mapper/cryptswap, a nie surową partycję. Wyjście statusu cryptsetup powinno pokazywać aktywne mapowanie i oczekiwaną partycję bazową. Ta druga kontrola ma znaczenie: sam wpis swapu swapon --shownie dowodzi, że jest on zaszyfrowany.
Jeśli mapowanie jest niedostępne, sprawdź pisownię w PARTUUIDścieżce lsblki przejrzyj dziennik rozruchu za pomocą sudo journalctl -b -u systemd-cryptsetup@cryptswap.service. Upewnij się, że stary wpis „raw-device” nie jest już aktywny w /etc/fstab. Nie uruchamiaj mkswapbezpośrednio na partycji raw po skonfigurowaniu mapowania.
Dowiedz się, co chroni ta zmiana
Dzięki nowemu kluczowi generowanemu przy każdym uruchomieniu, zawartość zapisana w pamięci wymiany podczas danej sesji jest szyfrowana na urządzeniu blokowym, a klucz poprzedniej sesji nie jest zachowywany po wyłączeniu urządzenia. Jest to przydatne, gdy urządzenie może zostać wyłączone, a jego pamięć masowa zostanie sprawdzona. Nie szyfruje to reszty dysku, nie chroni danych podczas działania Debiana ani nie usuwa automatycznie tekstu jawnego, który mógł pozostać na partycji przed konwersją. Jeśli stara zawartość pamięci wymiany jest poufna, należy potraktować jej czyszczenie jako osobne zadanie specyficzne dla pamięci masowej; formatowanie na poziomie systemu plików nie gwarantuje bezpiecznego usuwania danych, szczególnie w przypadku dysków SSD.
Przewodnik instalacji Debiana Bookworm opisuje szyfrowanie kluczem losowym jako odpowiednie dla partycji wymiany i zaznacza, że uniemożliwia ono przywrócenie obrazu hibernacji po restarcie. Zapoznaj się z sekcją encrypted-volume w przewodniku instalacji Debiana 12. W przypadku urządzenia aktywnego użyj dwóch powyższych poleceń weryfikacyjnych: mapper powinien być aktywny, a jego urządzenie bazowe powinno pasować do wybranej partycji.