Linux 中的 LUKS 磁盘加密初学者指南 Linux 中的 LUKS 磁盘加密

让我们谈谈 Linux 中的安全加固。想到的第一个主题是磁盘加密。系统物理泄露的风险,尤其是笔记本电脑等移动系统,会使敏感数据面临泄露风险。如果系统丢失,加密数据可以降低其暴露的风险。

LUKS(Linux Unified Key Setup-on-disk-format)是 Linux 硬盘加密的标准。通过提供标准的磁盘格式,不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。与现有解决方案相比,LUKS 将所有设置所需的设置信息存储在分区标题中,使用户能够无缝传输或迁移其数据。

LUKS 做什么:

 

  1. LUKS 加密整个块设备,因此非常适合保护移动设备的内容,例如可移动存储介质或笔记本电脑磁盘驱动器。
  2. 加密块设备的底层内容是任意的。这使其可用于加密交换设备。这对于使用特殊格式的块设备进行数据存储的某些数据库也很有用。
  3. LUKS 使用现有的设备映射器内核子系统。
  4. LUKS 提供密码强化以防止字典攻击。
  5. LUKS 设备包含多个密钥槽,允许用户添加备份密钥或密码短语。

LUKS 不做的事情:

  1. LUKS 不太适合需要许多(超过八个)用户对同一设备具有不同访问密钥的应用程序。
  2. LUKS 不太适合需要文件级加密的应用程序。

让我们来谈谈在 Linux 中配置磁盘加密。如果您想在安装操作系统时配置磁盘加密,您可以在安装屏幕的磁盘分区部分中选中“加密我的数据”复选框。

加密安装 LUKS

使用 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 名称

密码设置1

在解密的卷中创建文件系统。

# mkfs -t ext4 /dev/mapper/name

文件系统

为文件系统创建一个挂载点,挂载它,然后访问内容。

Linux 中的 LUKS 磁盘加密初学者指南插图4

完成后,卸载文件系统,然后锁定加密卷。

# 卸载/挂载点
# cryptsetup luks关闭名称

关闭 LUKS

都好!这就是配置加密卷所需的全部知识。但是,如果在安装时创建了 LUKS 分区,则正常的系统操作会在启动时提示用户输入 LUKS 密码。这适用于台式机或笔记本电脑,但不适用于可能需要在无人看管的情况下重新启动的服务器。

要在无人看管的情况下启动带有加密卷的服务器,必须使用 LUKS 密钥创建一个文件,以解锁加密卷。该文件必须存在于磁盘上未加密的文件系统中。当然,如果文件系统与加密卷在同一个磁盘上,这会带来安全风险,因为磁盘被盗将包括解锁加密卷所需的密钥。通常,带有密钥的文件存储在可移动介质中,例如USB 密钥。

以下是配置系统以在无需人工干预的情况下持久安装加密卷的步骤。找到或生成密钥文件。这通常是使用服务器上的随机数据创建的,并保存在单独的存储设备中。确保此文件由root拥有并且权限为600

钥匙

使用以下命令将密钥文件添加到 LUKS。并在提示时提供用于解锁加密卷的密码。

# cryptsetup luksAddKey /dev/sdb1 /root/keyfile

为卷创建/etc/crypttab条目。/etc/crypttab 包含要在系统引导期间解锁的设备列表。

添加关键 LUKS

在 /etc/fstab 中添加一个条目,如下所示。

标签 LUKS

注意:/etc/fstab(数据)中给出的名称必须与/etc/crypttab 中选择的名称匹配。

未经允许不得转载:成都数据恢复|服务器数据恢复|数据库修复|解密-零磁道数据恢复中心 » Linux 中的 LUKS 磁盘加密初学者指南 Linux 中的 LUKS 磁盘加密

技术支持电话