溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么自動解鎖Linux上的加密磁盤

發(fā)布時(shí)間:2022-01-21 13:39:11 來源:億速云 閱讀:147 作者:柒染 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么自動解鎖Linux上的加密磁盤,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


通過使用網(wǎng)絡(luò)綁定磁盤加密(NBDE),無需手動輸入密碼即可打開加密磁盤。

從安全的角度來看,對敏感數(shù)據(jù)進(jìn)行加密以保護(hù)其免受窺探和黑客的攻擊是很重要的。Linux 統(tǒng)一密鑰設(shè)置Linux Unified Key Setup(LUKS)是一個(gè)很好的工具,也是 Linux 磁盤加密的通用標(biāo)準(zhǔn)。因?yàn)樗鼘⑺邢嚓P(guān)的設(shè)置信息存儲在分區(qū)頭部中,所以它使數(shù)據(jù)遷移變得簡單。

要使用 LUKS 配置加密磁盤或分區(qū),你需要使用 cryptsetup 工具。不幸的是,加密磁盤的一個(gè)缺點(diǎn)是,每次系統(tǒng)重啟或磁盤重新掛載時(shí),你都必須手動提供密碼。

然而,網(wǎng)絡(luò)綁定磁盤加密Network-Bound Disk Encryption(NBDE) 可以在沒有任何用戶干預(yù)的情況下自動安全地解鎖加密磁盤。它可以在一些 Linux 發(fā)行版中使用,包括從 Red Hat Enterprise Linux 7.4、CentOS 7.4 和 Fedora 24 開始,以及之后的后續(xù)版本。

NBDE 采用以下技術(shù)實(shí)現(xiàn):

  1. 框架:一個(gè)可插拔的框架工具,可自動解密和解鎖 LUKS 卷


  2. Tang 服務(wù)器:用于將加密密鑰綁定到網(wǎng)絡(luò)狀態(tài)的服務(wù)

Tang 向 Clevis 客戶端提供加密密鑰。據(jù) Tang 的開發(fā)人員介紹,這為密鑰托管服務(wù)提供了一個(gè)安全、無狀態(tài)、匿名的替代方案。

由于 NBDE 使用客戶端-服務(wù)器架構(gòu),你必須同時(shí)配置客戶端和服務(wù)器。你可以在你的本地網(wǎng)絡(luò)上使用一個(gè)虛擬機(jī)作為 Tang 服務(wù)器。

服務(wù)器安裝

用 sudo 安裝 Tang:

sudo yum install tang -y

啟用 Tang 服務(wù)器:

sudo systemctl enable tangd.socket --now

Tang 服務(wù)器工作在 80 端口,需加入到 firewalld 防火墻。添加相應(yīng)的 firewalld 規(guī)則:

sudo  firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload

現(xiàn)在安裝好了服務(wù)器。

客戶端安裝

在本例中,假設(shè)你已經(jīng)添加了一個(gè)名為 /dev/vdc 的新的 1GB 磁盤到你的系統(tǒng)中。

使用 fdisk 或 parted 創(chuàng)建主分區(qū):

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 來創(chuàng)建新的分區(qū):

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended  
Select (default p):

按下回車鍵選擇主分區(qū):

Using default response p
Partition number (1-4, default 1):

按下回車鍵選擇默認(rèn)分區(qū)號:

First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):

按回車鍵選擇最后一個(gè)扇區(qū):

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.

運(yùn)行 partprobe 通知系統(tǒng)分區(qū)表的變化:

sudo partprobe

使用 sudo 安裝 cryptsetup 軟件包:

sudo yum install cryptsetup -y

使用 cryptsetup luksFormat 命令對磁盤進(jìn)行加密。當(dāng)提示時(shí),你需要輸入大寫的 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 命令將加密的分區(qū)映射到一個(gè)邏輯設(shè)備上。例如,使用 encryptedvdc1 作為名稱。你還需要再次輸入密碼:

sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:

加密分區(qū)現(xiàn)在在 /dev/mapper/encryptedvdc1 中可用。

在加密的分區(qū)上創(chuàng)建一個(gè) XFS 文件系統(tǒng):

sudo mkfs.xfs /dev/mapper/encryptedvdc1

創(chuàng)建一個(gè)掛載加密分區(qū)的目錄:

sudo mkdir /encrypted

使用 cryptsetup luksClose 命令鎖定分區(qū):

cryptsetup luksClose encryptedvdc1

使用 sudo 安裝 Clevis 軟件包:

sudo yum install clevis clevis-luks clevis-dracut -y

修改 /etc/crypttab,在啟動時(shí)打開加密卷:

sudo vim /etc/crypttab

增加以下一行:

encryptedvdc1       /dev/vdc1  none   _netdev

修改 /etc/fstab,在重啟時(shí)或啟動時(shí)自動掛載加密卷:

sudo vim /etc/fstab

增加以下一行:

/dev/mapper/encryptedvdc1   /encrypted       xfs    _netdev        1 2

在這個(gè)例子中,假設(shè) Tang 服務(wù)器的 IP 地址是 192.168.1.20。如果你喜歡,也可以使用主機(jī)名或域名。

運(yùn)行以下 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 服務(wù)器的密鑰,并提供現(xiàn)有的 LUKS 密碼進(jìn)行初始設(shè)置。

通過 systemctl 啟用 clevis-luks-askpass.path,以防止非根分區(qū)被提示輸入密碼。

sudo systemctl enable clevis-luks-askpass.path

客戶端已經(jīng)安裝完畢?,F(xiàn)在,每當(dāng)你重啟服務(wù)器時(shí),加密后的磁盤應(yīng)該會自動解密,并通過 Tang 服務(wù)器取回密鑰進(jìn)行掛載。

如果 Tang 服務(wù)器因?yàn)槿魏卧虿豢捎?,你需要手動提供密碼,才能解密和掛載分區(qū)。

上述就是小編為大家分享的怎么自動解鎖Linux上的加密磁盤了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI