Red Hat Training

A Red Hat training course is available for RHEL 8

第 8 章 Security

8.1. 更改核心加密组件

8.1.1. 默认应用系统范围的加密策略

Crypto-policies 是 Red Hat Enterprise Linux 8 中的一个组件,它配置核心加密子系统,包括 TLS、IPsec、DNSSEC、Kerberos 协议以及 OpenSSH 套件。它提供一组策略,管理员可以使用 update-crypto-policies 命令选择这些策略。

DEFAULT 系统范围的加密策略为当前的威胁模型提供安全设置。它允许 TLS 1.2 和 1.3 协议,以及 IKEv2 和 SSH2 协议。如果大于 2047 位,则接受 RSA 密钥和 Diffie-Hellman 参数。

如需更多信息,请参阅红帽博客上的 在 Red Hat Enterprise Linux 8 中通过加密策略实现一致性 的文章和 update-crypto-policies(8) 手册页。

8.1.2. 强大的加密默认方法是删除不安全的密码套件和协议

以下列表包含从 RHEL 8 核心加密库中删除的密码套件和协议。它们不在源中,或者其支持在构建过程中被禁用,因此应用程序无法使用它们。

  • DES(自 RHEL 7 开始)
  • 所有导出级密码套件(自 RHEL 7 开始)
  • 签名中的 MD5(自 RHEL 7 开始)
  • SSLv2(自 RHEL 7 开始)
  • SSLv3(自 RHEL 8 开始)
  • 所有 ECC 曲线 < 224 位(自 RHEL 6 开始)
  • 所有二进制字段 ECC 曲线(自 RHEL 6 开始)

8.1.3. 在所有策略级中禁用密码套件和协议

在所有 crypto 策略级中禁用了以下密码套件和协议。它们只能通过各个应用程序的明确配置来启用。

  • DH 带有参数 < 1024 位
  • RSA 带有密钥大小 < 1024 位
  • Camellia
  • ARIA
  • SEED
  • IDEA
  • 仅完整性密码套件
  • 使用 SHA-384 HMAC 的 TLS CBC 模式密码组合
  • AES-CCM8
  • 所有 ECC curves 与 TLS 1.3 不兼容,包括 secp256k1
  • IKEv1(自 RHEL 8 开始)

8.1.4. 将系统切换到 FIPS 模式

系统范围的加密策略包含一个策略级,其允许加密模块按照联邦信息处理标准(FIPS)出版物 140-2 的要求进行自我检查。在内部启用或禁用 FIPS 模式的 fips-mode-setup 工具使用 FIPS 系统范围的加密策略级。

要在 RHEL 8 中将系统切换成 FIPS 模式,请输入以下命令并重启您的系统:

# fips-mode-setup --enable

详情请查看 fips-mode-setup(8) man page。

8.1.5. TLS 1.0 和 TLS 1.1 已弃用

TLS 1.0 和 TLS 1.1 协议在 DEFAULT 系统范围的加密策略级别被禁用。如果需要使用启用的协议,如 Firefox 网页浏览器中的视频检查程序,把系统范围的加密策略切换到 LEGACY 级别:

# update-crypto-policies --set LEGACY

如需更多信息,请参阅红帽客户门户网站上的 RHEL 8 中的强加密默认值和弱加密算法的弃用 知识库文章和 update-crypto-policies(8) 手册页。

8.1.6. 加密库中的 TLS 1.3 支持

此更新在所有主要后端加密库中默认启用传输层安全性(TLS)1.3。这启用了跨操作系统通信层的低延迟,并通过利用新的算法(如 RSA-PSS 或 X25519)增强了应用程序的隐私和安全。

8.1.7. 在 RHEL 8 中弃用 DSA

数字签名算法(DSA)在 Red Hat Enterprise Linux 8 中被视为已弃用。依赖于 DSA 密钥的身份验证机制在默认配置中不起作用。请注意,即使使用系统范围的 LEGACY 加密策略级别中,OpenSSH 客户端都不接受 DSA 主机密钥。

8.1.8. 在 NSS中弃用了SSL2 Client Hello

传输层安全性(TLS)协议版本 1.2 和更早版本允许使用以向后兼容安全套接字层(SSL)协议版本 2 方式格式的 Client Hello 消息开始协商。网络安全服务(NSS)库中对这个功能的支持已被弃用,默认是禁用的。

需要这个功能支持的应用程序需要使用新的 SSL_ENABLE_V2_compatible_HELLO API 启用它。以后的 Red Hat Enterprise Linux 8 版本中可以完全删除对这个功能的支持。

8.1.9. NSS 现在默认使用 SQL

网络安全服务(NSS)库现在默认对信任数据库使用 SQL 文件格式。在之前版本中用作默认数据库格式的 DBM 文件格式不支持多个进程并行访问同一数据库,其在上游中已被弃用。因此,使用 NSS 信任数据库存储密钥、证书和撤销信息的应用程序现在默认以 SQL 格式创建数据库。尝试使用旧的 DBM 格式创建数据库会失败。现有 DBM 数据库以只读模式打开,它们会自动转换为 SQL 格式。请注意,自 Red Hat Enterprise Linux 6 之后,NSS 支持 SQL 文件格式。