歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RHEL6下磁盤加密——luks

RHEL6下磁盤加密——luks

日期:2017/2/28 14:53:48   编辑:Linux教程

Linux下磁盤加密

LUKS(Linux Unified Key Setup)為Linux硬盤加密提供了一種標准,它不僅能通用於不同的Linux發行版本,還支持多用戶/口令。因為它的加密密鑰獨立於口令,所以如果口令失密,我們可以迅速改變口令而無需重新加密真個硬盤。通過提供一個標准的磁盤上的格式,它不僅方便之間分布的兼容性,而且還提供了多個用戶密碼的安全管理。必須首先對加密的卷進行解密,才能掛載其中的文件系統。

工具:cryptsetup(默認已經安裝)

常用參數:luksFormat、luksOpen、luksClose、luksAddKey

使用cryptsetup對分區進行了加密後,這個分區就不再允許直接掛載。LUKS也是一種基於device mapper 機制的加密方案。如果要使用這個分區,必須對這個分區做一個映射,映射到/dev/mapper這個目錄裡去,我們只能掛載這個映射才能使用。然而做映射的時候是需要輸入解密密碼的。

Crypsetup工具加密的特點:

? 加密後不能直接掛載

? 加密後硬盤丟失也不用擔心數據被盜

? 加密後必須做映射才能掛載

實現步驟:

(一) 准備環境:

1. 確認cryptsetup軟件是否安裝:

[root@localhost ~]# rpm -qa |grep cryptsetup

cryptsetup-luks-libs-1.2.0-7.el6.i686

cryptsetup-luks-1.2.0-7.el6.i686

2. 新建磁盤分區:

[root@localhost ~]# fdisk -cu /dev/sdb

Command (m for help): n #新建分區

Command action

e extended

p primary partition (1-4)

p #選擇主分區

Partition number (1-4): 1 #分區號為1

First sector (2048-41943039, default 2048): #此處回車

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G #給定大小為5G

Command (m for help): w #保持存對硬盤的更改並退出

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@localhost ~]# partx -a /dev/sdb #讓系統重新讀取磁盤/dev/sdb的分區表

(二) 加密分區:

步驟:

1. 使用創建好分區格式化為加密分區:

cryptsetup luksFormat /dev/sdb1

WARNING!

========

This will overwrite data on /dev/sdb1 irrevocably.

Are you sure? (Type uppercase yes): YES # 注意這裡必須是大寫的YES

Enter LUKS passphrase: #輸入密碼

Verify passphrase: #再次輸入

Command successful.

2. 映射分區:

[root@localhost ~]# cryptsetup luksOpen /dev/sdb1 fage_crypt #把sdb1映射為fage_crypt

Enter passphrase for /dev/sdb1: #此處輸入加密密碼

[root@localhost ~]# ls /dev/mapper/fage_crypt #查看映射的磁盤

/dev/mapper/fage_crypt

[root@localhost ~]# cryptsetup status /dev/mapper/fage_crypt #查看加密分區的狀態

/dev/mapper/fage_crypt is active.

type: LUKS1

cipher: aes-cbc-essiv:sha256

keysize: 256 bits

device: /dev/sdb1

offset: 4096 sectors

size: 10481664 sectors

mode: read/write

3. 格式化分區並掛載使用:

[root@localhost ~]# mkdir /fage_data #創建目錄

[root@localhost ~]# mkfs.ext4 /dev/mapper/fage_crypt #格式為ext4的文件系統

[root@localhost ~]# mount /dev/mapper/fage_crypt /fage_data/ #將加密分區掛載到/fage_data目錄下

[root@localhost ~]# cd /fage_data/

[root@localhost fage_data]# touch fage.file

[root@localhost fage_data]# ls

fage.file lost+found

4. 關閉映射分區:

[root@localhost ~]# umount /fage_data/ #卸載分區

[root@localhost ~]# ls /dev/mapper/fage_crypt

/dev/mapper/fage_crypt

[root@localhost ~]# cryptsetup luksClose fage_crypt #關閉加密分區

[root@localhost ~]# ls /dev/mapper/ #再次查看時已經沒有fage_crypt設備了

control VolGroup-lv_root VolGroup-lv_swap

5、設置開機自動掛載

生成密鑰文件,如果想開機時手動輸入密碼可以不生成

# touch /root/.fage_crypt #創建加密文件,安全起見該文件設為隱藏文件

[root@localhost ~]# cryptsetup luksAddKey /dev/sdb1 /root/.fage_crypt #為/dev/sdb1分區添加密鑰文件.fage_crypt

Enter any passphrase: #輸入該分區的加密密碼,必須和創建時的一致

[root@localhost ~]# cat /root/.fage_crypt

[root@localhost ~]# file /root/.fage_crypt #驗證

/root/.fage_crypt: empty

設置開機啟動

[root@localhost ~]# vim /etc/crypttab #編輯”加密的塊設備”表crypttab添加如下行

fage_crypt /dev/sdb1 /root/.fage_crypt

#####fage_crypt為映射名稱,/dev/sdb1是加密設備設備,/root/.fage_crypt為密碼文件,如果想開機手動輸入密碼,密碼文件處空著即可

[root@localhost ~]# vim /etc/fstab #編輯添加加密分開機啟動

/dev/mapper/fage_crypt /fage_crypt ext4 defaults 0 0

現在加密分區就完成了!!

Copyright © Linux教程網 All Rights Reserved