我们应该还记得在安装rhel8操作系统时,我们选择手动分区有一个选项是“Encrypt my data”,这个选项和分别在不同分区上勾选”Encrypt”后会有什么不同呢?
一 环境
我们准备了4台虚拟机,每台服务器都进入到自定义手动分区界面。4台虚拟机分别准备加密的分区信息如下:
虚拟机名称 | 加密分区 |
rhel8.7 | 选择”Encrypt my data”加密自动分配的空间 |
rhel8.7-1 | 选择”Encrypt”加密/boot分区 |
rhel8.7-2 | 选择”Encrypt”加密/分区 |
rhel8.7-3 | 选择”Encrypt” 加密swap分区 |
二 步骤
(一)rhel8.7虚拟机
我们进入自定义手动分区的界面,如何进入请返回去查看文章”在安装Red Hat Enterprise Linux(rhel)8操作系统时创建自定义手动分区“。在这个界面我们勾选”Encrypt my data”选项,如下图所示。
由说明”encrypt automatically created mount points by default”(默认情况下加密自动创建的装载点)得知,此选项仅作用于自动创建的分区。于是,我们选择”Click here to create them automatically”来自动创建分区。如下图所示。
分别点击三个分区,可以看到除了/boot分区外,其他的/分区和swap分区encrypt选项都是被选择状态。如下图所示。
其他的我们无须调整,选择”Done”来结束分区,在弹出的”Disk Encryption passphrase”选项中输入磁盘加密密码,然后选择”Save Passphrase”来保存。如下图所示。
接受所有修改”Accept changes”,结束分区。如下图所示。
在按照步骤安装完操作系统后,在启动时会要求我们输入刚才设置的密码。此时的提示是”Prease Enter Passphrase For Disk VMware Virtual NVMe Disk…”看提示应该是整块磁盘在mapper前都被加密了。
进入系统后,简单的查看下/etc/fstab文件内容可以看到和普通系统无差别。仅仅是多了”x-systemd.device-timeout=0″此选项作用是取消磁盘挂载超时时间。
(二)rhel8.7-1虚拟机
我们来调整rhel8.7-1虚拟机,此虚拟机加密/boot分区。选择/boot分区,勾选”Encrypt”。点击”Done”结束分区。界面下面弹出黄色错误提示:”/boot cannot be encrypted”,因此/boot分区无法加密。如下图所示。
(三)rhel8.7-2虚拟机
我们来调整rhel8.7-2虚拟机,此虚拟机加密/分区。选择/分区,勾选”Encrypt”。点击”Done”结束分区。
在弹出的”Disk Encryption passphrase”选项中输入磁盘加密密码,然后选择”Save Passphrase”来保存。如下图所示。
接受所有修改”Accept changes”,结束分区。如下图所示。
在按照步骤安装完操作系统后,在启动时会要求我们输入刚才设置的密码。此时的提示是”Prease Enter Passphrase For Disk rhel-root…”看提示和我们全部加密自动分区还是有区别的,这个逻辑卷挂载的就是/分区。应该是该逻辑卷在mapper前都被加密了。
进入系统后,简单的查看下/etc/fstab文件内容可以看到和普通系统差别仅仅是/dev/rhel/root逻辑卷现在被luks-xxxx给替代了并且多了”x-systemd.device-timeout=0″此选项作用是取消磁盘挂载超时时间。
(四)rhel8.7-3虚拟机
我们来调整rhel8.7-3虚拟机,此虚拟机加密swap分区。选择/分区,勾选”Encrypt”。点击”Done”结束分区。如下图所示。
在弹出的”Disk Encryption passphrase”选项中输入磁盘加密密码,然后选择”Save Passphrase”来保存。如下图所示。
接受所有修改”Accept changes”,结束分区。如下图所示。
在按照步骤安装完操作系统后,在启动时会要求我们输入刚才设置的密码。此时的提示是”Prease Enter Passphrase For Disk rhel-swap…”看提示和我们上面全部加密自动分区和/分区还是有区别的,这个逻辑卷挂载的就是swap分区。应该是该逻辑卷在mapper前都被加密了。
进入系统后,简单的查看下/etc/fstab文件内容可以看到和普通系统差别仅仅是/dev/rhel/swap逻辑卷现在被luks-xxxx给替代了并且多了”x-systemd.device-timeout=0″此选项作用是取消磁盘挂载超时时间。
三 结论
首先我们要明确此种加密方式非文件系统加密,umount后再次挂载无须密码。通过如上4台虚拟机加密不同分区,我们可以看到加密不同分区有着如下区别。
(一)选择”Encrypt my data”加密自动分配的空间
除去/boot分区外全盘加密,在全盘mapper前需要输入密码。
(二)选择”Encrypt”加密/boot分区
/boot分区无法被加密
(三)选择”Encrypt”加密/分区
/分区被加密后,在操作系统mapper该分区所挂载的lvm逻辑分区时,需要输入密码。
(四)选择”Encrypt” 加密swap分区
swap分区被加密后,在操作系统mapper该分区所挂载的lvm逻辑分区时,需要输入密码。
四 扩展阅读
磁盘加密通过加密来保护块设备中的数据。要访问设备的解密内容,用户必须提供密语或密钥来作为身份验证。这对于移动计算机和可移动介质而言尤为重要:即使已从系统上物理移除,它也有助于保护设备的内容。LUKS格式是RHEL中块设备加密的默认实现。
选择Encrypt复选框来加密分区或卷。您必须稍后在安装程序中设置密码。此时会显示LUKS Version下拉菜单。从下拉菜单中选择您所需的LUKS版本。
LUKS是一种基于device mapper机制的加密方式。使用加密磁盘前要先mapper映射,映射时需要输入密码,写入和读取磁盘时不需要再输入密码。LUKS可以选择不同的加密算法,也可以开发使用自己的加密算法安装程序现在支持LUKS2磁盘加密格式。
Red Hat Enterprise Linux 8安装程序现在默认使用LUKS2格式,但您可以从自定义分区窗口中选择LUKS版本,也可以使用Kickstart的autopart、logvol、part和RAID命令中的新选项。
dm-crypt子系统和cryptsetup工具现在使用LUKS2作为加密卷的默认格式。LUKS2为加密卷提供元数据冗余,并在发生部分元数据损坏事件时自动恢复。
(一)LUKS可以做什么?
- LUKS 对整个块设备进行加密,因此非常适合保护移动设备的内容,如可移动存储介质或笔记本电脑磁盘驱动器。
- 加密块设备的底层内容是任意的,这有助于加密交换设备。对于将特殊格式化块设备用于数据存储的某些数据库,这也很有用。
- LUKS 使用现有的设备映射器内核子系统。
- LUKS 增强了密码短语,防止字典攻击。
- LUKS 设备包含多个密钥插槽,允许用户添加备份密钥或密码短语。
(二)加密后的块设备mount挂载的时候需要密码吗?
如下图所示,/data分区是使用encrypt加密过,我们卸载掉/data后是否可以直接挂载呢。
我们首先使用命令umount /data卸载掉该分区。然后尝试挂载该分区的原来lvm逻辑卷,mount /dev/rhel/data,挂载失败。尝试挂载luks加密后的分区,无须输入密码成功。此加密非文件系统加密。