使用 SED 硬碟為您的 Ubuntu 作業系統加密
Summary: Dell 的 Ubuntu 作業系統自我加密硬碟加密最佳工作指南。
Instructions
加密 Ubuntu
取自:https://github.com/Drive-Trust-Alliance/sedutil/wiki/Encrypting-your-drive
啟用休眠
-
開啟終端機。
-
輸入下列內容,確認系統是否可休眠:
# sudo systemctl hibernate -
如果運作正常,您可以使用命令依需求休眠,或建立檔案以將休眠選項新增至功能表系統:
創造/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla。在檔案中新增以下內容,然後儲存:[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes -
如果休眠無法運作:
檢查您的交換分割區是否至少與可用的 RAM 一樣大。
已證實具有 btrfs 磁碟分割會使休眠失敗,因此請檢查您是否有使用任何 btrfs 分割區。除了移除或重新格式化此類磁碟分割,您可能需要移除 btrfs 工具套件:# sudo apt purge btrfs-tools
啟用 allow_tpm,讓 sedutil 可以運作
您必須啟用 TPM:
libata.allow_tpm=1
...必須新增至您的 Grub 參數。
在 /etc/default/grub 這意味著應該有一行是這樣說的:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.allow_tpm=1"
接著更新 grub 並重新開機。
# sudo update-grub
加密您的磁碟機
取自:https://github.com/Drive-Trust-Alliance/sedutil/wiki/Encrypting-your-drive
PBA 和救援系統皆使用 us_english 鍵盤。如果您使用其他鍵盤對應,可能會在正常作業系統上設定密碼時發生問題。為確保 PBA 能辨識您的密碼,我們建議您依照此頁面所述,從救援系統設定磁碟機。
準備可開機救援系統
下載 BIOS 或 64 位元 UEFI
機器的救援系統。
* UEFI 支援需要關閉安全開機。
解壓縮救援系統:(Windows 使用者必須使用 7-zip )
gunzip RESCUE32.img.gz
--或--gunzip RESCUE64.img.gz
將救援映像傳輸到 USB 隨身碟。
Linux: dd if=RESCUE32.img of=/dev/sd? (/dev/sd? 為 USB 隨身碟基礎裝置節點,沒有編號)
--或--dd if=RESCUE64.img of=/dev/sd?
Windows:使用 sourceforge 的 Win32DiskImager 將映像寫入 USB 隨身碟。
使用具有救援系統的 USB 隨身碟開機。您會看到登入提示,輸入 root,沒有密碼,因此您會收到 root shell 提示。
下列所有步驟均應在救援系統上執行。
測試 sedutil
輸入命令: sedutil-cli --scan
預期輸出:#sedutil-cli --scan
Scanning for Opal compliant disks
/dev/nvme0 2 Samsung SSD 960 EVO 250GB 2B7QCXE7
/dev/sda 2 Crucial_CT250MX200SSD1 MU04
/dev/sdb 12 Samsung SSD 850 EVO 500GB EMT01B6Q
/dev/sdc 2 ST500LT025-1DH142 0001SDM7
/dev/sdd 12 Samsung SSD 850 EVO 250GB EMT01B6Q
No more disks present ending scan.
確認您的磁碟機在第二欄中有 2 表示支援 OPAL 2。如果其沒有繼續,即有一些情況使 sedutil 無法支援您的磁碟機。如果繼續,您可能會清除所有資料。
測試 PBA
輸入命令 linuxpba 並使用調試密碼短語。如果您沒有使用偵錯的密碼片語,系統就會重新開機。
預期輸出:#linuxpba
DTA LINUX Pre Boot Authorization
Enter pass-phrase to unlock OPAL drives: *****
Scanning....
Drive /dev/nvme0 Samsung SSD 960 EVO 250GB is OPAL NOT LOCKED
Drive /dev/sda Crucial_CT250MX200SSD1 is OPAL NOT LOCKED
Drive /dev/sdb Samsung SSD 850 EVO 500GB is OPAL NOT LOCKED
Drive /dev/sdc ST500LT025-1DH142 is OPAL NOT LOCKED
Drive /dev/sdd Samsung SSD 850 EVO 250GB is OPAL NOT LOCKED
確認您的磁碟機已列在清單中,且 PBA 報告為「is OPAL」。
在後續步驟中發出命令將啟用 OPAL 鎖定。如果您有問題,則必須按照本頁末尾的步驟(恢復資訊 )禁用或刪除 OPAL 鎖定。
下列步驟使用 /dev/sdc 做為裝置,並且 UEFI64-1.15.img.gz 若為 PBA 映像,請替換正確的 /dev/sd? 的磁碟機和系統的正確 PBA 名稱。
啟用鎖定和 PBA
輸入以下命令:(請在此測試使用偵錯密碼,之後會變更)
sedutil-cli --initialsetup debug /dev/sdc
sedutil-cli --enablelockingrange 0 debug /dev/sdc
sedutil-cli --setlockingrange 0 lk debug /dev/sdc
sedutil-cli --setmbrdone off debug /dev/sdc
gunzip /usr/sedutil/UEFI64-n.nn.img.gz <-- 替 n.nn 與版本號。sedutil-cli --loadpbaimage debug /usr/sedutil/UEFI64-n.nn.img /dev/sdc <-- 替 n.nn 與版本號。
預期輸出:
#sedutil-cli --initialsetup debug /dev/sdc
- 14:06:39.709 INFO: takeOwnership complete
- 14:06:41.703 INFO: Locking SP Activate Complete
- 14:06:42.317 INFO: LockingRange0 disabled
- 14:06:42.694 INFO: LockingRange0 set to RW
- 14:06:43.171 INFO: MBRDone set on
- 14:06:43.515 INFO: MBRDone set on
- 14:06:43.904 INFO: MBREnable set on
- 14:06:43.904 INFO: Initial setup of TPer complete on /dev/sdc
#sedutil-cli --enablelockingrange 0 debug /dev/sdc
- 14:07:24.914 INFO: LockingRange0 enabled ReadLocking,WriteLocking
#sedutil-cli --setlockingrange 0 lk debug /dev/sdc
- 14:07:46.728 INFO: LockingRange0 set to LK
#sedutil-cli --setmbrdone off debug /dev/sdc
- 14:08:21.999 INFO: MBRDone set off
#gunzip /usr/sedutil/UEFI64-1.15.img.gz
#sedutil-cli --loadpbaimage debug /usr/sedutil/UEFI64-1.15.img /dev/sdc
- 14:10:55.328 INFO: Writing PBA to /dev/sdc
33554432 of 33554432 100% blk=1500
- 14:14:04.499 INFO: PBA image /usr/sedutil/UEFI64.img written to /dev/sdc
#
再次測試 PBA
輸入 linuxpba 命令,並使用偵錯的密碼片語。
第二次的測試會驗證您的磁碟機是否已確實解除鎖定。
預期輸出:
#linuxpba
DTA LINUX 開機前授權
輸入密碼片語以解鎖 OPAL 磁碟機: *****
Scanning....
Drive /dev/nvme0 Samsung SSD 960 EVO 250GB is OPAL NOT LOCKED
Drive /dev/sda Crucial_CT250MX200SSD1 is OPAL NOT LOCKED
Drive /dev/sdb Samsung SSD 850 EVO 500GB is OPAL NOT LOCKED
Drive /dev/sdc ST500LT025-1DH142 is OPAL Unlocked <--- IMPORTANT!!
Drive /dev/sdd Samsung SSD 850 EVO 250GB is OPAL NOT LOCKED
確認 PBA 已解除鎖定您的磁碟機,應會顯示「is OPAL Unlocked」,如果未解除鎖定,則您必須依照此頁面底部的步驟移除 OPAL 或停用鎖定。
設定真實密碼
SID 和 Admin1 密碼不必相符,但這可讓操作更輕鬆。
sedutil-cli --setsidpassword debug yourrealpassword /dev/sdc
sedutil-cli --setadmin1pwd debug yourrealpassword /dev/sdc
預期輸出:
#sedutil-cli --setsidpassword debug yourrealpassword /dev/sdc
#sedutil-cli --setadmin1pwd debug yourrealpassword /dev/sdc
- 14:20:53.352 INFO: Admin1 password changed
測試密碼,確認您輸入正確的密碼。
sedutil-cli --setmbrdone on yourrealpassword /dev/sdc
預期輸出:
#sedutil-cli --setmbrdone on yourrealpassword /dev/sdc
- 14:22:21.590 INFO: MBRDone set on
您的磁碟機現在使用 OPAL 鎖定。
您現在必須完全關閉系統電源。
這會鎖定磁碟機,以便在您重新啟動系統時,它會啟動 PBA。
復原資訊:
如果啟用鎖定後發生問題,您可以停用鎖定或移除 OPAL,以繼續使用磁碟機而不鎖定。
如果您要停用鎖定和 PBA:
sedutil-cli -–disableLockingRange 0 <password> <drive>
sedutil-cli –-setMBREnable off <password> <drive>
預期輸出:
#sedutil-cli --disablelockingrange 0 debug /dev/sdc
- 14:07:24.914 INFO: LockingRange0 disabled
#sedutil-cli --setmbrenable off debug /dev/sdc
- 14:08:21.999 INFO: MBREnable set off
您可以使用此命令順序,重新啟用鎖定和 PBA。
sedutil-cli -–enableLockingRange 0 <password> <drive>
sedutil-cli –-setMBREnable on <password> <drive>
預期輸出:
#sedutil-cli --enablelockingrange 0 debug /dev/sdc
- 14:07:24.914 INFO: LockingRange0 enabled ReadLocking,WriteLocking
#sedutil-cli --setmbrenable on debug /dev/sdc
- 14:08:21.999 INFO: MBREnable set on
如果您發出以下命令,有些 OPAL 磁碟機有韌體問題會清除所有資料。如需經過測試的磁碟機/韌體配對清單,請參閱移除 Opal 。
若要移除 OPAL,請發出以下命令:
sedutil-cli --revertnoerase <password> <drive>
sedutil-cli --reverttper <password> <drive>
預期輸出:
#sedutil-cli --revertnoerase debug /dev/sdc
- 14:22:47.060 INFO: Revert LockingSP complete
#sedutil-cli --reverttper debug /dev/sdc
- 14:23:13.968 INFO: revertTper completed successfully
#