简介
欢迎阅读关于 SLE-15-SP2 和 openSUSE Leap 15.2 中 YaST 改进的最新预览… 或者如果你像大多数 YaST 开发者一样,是 openSUSE Tumbleweed 的用户,那么你可能更早就能体验到这些改进。
在 我们关于第 84 次冲刺的报告 中,我们提到了关于 YaST 分区器的加密功能的一些变化,例如显示具体的加密技术或保留现有加密层。
而 第 85 次冲刺的报告 承诺会发布一篇单独的博客文章,详细介绍我们在创建加密设备方面所添加的新功能。
所以现在就开始吧!但首先声明一点。虽然其中一些新选项适用于所有 (open)SUSE 用户,但公平地说,这次的主要受益者是 s390 系统的用户,他们可以享受多达四种新的设备加密方式。
好东西无需改变
如你所知,到目前为止,YaST 分区器在创建或编辑块设备时提供了一个“加密设备”复选框。如果选中该复选框,分区器会要求输入加密密码,并在要加密的设备之上创建一个 LUKS 虚拟设备。
LUKS(Linux Unified Key Setup)是 Linux 硬盘加密的标准。通过提供标准的磁盘上格式,它促进了不同发行版之间的兼容性。LUKS 将所有必要的设置信息存储在分区头中,从而可以无缝地传输或迁移数据。到目前为止,这种头部的两种格式规范是 LUKS1 和 LUKS2。YaST 使用 LUKS1,因为它已经成熟、稳定且广为人知,与 (open)SUSE 安装过程完全兼容,并得到所有系统工具和大多数引导加载程序(如 Grub2)的完美支持。
不要修复那些没有损坏的东西。因此,在大多数情况下,设备加密屏幕没有改变,并且在底层仍然以相同的方式工作。
但是,使用替代方法对于某些用例可能很有用,并且我们希望为那些寻找其他选项的人在分区器中提供一个选项。因此,在某些特殊情况下,该屏幕将包含一个新的选择器来选择加密方法。让我们分析所有这些新方法。
使用随机密钥的易失性交换文件加密
当交换设备被标记为加密时,用户可以选择“常规 LUKS1”和“使用随机密钥的易失性加密”。这两种选项都将适用于所有硬件架构上的交换设备。第一个选项只是使用上面描述的经典方法。
第二个选项允许配置系统,以便在每次启动时使用新生成的随机密码重新加密交换设备。
一些高级用户可能会指出,在 Leap 15.0 之前的 openSUSE 版本中,已经可以使用这种方式配置随机加密的交换文件。但是,执行该过程至少可以说很晦涩。使用随机密码的加密是通过在加密步骤中留空“输入密码”字段来实现的。确切的含义在界面中的任何地方都没有解释,并且帮助文本也没有提及所有风险。
现在可以使用更明确的界面来实现相同的配置,提供相关信息,如以下屏幕截图所示,并且实施了一些额外的内部控制,以尝试限制潜在的危害。
使用这种方法,用于加密交换文件内容的密钥使用 /dev/urandom 在每次启动时生成,这非常安全。但是,你总是可以更进一步…
使用易失性保护 AES 密钥的交换文件加密
拥有 大型机 的好处之一(相信我们,有很多好处)是在所有级别实施的额外的安全措施。在 IBM Z 或 IBM LinuxONE 的情况下,这转化为所谓的 普遍加密。普遍加密是一种端到端数据保护的基础设施。它包括使用受保护和安全的密钥进行数据加密。
在提供该技术的 s390 系统中,交换文件可以在每次启动时使用易失性保护的 AES 密钥进行加密,与使用来自 /dev/urandom 的数据的常规加密相比,这提供了额外的安全级别。本文档 解释了如何手动设置此类系统。但是现在你可以使用 YaST 并使用单击完成所有配置,如以下屏幕截图所示。
这种方法的好处是,即使你的 s390 系统没有 CCA 密码协处理器,你也可以使用它。哦,等等…你可能不知道什么是密码协处理器。不用担心,继续阅读。
数据卷的普遍加密
你有没有想过詹姆斯·邦德如何保护他的信息免受最狡猾和足智多谋的恶棍的侵害?我们不确定(或者至少我们不应该透露这些信息),但我们会打赌他有一个配备至少一个 CCA 模式配置的 Crypto Express 密码协处理器的 s390 系统。
这些专用硬件,与支持 CPACF 的 CPU 结合使用,确保存储设备上的静态信息只能在加密该信息的系统上读取。它们甚至具有一种物理机制,可以在将硬件从机器中移除时销毁所有密钥,就像间谍电影中的自毁机制一样!
如 此处记录,在 Linux 中享受数据卷普遍加密的全部力量的过程可能有点复杂… 除非你手头有 YaST 分区器!
如上图所示,使用 YaST 的过程就像选择“普遍卷加密”而不是 YaST 通常用于非交换卷的经典 LUKS1 一样简单。如果 YaST 在系统中找到与正在加密的卷关联的安全 AES 密钥,它将使用该密钥,并且生成的加密设备将具有该密钥指定的 DeviceMapper 名称。如果不存在此类安全密钥,YaST 将自动为每个卷注册一个新密钥。
普遍加密可以用于系统的任何卷,甚至根分区。
我想要所有这些!
到目前为止,我们已经看到你可以使用受保护的 AES 密钥来随机加密交换文件,并使用注册的安全密钥来保护数据卷。但是,如果希望交换文件使用随机的安全 AES 密钥进行加密呢?毕竟,你已经投入了时间和金钱来安装那些优秀的 CCA 协处理器,让我们也将其用于随机交换文件加密吧!
如果你的硬件支持,在加密交换文件时,你将看到“使用安全密钥的易失性加密”选项,除了上面评论的四种可能性之外。就像这样简单!
非 s390 系统中的更多启动检查
如上述普遍卷加密的帮助中所述,该方法在底层使用 LUKS2。因此,我们借此机会改进了分区器关于加密和启动的检查。现在,在所有非 s390 架构中,如果使用专家分区器将根目录放在 LUKS2 设备中而没有单独的纯 /boot,将显示以下警告。
正如所提到的,这不适用于 s390 大型机。使用 zipl 使得只要内核支持加密技术,就可以在这些系统上启动 Linux,而与 Grub2(缺乏)功能无关。
接下来是什么?
我们仍在努力完善 YaST 提供的新的加密方法,并为其添加 AutoYaST 支持。你可能已经注意到,目前实施的大多数改进只会直接使 s390 系统受益… 甚至只是其中的一部分。但是,在当前阶段,我们已经为 YaSTland 中新的加密支持时代奠定了基础。
我们正在考虑添加更多对所有 (open)SUSE 用户有用的加密方法,对 LUKS2 的通用支持是一个显而易见的候选者。但这并不是我们会在短期内看到的,因为在这些技术中还有许多细节需要完善,才能使其很好地适应当前的安装过程。
但是,与此同时,你可以玩转所有其他新玩具!









