让我们谈谈 Linux 中的安全加固。想到的第一个主题是磁盘加密。系统物理泄露的风险,尤其是笔记本电脑等移动系统,会使敏感数据面临泄露风险。如果系统丢失,加密数据可以降低其暴露的风险。
LUKS(Linux Unified Key Setup-on-disk-format)是 Linux 硬盘加密的标准。通过提供标准的磁盘格式,不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。与现有解决方案相比,LUKS 将所有设置所需的设置信息存储在分区标题中,使用户能够无缝传输或迁移其数据。
LUKS 做什么:
- LUKS 加密整个块设备,因此非常适合保护移动设备的内容,例如可移动存储介质或笔记本电脑磁盘驱动器。
- 加密块设备的底层内容是任意的。这使其可用于加密交换设备。这对于使用特殊格式的块设备进行数据存储的某些数据库也很有用。
- LUKS 使用现有的设备映射器内核子系统。
- LUKS 提供密码强化以防止字典攻击。
- LUKS 设备包含多个密钥槽,允许用户添加备份密钥或密码短语。
LUKS 不做的事情:
- LUKS 不太适合需要许多(超过八个)用户对同一设备具有不同访问密钥的应用程序。
- LUKS 不太适合需要文件级加密的应用程序。
让我们来谈谈在 Linux 中配置磁盘加密。如果您想在安装操作系统时配置磁盘加密,您可以在安装屏幕的磁盘分区部分中选中“加密我的数据”复选框。
使用 kickstart 执行自动安装时,可以创建一个加密分区。对每个要加密的分区使用–encrypted和–passphrase=选项。例如,以下行将加密 /home 分区。
# part /home --fstype=ext4 --size=10000 --onpart=vda2 --encrypted --passphrase=PASSPHRASE
请注意密码短语PASSPHRASE以明文形式存储在 kickstart 配置文件中。因此必须确保 kickstart 配置文件的安全。省略 –passphrase= 选项将导致安装程序在安装过程中暂停并要求输入密码。
以下是操作系统安装后配置加密卷的步骤。首先,检查 cryptsetup 实用程序是否安装在服务器上。如果未安装,则使用 yum 或 rpm 命令安装它。
cryptsetup-1.6.6-3.el7.x86_64 :用于设置加密磁盘的实用程序
创建一个物理磁盘或一个新的逻辑卷。在这里,我使用 /dev/sdb1 来创建加密分区。运行以下命令创建加密分区。它会询问确认,然后您需要输入密码来访问分区。
# cryptsetup luksFormat /dev/sdb1
现在访问加密分区。您需要使用以下命令分配一个逻辑名称。它会问你密码。
# cryptsetup luksOpen /dev/sdb1 名称
在解密的卷中创建文件系统。
# mkfs -t ext4 /dev/mapper/name
为文件系统创建一个挂载点,挂载它,然后访问内容。
完成后,卸载文件系统,然后锁定加密卷。
# 卸载/挂载点 # cryptsetup luks关闭名称
都好!这就是配置加密卷所需的全部知识。但是,如果在安装时创建了 LUKS 分区,则正常的系统操作会在启动时提示用户输入 LUKS 密码。这适用于台式机或笔记本电脑,但不适用于可能需要在无人看管的情况下重新启动的服务器。
要在无人看管的情况下启动带有加密卷的服务器,必须使用 LUKS 密钥创建一个文件,以解锁加密卷。该文件必须存在于磁盘上未加密的文件系统中。当然,如果文件系统与加密卷在同一个磁盘上,这会带来安全风险,因为磁盘被盗将包括解锁加密卷所需的密钥。通常,带有密钥的文件存储在可移动介质中,例如USB 密钥。
以下是配置系统以在无需人工干预的情况下持久安装加密卷的步骤。找到或生成密钥文件。这通常是使用服务器上的随机数据创建的,并保存在单独的存储设备中。确保此文件由root拥有并且权限为600。
使用以下命令将密钥文件添加到 LUKS。并在提示时提供用于解锁加密卷的密码。
# cryptsetup luksAddKey /dev/sdb1 /root/keyfile
为卷创建/etc/crypttab条目。/etc/crypttab 包含要在系统引导期间解锁的设备列表。
在 /etc/fstab 中添加一个条目,如下所示。
未经允许不得转载:成都数据恢复|服务器数据恢复|数据库修复|解密-零磁道数据恢复中心 » Linux 中的 LUKS 磁盘加密初学者指南 Linux 中的 LUKS 磁盘加密