Red Hat Training

A Red Hat training course is available for RHEL 8

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

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

5.1. 系统范围的加密策略

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

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

DEFAULT

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

LEGACY

此策略确保了与 Red Hat Enterprise Linux 5 及更早版本的最大兼容性;由于攻击面的增加,它的安全性较低。除了 DEFAULT 级别算法和协议外,它还包括对 TLS 1.0 和 1.1 协议的支持。允许算法 DSA、3DES 和 RC4,如果 RSA 密钥和 Diffie-Hellman 参数至少是 1023 位,则可以接受它们。

FUTURE

这是一种保守的安全级别,被认为可以抵御任何近期的攻击。这个级别不允许在签名算法中使用 SHA-1。它允许 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 8 核心加密库中删除的密码套件和协议。它们不存在于源中,或者其支持在构建期间被禁用,因此应用程序无法使用它们。

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

在所有策略级别禁用密码套件和协议

在所有 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 开始)

在加密策略级别中启用的密码套件和协议

下表显示了在所有四个加密策略级别中启用的密码套件和协议。

 LEGACYDEFAULTFIPSFUTURE

IKEv1

3DES

RC4

DH

最少 1024 位

最少 2048 位

最少 2048 位

最少 3072 位

RSA

最少 1024 位

最少 2048 位

最少 2048 位

最少 3072 位

DSA

TLS v1.0

TLS v1.1

数字签名中的 SHA-1

CBC 模式密码

[a]

密钥小于 256 位的对称密码

证书中的 SHA-1 和 SHA-224 签名

[a] TLS 禁用 CBC 密码。在非 TLS 场景中,AES-128-CBC 被禁用,但启用了 AES-256-CBC。要禁用 AES-256-CBC,请应用自定义子策略。

其它资源

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