如何在Linux中使用luks加密文件系统

时间:2020-03-05 15:26:38  来源:igfitidea点击:

Linux Unified键设置(luks)是一个磁盘加密规范,可以帮助保护它配置的设备上的数据。
现在,主要开始在给员工提供的工作站/笔记本电脑上,以便加密机密数据。
luks使用提供另外的安全性的密码来保护文件系统。

以下示例将创建逻辑卷,加密分区,使用ext4文件系统的格式并将其安装在Rhel 6上。

我们还可以使用LUK来保护分区而不是LVM。
配置LUKS的分区或者逻辑卷时,请使用密码进行准备并记住它。

加载内核模块

第一步是加载DM_CRYPT和DM_MOD模块。
一种方法是使用modprobe dm_crypt命令。
如果成功,我们应该在输出到'lsmod |中查看以下模块grep dm_命令':

# modprobe dm_crypt
# lsmod | grep dm_
dm_crypt 13022 0
dm_mod 81500 3 dm_crypt,dm_mirror,dm_log

让我们创建一个逻辑卷并使用luks加密它

1.创建逻辑卷

首先,我们需要创建要加密的设备。
这可以是LVM逻辑卷或者分区。

注意:请创建新分区,因为在现有文件系统上创建LUKS卷将删除该文件系统上的所有内容。

以下示例将在现有卷组中创建另一个逻辑卷。

确保VG可调整大小,并且具有足够的空间来创建一个。

# vgs --> To see the free space
VG #PV #LV #SN Attr VSize VFree
vg_server 1 1 0 wz--n- 4.39g 990.00m
# lvcreate -L 500M -n lv_luks vg_server
Logical volume "lv_luks" created

2.加密逻辑卷

创建设备后,我们需要将其格式为加密设备。
为此,请使用"cryptsetup luksformat/dev/yourdevice"命令。
在执行此操作时,我们还会设置解密密码。
确保记住此密码,因为它是一旦加密访问设备的唯一方法!

# cryptsetup luksFormat /dev/mapper/vg_server-lv_luks
WARNING!
========
This will overwrite data on /dev/mapper/vg_server-lv_luks irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:

3.创建设备

我们需要在可以使用它之前打开此设备。
打开它时,我们将名称分配给加密设备。
此名称发生在"/dev/mapper"目录中,我们将创建Luis-dev1作为将出现在"/dev/mapper"中的设备,后来用于格式化和安装。

# cryptsetup luksOpen /dev/mapper/vg_server-lv_luks luks-dev1
Enter passphrase:

4.在加密分区上创建文件系统

现在使用"MKFS.ext4"等命令格式化了"MKFS.ext4"的命令,该命令应在"/dev/mapper"目录中使用。

# mkfs.ext4 /dev/mapper/luks-dev1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done
Creating journal (8192) blocks): done
Writing superblocks and filesystem accounting information
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

5./etc/crypttab文件

如果我们现在重新启动,DM_CRYPT模块甚至不会加载。
要正确设置LUKS加密的文件系统,需要配置"/etc/crypttab"文件。
每个加密卷都使用以下格式获取该文件中的一行:

设备未格式化的卷Passphrase_file选项

该设备是在"/dev/mapper/luks-dev1"目录中之前创建的文件。
未格式化的卷可以是已经加密的分区或者LV。
将passphrase_file设置为none,Rhel 6将在启动时提示我们使用密码。
这提供了另外的安全性。
在设备盗窃的情况下,无法在不提供密码的情况下启动加密卷。
如果我们不想在启动时询问密码短语,则可以使用600个权限配置Passphrase_file

Edit /etc/crypttab and enter as below:
luks-dev1                   /dev/mapper/vg_server-lv_luks             none

6.装入LUKS文件系统

将此LUKS在我们选择的目录中加密文件系统。
我已安装在/luks上

# mkdir /LUKS
# mount -t ext4 /dev/mapper/luks-dev1 /LUKS

在/etc/fstab文件中添加此条目,以便在启动时可以安装它。

/dev/mapper/luks-dev1   /LUKS      ext4      defaults     1 2

LUKS卷现已准备就绪。
我们可以在安装Linux并加密它时保护/文件系统。
这样,即使它被盗,可以加密整个硬盘并添加另外的保护层,因为Linux将在引导时询问密码。