当前位置:首页 » 《休闲阅读》 » 正文

使用LUKS对Linux磁盘进行加密

26 人参与  2024年12月23日 10:00  分类 : 《休闲阅读》  评论

点击全文阅读


前言

本实验用于日常学习用,如需对存有重要数据的磁盘进行操作,请做好数据备份工作。 此实验只是使用LUKS工具的冰山一角,后续还会有更多功能等待探索。

LUKS(Linux Unified Key Setup)是Linux系统中用于磁盘加密的一种机制,它为磁盘分区提供了强大的加密保护。
加密卷:LUKS通过创建一个加密的“加密卷”,这个卷在磁盘上表现为一个分区或整个磁盘。
密钥槽:每个LUKS加密卷可以包含多个密钥槽,每个槽可以存储一个不同的密钥,用于解密加密卷。
主密钥:LUKS使用一个主密钥来加密和解密这些密钥槽中的密钥。
LUKS为Linux系统提供了一种强大且灵活的磁盘加密解决方案,通过创建加密卷和使用密钥槽来保护数据安全。它在全磁盘加密、分区加密和容器加密等多种场景下都有广泛应用。

LUKS工具,不是LUSK工具。

基本步骤

本次实验的操作系统为Redhat8

1、查看是否安装了LUKS软件包

rpm -qf /sbin/cryptsetup

在这里插入图片描述

2、 查看当前磁盘及分区

fdisk -l

在这里插入图片描述

3、添加新磁盘

关闭虚拟机,再VMware工作台给虚拟机添加一个新硬盘
对硬盘的相关操作,可以参考这篇文章:
Linux——【磁盘管理和LVM卷组管理】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、对新硬盘进行加密

对/dev/nvme0n2 进行加密

cryptsetup luksFormat /dev/nvme0n2

在这里插入图片描述

5、对解锁的硬盘映射

cryptsetup luksOpen /dev/nvme0n2 dly

在这里插入图片描述

6、查看映射情况

ll /dev/mapper/dly

在这里插入图片描述

• lrwxrwxrwx. 1 root root 7 Nov 24 02:07 /dev/mapper/dly -> …/dm-2
l 表示这是一个符号链接。
rwxrwxrwx 表示所有用户都有读、写和执行权限。
1 表示链接数(硬链接数量)。
root root 表示所有者是 root 用户和 root 组。
7 表示符号链接本身占用的字节数。
Nov 24 02:07 表示最后修改时间。
/dev/mapper/dly -> …/dm-2 表示这个符号链接指向的目标路径是 …/dm-2,即 /dev/dm-2。
设备映射器(Device Mapper):
• /dev/mapper/ 目录下的文件通常与 Linux 的设备映射器框架相关,它允许将物理块设备映射到逻辑卷管理器(如 LVM)或加密设备等。
• dm-2 是一个由设备映射器创建的逻辑设备名。

7、将磁盘格式话未ext4模式

mkfs.ext4 /dev/mapper/dly

在这里插入图片描述

8、创建磁盘挂载点,并挂载磁盘,查看文件系统的使用情况

//创建挂载目录mkdir /mnt/luks//进行磁盘挂载mount /dev/mapper/dly /mnt/luks///查看各文件系统情况df -h

在这里插入图片描述
在这里插入图片描述

9、配置文件,设置硬盘加密自启

该文件用于开机自动挂载

/etc/fstab 文件用于定义系统启动时自动挂载的文件系统,通过正确配置该文件,可以实现文件系统的自动化管理和挂载。

文件中的字段

<file system>   <mount point>   <type>   <options>   <dump>   <pass><file system>:设备名或UUID,可以是实际的设备路径(如 /dev/sda1)或UUID(如 UUID=xxxxx)。<mount point>:挂载点,即文件系统将被挂载到的位置(如 /, /home, /mnt/data)。<type>:文件系统类型(如 ext4, xfs, vfat, ntfs 等)。<options>:挂载选项,可以包含多个选项,用逗号分隔(如 defaults, noatime, noexec 等)。<dump>:备份工具使用的字段,通常设置为 0,表示不进行备份。<pass>:fsck工具使用的字段,用于确定文件系统检查的顺序。根文件系统通常设置为 1,其他文件系统可以设置为 2 或其他值。

进入配置文件

vi /etc/fstab

在这里插入图片描述

10、在/etc/crypttab生成虚拟设备文件

该文件可以实现加密卷的自动化管理和挂载

/etc/crypttab 文件在 Linux 系统中用于配置加密卷的自动解密当系统启动时,根据这个文件中的配置,可以自动解密指定的加密卷,并将其挂载到指定的位置。这对于需要自动加载加密卷的场景非常有用,例如在系统启动时自动挂载加密的根文件系统或数据分区。

vi /etc/crypttab

在这里插入图片描述

11、重启设备,验证是否加密成功

在这里插入图片描述

12、关闭加密

先卸载挂载点,再锁定分区

//卸载挂载点(一定不要打错挂载点!!!)umount /mnt/luks //关闭对磁盘的加密cryptsetup luksClose dly//查看是否完成加密关闭ll /dev/mapper/dly

在这里插入图片描述
此时再重启,应该不会出现输入磁盘加密密码的情况,但是我重启后不仅需要输入加密密码,还进入了紧急模式。。。
在这里插入图片描述

细心的朋友可能会发现我在最后一步,==卸载挂载点的时候打错了卸载点,导致我再次进入Redhat时,被强制进入了紧急模式。==主要原因就是磁盘找不到挂载点,导致磁盘分区错误。以下是本次解决方法。
错误原因:
在这里插入图片描述

问题解决

1、强制模式下,进入/etc/fstab 这个配置文件,将之前写入的磁盘加密自启信息注释或删掉(在此之前我在“编辑虚拟机”中,将之前加密的磁盘移除了,不过就算你没有移除磁盘,也是可以进行接下来的操作)

vi /etc/fstab

在这里插入图片描述

2、保存退出后重新加载文件使其生效

systemctl daemon-reload

然后重启

reboot

此时开机发现系统依然让我们输入磁盘加密信息,正常输入即可,输入完成后按回车键发现能够正常进入系统啦!(之前是输入密码后会进入紧急模式)
在这里插入图片描述
至此,紧急模式的问题我们已经解决。

由于我的粗心,导致在卸载错误挂载点,因此我需要重新卸载
在这里插入图片描述

进入/etc/crypttab 文件中,将之前写入的信息注释或删除

vi /etc/crypttab

在这里插入图片描述

重启后发现可以直接输入账户密码进入Redhat,不需要再输入磁盘加密密码啦!

在这里插入图片描述

然后查看当前的硬盘及分区状况,发现之前对加密的分区还在。
在这里插入图片描述
问题解决!

总结

以上就是使用LUKS对Linux磁盘加密的过程,最后出现一点小插曲,挂载点和映射文件一定不要打错!在面对突发问题时,冷静时最好的办法,不妨回过头来理一遍思路,弄清楚每个文件的作用,可能会有意外的收获!
问题解决参考链接:【RedHat】重启服务器进入了emergency mode紧急状态——UUID不匹配


点击全文阅读


本文链接:http://zhangshiyu.com/post/205553.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1