溫馨提示×

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

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

如何自動(dòng)解鎖Linux上的加密磁盤(pán)

發(fā)布時(shí)間:2021-10-26 10:36:41 來(lái)源:億速云 閱讀:286 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章給大家分享的是有關(guān)如何自動(dòng)解鎖Linux上的加密磁盤(pán)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。


通過(guò)使用網(wǎng)絡(luò)綁定磁盤(pán)加密(NBDE),無(wú)需手動(dòng)輸入密碼即可打開(kāi)加密磁盤(pán)。

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

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

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

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

  • Clevis 框架:一個(gè)可插拔的框架工具,可自動(dòng)解密和解鎖 LUKS 卷

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

Tang 向 Clevis 客戶端提供加密密鑰。據(jù) Tang 的開(kāi)發(fā)人員介紹,這為密鑰托管服務(wù)提供了一個(gè)安全、無(wú)狀態(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 --permsudo firewall-cmd --reload

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

客戶端安裝

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

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

sudo fdisk /dev/vdc

完成以下步驟來(lái)安裝客戶端:

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 tableBuilding a new DOS disklabel with disk identifier 0x4a6812d4. Command (m for help):

輸入 n 來(lái)創(chuàng)建新的分區(qū):

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

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

Using default response pPartition number (1-4, default 1):

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

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

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

Using default value 2097151Partition 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 命令對(duì)磁盤(pán)進(jìn)行加密。當(dāng)提示時(shí),你需要輸入大寫(xiě)的 YES,并輸入密碼來(lái)加密磁盤(pán):

sudo cryptsetup luksFormat /dev/vdc1WARNING!========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 encryptedvdc1Enter 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,在啟動(dòng)時(shí)打開(kāi)加密卷:

sudo vim /etc/crypttab

增加以下一行:

encryptedvdc1       /dev/vdc1  none   _netdev

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

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] YEnter existing LUKS password:

輸入 Y 接受 Tang 服務(wù)器的密鑰,并提供現(xiàn)有的 LUKS 密碼進(jìn)行初始設(shè)置。

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

sudo systemctl enable clevis-luks-askpass.path

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

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

感謝各位的閱讀!關(guān)于“如何自動(dòng)解鎖Linux上的加密磁盤(pán)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

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

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

AI