Konfiguracja zaszyfrowanego woluminu danych w systemie SUSE Linux Enterprise Server jest łatwiejsza, gdy podzielisz zadanie na dwie warstwy. LUKS, czyli Linux Unified Key Setup, chroni urządzenie blokowe, takie jak dysk lub partycja. Po odblokowaniu tego urządzenia, Linux udostępnia normalne urządzenie mapowane pod /dev/mapper/, gdzie można utworzyć system plików i zamontować go jak każdą inną pamięć masową.
W tym przewodniku użyto dedykowanego dysku dodatkowego, /dev/sdb, jako przykładu. Zamontowany wolumin pojawi się pod nazwą /data/secure, a odblokowane mapowanie będzie miało nazwę securedata. Zastąp te nazwy wartościami na swoim serwerze.
Uwaga dotycząca wersji: poniższy przepływ pracy z wiersza poleceń jest odpowiedni dla obecnych wersji systemu SUSE Linux Enterprise Server, w tym cryptsetup. Dokumentacja systemu SUSE Linux Enterprise Server 16.0 opublikowana w 2026 roku uwzględnia obsługę szyfrowanej pamięci masowej w programie Cockpit, natomiast przewodnik SLES 15 SP7 Security and Hardening Guide opisuje szyfrowane partycje oparte na LUKS w programie YaST. W tym przypadku zastosowano interfejs wiersza poleceń, ponieważ każda warstwa pamięci masowej jest widoczna i łatwiej jest rozwiązywać problemy. Dokumentację dostawcy można znaleźć w dokumentacji systemu SUSE Linux Enterprise Server 16.0 oraz przewodniku szyfrowania systemu SLES 15 SP7 .
Co robi LUKS, a czego nie robi
LUKS to standardowy format Linuksa na dysku dla szyfrowanych urządzeń blokowych. Przechowuje metadane szyfrowania w nagłówku LUKS i pozwala jednemu zaszyfrowanemu woluminowi posiadać wiele danych uwierzytelniających. Obecnie cryptsetupstandardowo tworzy LUKS2, chyba że użytkownik wyraźnie zażąda innego formatu.
Szyfrowanie chroni dane w stanie spoczynku. Jeśli ktoś ukradnie wyłączony dysk, nie powinien być w stanie odczytać zaszyfrowanego ładunku bez prawidłowego klucza lub hasła. Jednak po odblokowaniu i zamontowaniu woluminu dostęp do niego jest kontrolowany przez standardowe uprawnienia systemu Linux. LUKS nie chroni plików przed procesem, który ma już prawo dostępu do zamontowanego systemu plików.
Zanim zaczniesz
Przed uruchomieniem poleceń niszczenia pamięci masowej należy przygotować następujące elementy:
- Dedykowany, pusty dysk lub partycja. W tym przewodniku użyto
/dev/sdb.
- Dostęp do konta root poprzez
sudopowłokę roota.
- Narzędzie
cryptsetup. Sprawdź za pomocą cryptsetup --version. Jeśli nie jest zainstalowane, zainstaluj pakiet za pomocą standardowego procesu zarządzania oprogramowaniem SUSE.
- Silne hasło, które można odzyskać w ramach zatwierdzonego przez organizację procesu uwierzytelniania.
- Aktualna kopia zapasowa wszystkiego, co ważne na urządzeniu docelowym.
Krytyczne ostrzeżenie: cryptsetup luksFormat zapisuje nowy nagłówek LUKS i uniemożliwia dostęp do istniejących danych na urządzeniu docelowym. SUSE ostrzega również, że konwersja istniejącej partycji na zaszyfrowaną pamięć masową w działającym systemie powoduje zniszczenie danych na tej partycji. Nie należy kontynuować, dopóki nie zostanie poprawnie zidentyfikowane urządzenie docelowe.
Krok 1: Zidentyfikuj właściwy dysk
Zacznij od wypisania urządzeń blokowych:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTS
lsblk -f
Sprawdź rozmiar, nazwę urządzenia, istniejący system plików i punkty montowania. W tym przykładzie /dev/sdbjest to oddzielny dysk 20 GB bez zamontowanego systemu plików. Twój serwer może zamiast tego używać partycji, takiej jak /dev/sdb1, nazwy NVMe, takiej jak /dev/nvme1n1p1, lub dysku wirtualnego, takiego jak /dev/vdb.
Podpis: Przed uruchomieniem jakiegokolwiek polecenia formatowania LUKS sprawdź nazwę, rozmiar i stan zamontowania urządzenia docelowego.
Nie identyfikuj dysku wyłącznie na podstawie litery. Nazwy urządzeń mogą ulec zmianie po zmianach konfiguracji sprzętu lub maszyny wirtualnej. Przed wykonaniem poleceń destrukcyjnych porównaj je lsblkz inwentarzem pamięci masowej, ustawieniami hiperwizora lub informacjami o prezentacji SAN.
Krok 2: Zainicjuj urządzenie za pomocą LUKS
Utwórz zaszyfrowany kontener:
sudo cryptsetup luksFormat /dev/sdb
luksFormatInicjuje metadane LUKS i wyświetla monit o potwierdzenie oraz hasło. Aktualna konfiguracja kryptograficzna to LUKS2. Wynik można później sprawdzić za pomocą:
sudo cryptsetup luksDump /dev/sdb
Podpis: Krok formatowania LUKS jest destrukcyjny, dlatego cryptsetup prosi o wyraźne potwierdzenie przed utworzeniem zaszyfrowanego kontenera.
Unikaj dodawania opcji szyfru, rozmiaru klucza lub PBKDF tylko dlatego, że widziałeś je w starszym samouczku. Cryptsetup i SUSE oferują nowoczesne ustawienia domyślne, a ich zmiana bez udokumentowanego wymagania może zmniejszyć kompatybilność lub utrudnić odzyskiwanie.
Krok 3: Otwórz zaszyfrowane urządzenie
Kontenera LUKS nie można sformatować w normalnym systemie plików, dopóki nie zostanie odblokowany. Otwórz go i utwórz mapowanie urządzeń o nazwie securedata:
sudo cryptsetup open /dev/sdb securedata
Po wprowadzeniu hasła odszyfrowane mapowanie wygląda następująco:
/dev/mapper/securedata
Możesz to potwierdzić za pomocą:
sudo cryptsetup status securedata
lsblk -f
Podpis: Odblokowanie kontenera LUKS powoduje utworzenie mapowanego urządzenia blokowego o securedatanazwie /dev/mapper.
Krok 4: Utwórz system plików na odblokowanym mapowaniu
Warstwa LUKS szyfruje bloki; sama w sobie nie zapewnia katalogów ani plików. Utwórz system plików na zmapowanym urządzeniu, a nie na surowym zaszyfrowanym dysku. W tym przykładzie użyto ext4:
sudo mkfs.ext4 /dev/mapper/securedata
Jeśli Twój standard pamięci masowej wymaga XFS lub innego obsługiwanego systemu plików, użyj go. Ważna zasada jest taka, że system plików należy do /dev/mapper/securedata, a jednocześnie /dev/sdbpozostaje zaszyfrowanym kontenerem LUKS.
Podpis: Utwórz normalny system plików Linux wewnątrz odblokowanego mapowania, a nie bezpośrednio na zaszyfrowanym dysku zapasowym.
Krok 5: Utwórz punkt montowania i przetestuj wolumin
Utwórz katalog i zamontuj nowy system plików:
sudo mkdir -p /data/secure
sudo mount /dev/mapper/securedata /data/secure
df -h /data/secure
W tym momencie wolumin jest gotowy do użycia. Utwórz mały plik testowy, jeśli jest odpowiedni dla Twojego środowiska, odczytaj go ponownie, a następnie usuń. W ten sposób zweryfikujesz pełną ścieżkę od odblokowania LUKS, przez system plików, do zamontowanego katalogu.
Podpis: Pomyślne przeprowadzenie testu montowania potwierdza, że odszyfrowane mapowanie i jego system plików są użyteczne przed skonfigurowaniem zachowania podczas rozruchu.
Krok 6: Rejestrowanie stabilnych identyfikatorów UUID
W przypadku trwałej konfiguracji preferuj stabilne identyfikatory zamiast zakładać, że dysk zawsze będzie się nazywał /dev/sdb. Wyświetl zarówno identyfikator UUID LUKS, jak i identyfikator UUID systemu plików:
sudo blkid /dev/sdb
sudo blkid /dev/mapper/securedata
Urządzenie surowe powinno zgłaszać typ, taki jak crypto_LUKS. Urządzenie mapowane powinno zgłaszać typ systemu plików i swój własny identyfikator UUID. Należy zachować te dwa identyfikatory UUID: identyfikator UUID LUKS identyfikuje zaszyfrowany kontener, a identyfikator UUID systemu plików identyfikuje system plików w nim zawarty.
Podpis: Zaszyfrowany kontener i znajdujący się w nim system plików mają oddzielne identyfikatory, które służą różnym celom konfiguracyjnym.
Krok 7: Skonfiguruj odblokowywanie i montowanie podczas rozruchu
W systemach Linux opartych na systemd /etc/crypttabopisuje zaszyfrowane urządzenia blokowe, które powinny zostać otwarte podczas rozruchu. Podstawowy wpis wymagający podania hasła zawiera cztery pola: nazwę mapowania, zaszyfrowane urządzenie, plik klucza i opcje.
Przykładowy wpis wykorzystujący identyfikator UUID LUKS z poprzedniego kroku wygląda następująco:
securedata UUID=<LUKS-UUID> none luks
Następnie dodaj zamontowany system plików do /etc/fstab. Możesz odwołać się do zmapowanego urządzenia lub identyfikatora UUID jego systemu plików. Wskazówki SUSE dotyczące SLES 15 SP7 wskazują, że YaST często używa nazwy urządzenia mappera dla nowo skonfigurowanych punktów montowania LUKS, ponieważ działa ona niezawodnie z generatorami systemd. Prosty wpis to:
/dev/mapper/securedata /data/secure ext4 defaults 0 2
Podpis: crypttabWpis otwiera zaszyfrowany kontener, a jednocześnie fstabmontuje system plików udostępniony przez urządzenie mapper.
Przed ponownym uruchomieniem sprawdź, czy nie wystąpiły proste błędy. Możesz uruchomić:
sudo systemctl daemon-reload
sudo mount -a
mount -apomaga wykryć wiele fstabproblemów, ale nie zastępuje testowania faktycznej sekwencji odblokowywania podczas rozruchu.
Krok 8: Uruchom ponownie i sprawdź rzeczywistą ścieżkę rozruchową
W przypadku zwykłego dodatkowego woluminu danych edycja /etc/crypttabi /etc/fstabjest zazwyczaj kluczową, trwałą konfiguracją. Zrestartuj serwer i sprawdź, czy pojawi się oczekiwany monit o podanie hasła, otworzy się mapowanie LUKS, a system plików zostanie zamontowany:
sudo reboot
lsblk -f
sudo cryptsetup status securedata
findmnt /data/secure
Jeśli zaszyfrowane urządzenie jest potrzebne na wczesnym etapie initramfs — na przykład dlatego, że zawiera pamięć masową wymaganą przed pełnym udostępnieniem normalnego systemu plików głównych — projekt może również wymagać ponownego wygenerowania initramfs za pomocą dracut. Nie dodawaj mechanicznej rekonstrukcji initramfs do każdej konfiguracji woluminu danych; konieczność jej dodania zależy od momentu, w którym urządzenie musi być dostępne podczas rozruchu.
Podpis: Ponowne utworzenie initramfs za pomocą dracutjest istotne w przypadku szyfrowanego magazynu danych używanego na wczesnym etapie rozruchu; normalny dodatkowy wolumin danych może wymagać jedynie crypttab, fstab, i testu ponownego uruchomienia.
Utwórz kopię zapasową nagłówka LUKS
Nagłówek LUKS zawiera krytyczne metadane i informacje o slocie kluczy. Po uruchomieniu woluminu rozważ utworzenie kopii zapasowej nagłówka offline:
sudo cryptsetup luksHeaderBackup /dev/sdb --header-backup-file /root/securedata-luks-header.img
Następnie przenieś kopię zapasową do chronionej lokalizacji, innej niż zaszyfrowany dysk. Traktuj kopię zapasową jako poufną: kopia nagłówka i hasło, które było ważne w momencie jej tworzenia, mogą wystarczyć do odszyfrowania obszaru danych. Projekt cryptsetup dokumentuje to zachowanie w oficjalnym FAQ cryptsetup .
Typowe błędy początkujących, których należy unikać
| Błąd | Dlaczego to ważne | Bezpieczniejsze podejście |
Uruchamianie luksFormatna niewłaściwym dysku | Istniejące dane staną się niedostępne. | Najpierw sprawdź nazwę urządzenia, jego rozmiar, punkty montowania i stan magazynu pamięci masowej. |
Formatowanie /dev/sdbza pomocą ext4 po utworzeniu LUKS | Powoduje to nadpisanie warstwy LUKS zamiast utworzenia w niej systemu plików. | Uciekaj .mkfs/dev/mapper/securedata |
| Zapomnienie hasła | System LUKS został zaprojektowany w taki sposób, aby nie można było po prostu odzyskać danych bez zarejestrowanego klucza. | Skorzystaj z zatwierdzonego przez Twoją organizację procesu odzyskiwania poufnych informacji i utrzymuj sprawdzony materiał do odzyskiwania. |
| Zakładając, że szyfrowanie zastępuje uprawnienia Linuksa | Zamontowane dane są dostępne dla procesów posiadających odpowiednie uprawnienia systemu operacyjnego. | Zachowaj odpowiednie zasady dotyczące własności, uprawnień, polityki SELinux/AppArmor i kontroli aplikacji. |
| Korzystanie z niestabilnych nazw urządzeń w konfiguracji rozruchowej | Litery dysków mogą ulegać zmianie. | W stosownych przypadkach należy używać identyfikatorów UUID lub nazw stabilnych mapperów. |
| Pominięcie testu ponownego uruchomienia | Ręczne montowanie może zadziałać nawet jeśli konfiguracja podczas rozruchu jest nieprawidłowa. | Przetestuj faktyczną sekwencję ponownego uruchamiania podczas okna konserwacyjnego. |
YaST i Cockpit to ważne alternatywy
Jeśli preferujesz graficzny przepływ pracy, SUSE udostępnia obsługiwane interfejsy zarządzania. Przewodnik SLES 15 SP7 Security and Hardening Guide opisuje szyfrowane partycje w narzędziu Expert Partitioner programu YaST. Dokumentacja systemu SUSE Linux Enterprise Server 16.0 opisuje również konfigurację szyfrowanych partycji w Cockpit, w tym hasło i opcje szyfrowania. Skorzystaj z dokumentacji SLES 15 SP7 Expert Partitioner lub podręcznika administratora SLES 16.0 Cockpit, jeśli Twój standard operacyjny preferuje te narzędzia.
Ostateczna kontrola
Pomyślna konfiguracja powinna przetrwać więcej niż jedno polecenie. Powinieneś móc ponownie uruchomić komputer, odblokować wolumin za pomocą zamierzonej metody, potwierdzić securedataaktywność mapowania, sprawdzić, czy wolumin /data/securejest zamontowany i odczytać oczekiwane pliki. Powinieneś również wiedzieć, gdzie przechowywane są dane procesu odzyskiwania hasła i kopia zapasowa nagłówka LUKS.
To przydatny model mentalny, który warto zachować: dysk fizyczny zawiera kontener LUKS; jego odblokowanie tworzy urządzenie maperujące; urządzenie maperujące zawiera system plików; a system plików jest montowany w katalogu. Po wyjaśnieniu tych warstw, większość rozwiązywania problemów z LUKS staje się znacznie prostsza.