如何在 SUSE 企業伺服器上使用 LUKS 設定加密磁碟區

在 SUSE Linux Enterprise Server 上設定加密資料磁碟區時,如果將操作分成兩層,會更容易。 LUKS(Linux 統一金鑰設定)用於保護區塊設備,例如磁碟或分割區。解鎖該設備後,Linux 會將其映射為普通的設備/dev/mapper/,您可以在其中建立檔案系統並像掛載其他儲存設備一樣掛載它。

本指南以專用輔助磁碟/dev/sdb為例。掛載的磁碟區將顯示在 `/etc /data/secure/share securedata...

版本說明:以下命令列工作流程適用於目前包含加密儲存支援的 SUSE Linux Enterprise Server 版本cryptsetup。 2026 年發布的 SUSE Linux Enterprise Server 16.0 文件在 Cockpit 中包含了加密存儲支持,而 SLES 15 SP7 安全和強化指南則介紹了 YaST 中基於 LUKS 的加密分區。此處使用命令列方式是因為它能夠清晰地顯示每個儲存層,以便於故障排除。有關廠商文檔,請參閱SUSE Linux Enterprise Server 16.0 文件和SLES 15 SP7 加密指南。

LUKS 的功能——以及它不具備的功能

LUKS 是 Linux 磁碟上用於加密區塊裝置的標準格式。它將加密元資料儲存在 LUKS 頭部,並允許一個加密磁碟區擁有多個解鎖憑證。cryptsetup除非您明確指定其他格式,否則 Current 通常會建立 LUKS2 格式。

加密可以保護靜態資料。如果有人偷走了已斷電的磁碟,他們應該無法在沒有有效密鑰或口令的情況下讀取加密資料。但是,一旦磁碟區被解鎖並掛載,普通的 Linux 權限就會控制存取權限。 LUKS 無法保護檔案免受已合法存取已掛載檔案系統的程序的存取。

開始之前

在執行破壞性儲存命令前,請準備以下物品:

  • 一個專用的空磁碟或分割區。本指南使用/dev/sdb.
  • 透過 root 權限sudo或 root shell 取得 root 權限。
  • 該cryptsetup實用程式。請檢查cryptsetup --version。如果未安裝,請透過正常的 SUSE 軟體管理流程安裝該軟體包。
  • 一個可以透過貴組織認可的憑證流程恢復的強密碼短語。
  • 目標設備上所有重要資料的最新備份。

嚴重警告: cryptsetup luksFormat此操作會寫入新的 LUKS 標頭,導致目標裝置上的現有資料無法存取。 SUSE 還警告說,在運行的系統上將現有分區轉換為加密儲存會破壞該分區上的資料。在確認目標設備之前,請勿繼續操作。

步驟 1:識別正確的磁碟

首先列出區塊設備:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTS
lsblk -f

檢查磁碟大小、裝置名稱、現有檔案系統和掛載點。在本例中,`<disk_name>`/dev/sdb是一個獨立的 20 GB 磁碟,沒有掛載任何檔案系統。您的伺服器可能使用分割區(例如 `<disk_name>`)/dev/sdb1、NVMe 名稱(例如 `<NVMe_name>`)/dev/nvme1n1p1或虛擬磁碟(例如 `<VirtualDisk_name>`)/dev/vdb。

SUSE Linux 終端機顯示 lsblk 輸出,其中已選擇單獨的 /dev/sdb 磁碟作為加密目標。

說明:在執行任何 LUKS 格式化指令之前,請透過名稱、大小和掛載狀態驗證目標裝置。

不要僅憑磁碟盤符來識別磁碟。設備名稱可能會在硬體或虛擬機器配置變更後變更。執行破壞性指令之前,請先lsblk與儲存清單、虛擬機器管理程式設定或 SAN 識別資訊進行比對。

步驟 2:使用 LUKS 初始化設備

建立加密容器:

sudo cryptsetup luksFormat /dev/sdb

luksFormat初始化 LUKS 元數據,並提示使用者確認和輸入密碼。目前加密設定預設為 LUKS2。之後您可以使用以下命令查看結果:

sudo cryptsetup luksDump /dev/sdb
SUSE Linux 終端機正在對 /dev/sdb 執行 cryptsetup luksFormat 指令,並提示使用者確認並輸入密碼。

說明:LUKS 格式化步驟具有破壞性,因此 cryptsetup 在建立加密容器之前會要求明確確認。

不要僅僅因為在舊教程中看到就隨意添加密碼套件、密鑰長度或基於參數的密鑰生成函數 (PBKDF) 選項。 Cryptsetup 和 SUSE 提供了最新的預設設置,在沒有文件說明的情況下更改這些設定可能會降低相容性或增加恢復難度。

步驟 3:開啟加密設備

LUKS 容器必須先解鎖才能使用普通檔案系統進行格式化。打開它並建立一個名為“device-mapper mapping”的裝置映射securedata:

sudo cryptsetup open /dev/sdb securedata

輸入密碼後,解密後的對應顯示如下:

/dev/mapper/securedata

您可以透過以下方式確認:

sudo cryptsetup status securedata
lsblk -f
使用 SUSE Linux 終端機開啟 LUKS 設備,並執行 cryptsetup 指令,在 /dev/mapper 下顯示 securedata 資料。

標題:解鎖 LUKS 容器會建立一個名為 的映射區塊securedata裝置/dev/mapper。

步驟 4:在已解鎖的映射上建立檔案系統

LUKS 層加密資料塊;它本身不提供目錄或檔案。檔案系統應建立在映射設備上,而不是原始加密磁碟上。本範例使用 ext4 檔案系統:

sudo mkfs.ext4 /dev/mapper/securedata

如果您的儲存標準要求使用 XFS 或其他支援的檔案系統,請使用該檔案系統。重要的原則是,檔案系統必須位於 `<path>` /dev/mapper/securedata,而/dev/sdb`<path>` 仍然是加密的 LUKS 容器。

SUSE Linux 終端機正在 /dev/mapper/securedata 上建立 ext4 檔案系統

說明:在未鎖定的映射內部建立正常的 Linux 檔案系統,而不是直接在加密的後端磁碟上建立。

步驟 5:建立掛載點並測試卷

建立目錄並掛載新的檔案系統:

sudo mkdir -p /data/secure
sudo mount /dev/mapper/securedata /data/secure
df -h /data/secure

此時卷已可使用。如果您的環境允許,請建立一個小型測試文件,讀取該文件,然後將其刪除。這將驗證從 LUKS 解鎖到檔案系統再到已掛載目錄的完整路徑。

在 SUSE Linux 終端機中,使用 df 指令將 /dev/mapper/securedata 掛載到 /data/secure 目錄並進行驗證。

標題:成功的測試掛載確認解密後的對應及其檔案系統在配置啟動時行為之前可用。

步驟 6:記錄穩定 UUID

對於持久性配置,建議使用穩定的標識符,而不是假設磁碟始終會被呼叫/dev/sdb。同時顯示 LUKS UUID 和檔案系統 UUID:

sudo blkid /dev/sdb
sudo blkid /dev/mapper/securedata

原始設備應報告類型,例如crypto_LUKS。映射設備應報告檔案系統類型及其自身的 UUID。請務必區分這兩個 UUID:LUKS UUID 用於識別加密容器,而檔案系統 UUID 用於識別容器內的檔案系統。

使用 blkid 在 SUSE Linux 終端機中顯示加密對映內的 LUKS UUID 和檔案系統 UUID

圖註:加密容器及其內部的檔案系統具有不同的標識符,用於不同的配置目的。

步驟 7:設定啟動時的解鎖和掛載

在基於 systemd 的 Linux 系統中,/etc/crypttab它描述了啟動時應開啟的加密區塊裝置。一個基本的密碼提示條目包含四個欄位:映射名稱、加密設備、金鑰檔案和選項。

使用上一步得到的 LUKS UUID,範例條目如下:

securedata UUID=<LUKS-UUID> none luks

然後將掛載的檔案系統加入到配置中/etc/fstab。您可以引用映射設備或其檔案系統 UUID。 SUSE 的 SLES 15 SP7 指南指出,YaST 通常使用映射器裝置名稱來配置新掛載點,因為它與 systemd 產生器相容性良好。一個簡單的配置範例是:

/dev/mapper/securedata /data/secure ext4 defaults 0 2
SUSE Linux 設定範例,展示了 /etc/crypttab 中的 LUKS 條目和 /etc/fstab 中對應的掛載條目。

標題:此條crypttab目開啟加密容器,而該fstab條目掛載透過映射器裝置暴露的檔案系統。

重啟前,請檢查是否有簡單的錯誤。您可以執行以下命令:

sudo systemctl daemon-reload
sudo mount -a

mount -a有助於發現許多fstab問題,但不能取代實際啟動時解鎖序列的測試。

步驟 8:重新啟動並驗證真正的啟動路徑

對於普通的輔助資料卷,編輯/etc/crypttab通常/etc/fstab是關鍵的持久配置。重新啟動伺服器並驗證是否收到預期的密碼提示,LUKS 映射是否打開,以及檔案系統是否已掛載:

sudo reboot

lsblk -f
sudo cryptsetup status securedata
findmnt /data/secure

如果在 initramfs 的早期階段需要使用加密裝置(例如,因為它包含在正常根檔案系統完全可用之前所需的儲存空間),則您的設計可能還需要使用 `initramfs regenerated` 命令重新產生 initramfs dracut。不要機械地為每個資料卷設定添加 initramfs 重建;是否需要重建取決於設備在啟動期間何時可用。

SUSE Linux 終端機顯示 dracut 正在重建 initramfs,然後重新啟動。當加密裝置必須在啟動初期可用時,此操作非常重要。

說明:使用 `initramfs` 重建 initramfsdracut適用於早期啟動加密儲存;普通的輔助資料磁碟區可能只需要 `initramfs` crypttab、fstab`initramfs` 和重新啟動測試。

備份 LUKS 標頭

LUKS 頭部包含關鍵元資料和金鑰槽資訊。卷正常工作後,請考慮離線頭部備份:

sudo cryptsetup luksHeaderBackup /dev/sdb   --header-backup-file /root/securedata-luks-header.img

然後將備份檔案移到與加密磁碟分離的受保護位置。務必將備份檔案視為敏感資訊:備份檔案的頭部資訊加上備份時有效的密碼短語足以解密資料區域。 cryptsetup 專案在其官方 FAQ中記錄了這種行為。

避免初學者常犯的錯誤

錯誤為什麼這很重要更安全的方法
luksFormat在錯誤的磁碟上運行現有資料將無法存取。首先確認設備名稱、尺寸、安裝點和儲存清單。
/dev/sdb建立 LUKS 後使用 ext4進行格式化這會覆寫 LUKS 層,而不是在其內部建立檔案系統。mkfs繼續運行/dev/mapper/securedata。
忘記密碼LUKS 的設計使得沒有註冊金鑰就無法輕易恢復資料。使用貴組織認可的機密恢復流程,並維護經過測試的恢復材料。
假設加密取代了 Linux 權限掛載的資料可供具有足夠作業系統權限的進程存取。保持所有權、權限、SELinux/AppArmor策略和應用程式控制的適當性。
在啟動配置中使用不穩定的設備名稱磁碟盤符可能會改變。請在適當情況下使用 UUID 或穩定的映射器名稱。
跳過重啟測試即使啟動時配置錯誤,手動掛載也能正常運作。在維護視窗期內測試實際重新啟動順序。

YaST 和 Cockpit 都是有效的替代方案

如果您偏好圖形化工作流程,SUSE 提供了受支援的管理介面。 《SLES 15 SP7 安全與強化指南》詳細介紹了 YaST Expert Partitioner 中的加密分割區配置。 SUSE Linux Enterprise Server 16.0 文件也描述了 Cockpit 中的加密分割區配置,包括密碼短語和加密選項。如果您習慣使用SLES 15 SP7 Expert Partitioner 文件或SLES 16.0 Cockpit 管理指南,請使用這些工具。

最終檢查

成功的設定應該能夠經得起多次命令的執行。您應該能夠重新啟動系統,透過預期的方法解鎖卷,確認securedata映射已激活,驗證卷/data/secure已掛載,並讀取預期的文件。您還應該知道密碼復原程序和 LUKS 標頭備份的儲存位置。

這是一個很有用的思維模型:實體磁碟包含一個 LUKS 容器;解鎖該容器會建立一個映射設備;映射設備包含檔案系統;檔案系統掛載到一個目錄中。一旦理清了這些層次結構,大多數 LUKS 故障排除就會變得簡單得多。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。