Menu Close
Settings Close

Language and Page Formatting Options

第 3 章 使用系统范围的加密策略

系统范围的加密策略是一个系统组件,它可配置核心加密子系统,包括 TLS、IPSec、SSH、DNSSec 和 Kerberos 协议。它提供了一小组策略,管理员可以选择这些策略。

3.1. 系统范围的加密策略

设置系统范围的策略时,RHEL 中的应用程序会遵守它,并拒绝使用不符合该策略的算法和协议,除非您明确要求应用程序这样做。也就是说,在运行系统提供的配置时,策略适用于应用程序的默认行为,但在需要时您可以覆盖它。

RHEL 9 包含以下预定义的策略:

DEFAULT

默认的系统范围加密策略级别为当前威胁模型提供了安全设置。它允许 TLS 1.2 和 1.3 协议,以及 IKEv2 和 SSH2 协议。如果 RSA 密钥和 Diffie-Hellman 参数至少是 2048 位,则可以接受它们。

LEGACY

这个策略可确保与 Red Hat Enterprise Linux 6 及更早版本的最大兼容性,但因为受攻击面增加而不太安全。SHA-1 允许用作 TLS 哈希、签名和算法。CBC-mode 密码可以和 SSH 一起使用。使用 GnuTLS 的应用程序允许使用 SHA-1 签名的证书。它允许 TLS 1.2 和 1.3 协议,以及 IKEv2 和 SSH2 协议。如果 RSA 密钥和 Diffie-Hellman 参数至少是 2048 位,则可以接受它们。

FUTURE

这是一种保守的安全级别,被认为可以抵御任何近期的攻击。这个级别不允许在 DNSSec 或 HMAC 中使用 SHA-1。禁用 SHA2-224 和 SHA3-224 哈希。禁用 128 位密码。CBC-mode 密码被禁用,除了 Kerberos 中。它允许 TLS 1.2 和 1.3 协议,以及 IKEv2 和 SSH2 协议。如果 RSA 密钥和 Diffie-Hellman 参数至少是 3072 位,则可以接受它们。

FIPS

符合 FIPS 140-2 要求的策略级别。这由 fips-mode-setup 工具在内部使用,该工具将 RHEL 系统切换到 FIPS 模式。

红帽不断调整所有策略级别,以便所有库(使用 LEGACY 策略时除外)都提供安全默认值。尽管 LEGACY 配置文件不提供安全默认值,但它不包括任何易被利用的算法。因此,在 Red Hat Enterprise Linux 生命周期内,任何所提供的策略中启用的算法或可接受的密钥大小可能会发生变化。

此变更反映了新的安全标准和新的安全研究。如果您必须确保在 Red Hat Enterprise Linux 的整个生命周期内与特定系统的互操作性,对于与该系统交互的组件,您应该不使用加密策略,或者使用自定义策略重新启用特定的算法。

重要

因为客户门户网站 API 中的证书使用的加密密钥不满足 FUTURE 系统范围的加密策略的要求,所以 redhat-support-tool 程序目前无法使用这个策略级别。

要临时解决这个问题,在连接到客户门户网站 API 时使用 DEFAULT 加密策略。

注意

只有应用程序支持时,策略级别中描述的特定算法和密码才可用。

管理加密策略的工具

要查看或更改当前系统范围的加密策略,请使用 update-crypto-policies 工具,例如:

$ update-crypto-policies --show
DEFAULT
# update-crypto-policies --set FUTURE
Setting system policy to FUTURE

要确保应用了加密策略的修改,请重启系统。

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

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

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

在所有策略级别禁用算法

以下算法在 RHEL 9 中包括的 LEGACYDEFAULTFUTUREFIPS 加密策略中被禁用。只在应用自定义加密策略或明确配置单独的应用程序时才能启用它们,但其生成的配置不被认为是被支持的。

  • 早于版本 1.2 的 TLS (自 RHEL 9 开始,在 RHEL 8 中为 < 1.0)
  • 早于 版本 1.2 的 DTLS (自 RHEL 9 开始,在 RHEL 8 中为 < 1.0)
  • DH 的参数 < 2048 位(自 RHEL 9 开始,在 RHEL 8 中是 < 1024 位)
  • RSA 的密钥大小 < 2048 位(自 RHEL 9 开始,在 RHEL 8 中是 < 1024 位)
  • DSA(自 RHEL 9 开始,在 RHEL 8 中是 < 1024 位)
  • 3DES(自 RHEL 9 开始)
  • RC4(自 RHEL 9 开始)
  • FFDHE-1024 (自 RHEL 9 开始)
  • RbacConfig-DSS(自 RHEL 9 开始)
  • Camellia(自 RHEL 9 开始)
  • ARIA
  • IKEv1(自 RHEL 8 开始)

以 crypto-policies 级别启用的算法

下表显示了与选择算法相关的所有四个 crypto-policies 级别的比较。

 LEGACYDEFAULTFIPSFUTURE

IKEv1

3DES

RC4

DH

最少 2048 位

最少 2048 位

最少 2048 位

最少 3072 位

RSA

最少 2048 位

最少 2048 位

最少 2048 位

最少 3072 位

DSA

TLS v1.1 和更早版本

TLS v1.2 及更新版本

数字签名和证书中的 SHA-1

CBC 模式密码

[a]

[b]

[c]

密钥小于 256 位的对称密码

[a] SSH 禁用 CBC 密码
[b] 除了 Kerberos 外,所有协议都禁用了 CBC 密码
[c] 除了 Kerberos 外,所有协议都禁用了 CBC 密码

其他资源

  • update-crypto-policies(8) 手册页