如何自動解鎖Linux上的加密磁碟
導讀 | 透過使用網路繫結磁碟加密(NBDE),無需手動輸入密碼即可開啟加密磁碟。 |
透過使用網路繫結磁碟加密(NBDE),無需手動輸入密碼即可開啟加密磁碟。
從安全的角度來看,對敏感資料進行加密以保護其免受窺探和駭客的攻擊是很重要的。 統一金鑰設定Linux Unified Key Setup(LUKS)是一個很好的工具,也是 Linux 磁碟加密的通用標準。因為它將所有相關的設定資訊儲存在分割槽頭部中,所以它使資料遷移變得簡單。
要使用 LUKS 配置加密磁碟或分割槽,你需要使用 cryptsetup 工具。不幸的是,加密磁碟的一個缺點是,每次系統重啟或磁碟重新掛載時,你都必須手動提供密碼。
然而,網路繫結磁碟加密Network-Bound Disk Encryption(NBDE) 可以在沒有任何使用者干預的情況下自動安全地解鎖加密磁碟。它可以在一些 Linux 發行版中使用,包括從 Red Hat Enterprise Linux 7.4、 7.4 和 Fedora 24 開始,以及之後的後續版本。
NBDE 採用以下技術實現:
- 框架:一個可插拔的框架工具,可自動解密和解鎖 LUKS 卷
- Tang 伺服器:用於將加密金鑰繫結到網路狀態的服務
Tang 向 Clevis 客戶端提供加密金鑰。據 Tang 的開發人員介紹,這為金鑰託管服務提供了一個安全、無狀態、匿名的替代方案。
由於 NBDE 使用客戶端-伺服器架構,你必須同時配置客戶端和伺服器。你可以在你的本地網路上使用一個虛擬機器作為 Tang 伺服器。
用 sudo 安裝 Tang:
sudo yum install tang -y
啟用 Tang 伺服器:
sudo systemctl enable tangd.socket --now
Tang 伺服器工作在 80 埠,需加入到 firewalld 防火牆。新增相應的 firewalld 規則:
sudo firewall-cmd --add-port=tcp/80 --perm sudo firewall-cmd --reload
現在安裝好了伺服器。
在本例中,假設你已經新增了一個名為 /dev/vdc 的新的 1GB 磁碟到你的系統中。
使用 fdisk 或 parted 建立主分割槽:
sudo fdisk /dev/vdc
完成以下步驟來安裝客戶端:
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x4a6812d4. Command (m for help):
輸入 n 來建立新的分割槽:
Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p):
按下Enter鍵選擇主分割槽:
Using default response p Partition number (1-4, default 1):
按下Enter鍵選擇預設分割槽號:
First sector (2048-2097151, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
按Enter鍵選擇最後一個扇區:
Using default value 2097151 Partition 1 of type Linux and of size 1023 MiB is set Command (m for help): wq
輸入 wq 儲存更改並退出 fdisk:
The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
執行 partprobe 通知系統分割槽表的變化:
sudo partprobe
使用 sudo 安裝 cryptsetup 軟體包:
sudo yum install cryptsetup -y
使用 cryptsetup luksFormat 對磁碟進行加密。當提示時,你需要輸入大寫的 YES,並輸入密碼來加密磁碟:
sudo cryptsetup luksFormat /dev/vdc1 WARNING! ======== This will overwrite data on /dev/vdc1 irrevocably. Are you sure? (Type uppercase yes): Enter passphrase for /dev/vdc1: Verify passphrase:
使用 cryptsetup luksOpen 將加密的分割槽對映到一個邏輯裝置上。例如,使用 encryptedvdc1 作為名稱。你還需要再次輸入密碼:
sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1 Enter passphrase for /dev/vdc1:
加密分割槽現在在 /dev/mapper/encryptedvdc1 中可用。
在加密的分割槽上建立一個 XFS 檔案系統:
sudo mkfs.xfs /dev/mapper/encryptedvdc1
建立一個掛載加密分割槽的目錄:
sudo mkdir /encrypted
使用 cryptsetup luksClose 命令鎖定分割槽:
cryptsetup luksClose encryptedvdc1
使用 sudo 安裝 Clevis 軟體包:
sudo yum install clevis clevis-luks clevis-dracut -y
修改 /etc/crypttab,在啟動時開啟加密卷:
sudo vim /etc/crypttab
增加以下一行:
encryptedvdc1 /dev/vdc1 none _netdev
修改 /etc/fstab,在重啟時或啟動時自動掛載加密卷:
sudo vim /etc/fstab
增加以下一行:
/dev/mapper/encryptedvdc1 /encrypted xfs _netdev 1 2
在這個例子中,假設 Tang 伺服器的 IP 地址是 192.168.1.20。如果你喜歡,也可以使用主機名或域名。
執行以下 clevis 命令:
sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}' The advertisement contains the following signing keys: rwA2BAITfYLuyNiIeYUMBzkhk7M Do you wish to trust these keys? [ynYN] Y Enter existing LUKS password:
輸入 Y 接受 Tang 伺服器的金鑰,並提供現有的 LUKS 密碼進行初始設定。
透過 systemctl 啟用 clevis-luks-askpass.path,以防止非根分割槽被提示輸入密碼。
sudo systemctl enable clevis-luks-askpass.path
客戶端已經安裝完畢。現在,每當你重啟伺服器時,加密後的磁碟應該會自動解密,並透過 Tang 伺服器取回金鑰進行掛載。
如果 Tang 伺服器因為任何原因不可用,你需要手動提供密碼,才能解密和掛載分割槽。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2739751/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux磁碟加密Linux加密
- 重灌windows10系統後BitLocker加密磁碟無法解鎖如何解決Windows加密
- Mac|技巧:教你在Mac電腦上啟動自動解鎖?Mac
- Linux下磁碟加密——luksLinux加密
- 圖解如何在Linux上配置git自動登入驗證圖解LinuxGit
- Linux磁碟分割槽及自動掛載Linux
- win10如何徹底關掉自動鎖屏 win10解除自動鎖屏的方式Win10
- Linux(centos)手動掛載系統磁碟和自動掛載系統磁碟教程LinuxCentOS
- win10怎麼把磁碟鎖了 win10如何鎖定磁碟Win10
- 聖天諾LDK加密鎖(加密狗)如何保護Linux系統下的軟體加密Linux
- Unix/Linux 系統自動化管理: 磁碟管理篇Linux
- win10如何設定自動鎖定螢幕_win10設定自動鎖屏的步驟Win10
- linux下如何自動啟動db!Linux
- bitlocker自動解鎖失效win10怎麼解決 win10系統bitlocker無法自動解鎖處理方法Win10
- Linux - 如何取消系統一段時間後的磁碟自檢Linux
- win10自動鎖定如何設定_win10系統怎麼設定自動鎖屏Win10
- iPhone或將根據地點自動解鎖iPhone
- 磁碟組不能自動掛載
- MySQL 的共享鎖和排它鎖以及自動提交MySql
- 如何在 Linux 上用密碼加密和解密檔案Linux密碼加密解密
- ◆linux分割槽的加密與自動解密◆——Super孟再創輝煌Linux加密解密
- linux 賬戶鎖與解鎖Linux
- ASM磁碟組不能自動掛載ASM
- 如何給網頁上的圖片加密網頁加密
- 如何在蘋果電腦上快速設定預設啟動磁碟?蘋果
- win10老是自動鎖屏怎麼取消 取消win10自動鎖屏的方法Win10
- linux磁碟分割槽講解Linux
- 在Linux中,如何管理服務的自啟動?Linux
- 如何監測 Linux 的磁碟 I/O 效能Linux
- 如何使用wipefs命令擦除磁碟上的簽名
- linux的“自動化”Linux
- 如何自動喚醒和關閉 LinuxLinux
- 在Linux上配置Resin 80埠自啟動(轉)Linux
- win10怎麼給磁碟加密 win10設定磁碟密碼如何操作Win10加密密碼
- linux expect詳解(ssh自動登入)Linux
- Linux 上分析死鎖的最簡單方法Linux
- 建立定時任務每5分鐘自動解鎖被鎖定使用者
- Dutree – Linux上的命令列磁碟使用情況分析工具Linux命令列