1. 程式人生 > 實用技巧 >Linux系統中對於磁碟分割槽進行加密

Linux系統中對於磁碟分割槽進行加密

1.LUSK加密

LUSK(linux Unified Key Setup)

luks相當於對磁碟上了一把鎖(將磁碟比作箱子,則luks就是箱子的蓋子)

,要開啟磁碟就要有相應的鑰匙,

使用“鑰匙”開啟後,

就可以進行操作了。

1.概念簡介

LUKS(linyx統一金鑰設定)是標準的裝置加密格式;可以對分割槽或捲進行加密。

目的:根據需要,一般會在系統中對檔案和磁碟進行加密,但是檔案的加密比較容易破解,不安全。所以在特殊需要下,會對磁碟進行加密,磁碟加密後在磁碟損壞的同時,其中的資料也會損壞
加密的特點:
使用cryptsetup對分割槽進行了加密後,這個分割槽就不再允許直接掛載,必須首先對加密的捲進行解密才能掛載。
如果要使用這個分割槽,必須對這個分割槽做一個對映,對映到/dev/mapper這個目錄裡去,我們只能掛載這個對映才能使用。然而做對映的時候是需要輸入解密密碼的。

2.對server的磁碟進行加密

1.可以看到當前主機中裝置/dev/vdb有2個分割槽:

fdisk /dev/vdb



2.選擇對分割槽/dev/vdb1進行加密:

對/dev/vdb1進行加密操作:cryptsetup luksFormat /dev/vdb1
詢問是否確定時輸入大寫YES,小寫不認,(這是紅帽系統bug)

檔案系統(xfs)>加密層(蓋子)(luck)>裝置
開啟蓋子時必須改變名字(要輸加密時的密碼)

可以看到,當加密操作完成後,

已上鎖的磁碟不能直接掛載,

若要對磁碟進行掛載,

需要解鎖

3.使用加密磁碟

1.開啟加密磁碟

cryptsetup open /dev/vdb1 westos
 
/dev/vdb是真實的經過加密的裝置
/dev/mapper/westos   westos是加密後的真實裝置對映的虛擬裝置


開啟後,

在/dev/mapper中可以看到虛擬裝置westos:

如下所示 ,copydata 就是我自己測試的 虛擬裝置名稱:

2.給磁碟新增檔案系統(格式化磁碟):

mkfs.xfs /dev/mapper/westos            ##格式化


3.掛載裝置:

mount /dev/mapper/westos /mnt/       ##掛載



這時就可以正常的使用此裝置進行讀寫:

touch /mnt/file{1..9}                       ##在掛載位置寫入東西



此時,在此裝置上新建檔案如圖:

如果一旦解除安裝後,當再次進行檢視並寫入時需要執行:

cryptsetup open /dev/vdb5 test     ##重新開啟加密蓋子
mount /dev/mapper/test /mnt/       ##重新掛載

4.加密磁碟開機自動掛載

首先,我們建立/pub目錄用來永久掛載加密磁碟:

1.開機自動掛載:



2.設定虛擬裝置與真實裝置的對映
已經知道,在開啟加密磁碟時,

需要指定相應的虛擬裝置,在上面的編輯中,指定了裝置與掛載點,

vim /etc/fstab 
 
/dev/mapper/westos     /pub    xfs           defaults               0                  0 
裝置                   掛載點   檔案型別         預設掛載方式            是否備份      是否檢查

但是指定的裝置是系統中當前並不存在的虛擬裝置,

因此,還需要建立虛擬裝置與真實裝置的對映,

也就是開啟加密磁碟:

vim /etc/crypttab
 
westos   /dev/vdb1   /root/vdb1passwd
 
虛擬裝置   真實裝置     校驗檔案
 
真實裝置通過此校驗檔案成功後建立此虛擬裝置


3.建立校驗檔案
在上面,指定/root/vdb1passwd為校驗檔案,

但是此檔案中系統並不存在,因此需要自己建立此檔案,

並在此檔案中寫入磁碟的密碼:




4.為加密的裝置新增密碼校驗檔案

在上面建立了校驗檔案,但此時,

此檔案與裝置聽不存在聯絡,

因此還需讓這兩者建立聯絡:

cryptsetup luksAddKey /dev/vdb1 /root/vdb1passwd  
 
指定此加密裝置的校驗檔案為 /root/vdb1passwd      

完成這些操作後,加密磁碟就可以開機自動掛載,

用df可以看到當前/dev/mapper/westos並沒有掛載到/pub上:



reboot後,df可以看到裝置自動掛載:

並且裝置中還存在建立的檔案huige{1…5}:

5.刪除加密裝置:(刪除對裝置做的所有更改)

1.刪除自動掛載檔案中的內容:



2.刪除/etc/crypttab中的內容:



3.刪除校驗檔案:



4.解除安裝裝置:



5.關閉裝置:
關掉對westos的加密服務 cryptsetup close westos

6.格式化裝置:

mkfs.xfs /dev/vdb1  格式化該磁碟
 
mkfs.xfs /dev/vdb1 -f 格式化不掉時強制格式化

此時該裝置就變為一個普通的裝置,

不再需要進行開啟鎖的操作操作

7.測試

 mount /dev/vdb1 /mnt/
 df 檢視即可

可直接對裝置進行掛載:

關閉後,可以看到,/dev/mapper中,虛擬裝置westos消失,

在下次開啟加密裝置時,由我們指定新的虛擬裝置

5.再將裝置重新開啟、掛載,發現我們儲存在裝置中的檔案依然存在

這裡就不演示了