Red Hat Training

A Red Hat training course is available for RHEL 8

3.8. 使用子策略自定义系统范围的加密策略

使用这个流程来调整启用的加密算法或协议集。

您可以在现有系统范围的加密策略之上应用自定义子策略,或者从头开始定义此类策略。

范围策略的概念允许为不同的后端启用不同的算法集合。您可以将每个配置指令限制到特定的协议、库或服务。

另外,指令也可以使用星号来指定使用通配符的多个值。

/etc/crypto-policies/state/CURRENT.pol 文件列出了通配符扩展后当前应用了系统范围加密策略中的所有设置。要使您的加密策略更严格,请考虑使用 /usr/share/crypto-policies/policies/FUTURE.pol 文件中列出的值。

您可以在 /usr/share/crypto-policies/policies/modules/ 目录中找到示例 subpolicies。这个目录中的子策略文件也包含注释掉的行的描述。

注意

RHEL 8.2 提供了对系统范围加密策略的自定义。您可以使用有范围策略的概念,以及在 RHEL 8.5 或更新版本中使用通配符的选项。

流程

  1. 签出到 /etc/crypto-policies/policies/modules/ 目录:

    # cd /etc/crypto-policies/policies/modules/
  2. 为您的调整创建子策略,例如:

    # touch MYCRYPTO-1.pmod
    # touch SCOPES-AND-WILDCARDS.pmod
    重要

    在策略模块的文件名中使用大写字母。

  3. 在您选择的文本编辑器中打开策略模块并插入修改系统范围加密策略的选项,例如:

    # vi MYCRYPTO-1.pmod
    min_rsa_size = 3072
    hash = SHA2-384 SHA2-512 SHA3-384 SHA3-512
    # vi SCOPES-AND-WILDCARDS.pmod
    # Disable the AES-128 cipher, all modes
    cipher = -AES-128-*
    
    # Disable CHACHA20-POLY1305 for the TLS protocol (OpenSSL, GnuTLS, NSS, and OpenJDK)
    cipher@TLS = -CHACHA20-POLY1305
    
    # Allow using the FFDHE-1024 group with the SSH protocol (libssh and OpenSSH)
    group@SSH = FFDHE-1024+
    
    # Disable all CBC mode ciphers for the SSH protocol (libssh and OpenSSH)
    cipher@SSH = -*-CBC
    
    # Allow the AES-256-CBC cipher in applications using libssh
    cipher@libssh = AES-256-CBC+
  4. 将更改保存到模块文件中。
  5. 将您的策略调整应用到 DEFAULT 系统范围加密策略级别:

    # update-crypto-policies --set DEFAULT:MYCRYPTO-1:SCOPES-AND-WILDCARDS
  6. 要使您的加密设置对已经运行的服务和应用程序有效,请重启系统:

    # reboot

验证

  • 检查 /etc/crypto-policies/state/CURRENT.pol 文件是否包含您的更改,例如:

    $ cat /etc/crypto-policies/state/CURRENT.pol | grep rsa_size
    min_rsa_size = 3072

其它资源