第 10 章 使用 RHEL 系统角色设置自定义加密策略


自定义加密策略是一组管理加密算法和协议使用的规则和配置。这些策略帮助您在多个系统和应用程序中维护受保护的、一致且可管理的安全环境。

通过使用 crypto_policies RHEL 系统角色,您可以以自动的方式,快速且一致地在多个操作系统中配置自定义加密策略。

10.1. 使用 crypto_policies RHEL 系统角色,使用 FUTURE 加密策略增强安全性

您可以使用 crypto_policies RHEL 系统角色在受管节点上配置 FUTURE 策略。例如,此策略有助于实现:

  • 防范未来新出现的威胁:预测计算能力的进步。
  • 增强了安全性:更强大的加密标准需要更长的密钥长度和更安全的算法。
  • 遵守高安全性标准:例如在医疗保健、电信和财务方面,数据敏感度很高,并且强大的加密可用性至关重要。

通常,FUTURE 适合处理高度敏感数据,为未来法规做准备或采用长期安全策略的环境。

警告

传统系统或软件不必支持FUTURE 策略强制执行的更现代化且更严格的算法和协议。例如,旧的系统可能不支持 TLS 1.3 或更大的密钥大小。这可能导致兼容性问题。

另外,使用强大的算法通常会增加计算工作负载,这可能会对您的系统性能造成负面影响。

先决条件

步骤

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure cryptographic policies
      hosts: managed-node-01.example.com
      tasks:
        - name: Configure the FUTURE cryptographic security policy on the managed node
          ansible.builtin.include_role:
            name: rhel-system-roles.crypto_policies
          vars:
            - crypto_policies_policy: FUTURE
            - crypto_policies_reboot_ok: true

    示例 playbook 中指定的设置包括以下内容:

    crypto_policies_policy: FUTURE
    在受管节点上配置所需的加密策略(FUTURE)。它可以是基本策略,也可以是带有一些子策略的基本策略。指定的基本策略和子策略必须在受管节点上提供。默认值为 null。这意味着配置没有被更改,crypto_policies RHEL 系统角色将只收集 Ansible 事实。
    crypto_policies_reboot_ok: true
    导致系统在加密策略更改后重启,以确保所有服务和应用程序将读取新的配置文件。默认值为 false

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.crypto_policies/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml
警告

因为 FIPS:OSPP 系统范围的子策略包含对通用标准(CC)认证所需的加密算法的进一步限制,所以在设置它后系统的互操作性较差。例如,您无法使用少于 3072 位的 RSA 和 DH 密钥、其它 SSH 算法和几个 TLS 组。设置 FIPS:OSPP 也会阻止连接到 Red Hat Content Delivery Network (CDN)结构。另外,您无法将活动目录(AD)集成到使用 FIPS:OSPP 的 IdM 部署中 ,使用 FIPS:OSPP 的 RHEL 主机和 AD 域之间的通信可能无法工作,或者某些 AD 帐户可能无法进行身份验证。

请注意,在设置了 FIPS:OSPP 加密子策略后,您的 系统不符合 CC。使 RHEL 系统符合 CC 标准的唯一正确方法是遵循 cc-config 软件包中提供的指导。有关已认证的 RHEL 版本的列表、验证报告以及 国家信息保障合作伙伴(NIAP) 网站上托管的 CC 指南的链接,请参阅有关 产品合规 红帽客户门户网站上的 通用标准 部分。

验证

  1. 在控制节点上,创建另一个 playbook,例如 verify_playbook.yml

    ---
    - name: Verification
      hosts: managed-node-01.example.com
      tasks:
        - name: Verify active cryptographic policy
          ansible.builtin.include_role:
            name: rhel-system-roles.crypto_policies
        - name: Display the currently active cryptographic policy
          ansible.builtin.debug:
            var: crypto_policies_active

    示例 playbook 中指定的设置包括以下内容:

    crypto_policies_active
    导出的 Ansible 事实含有当前活动的策略名称,格式为 crypto_policies_policy 变量所接受的格式。
  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/verify_playbook.yml
  3. 运行 playbook:

    $ ansible-playbook ~/verify_playbook.yml
    TASK [debug] **************************
    ok: [host] => {
        "crypto_policies_active": "FUTURE"
    }

    crypto_policies_active 变量显示受管节点上活动的策略。

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.crypto_policies/README.md 文件
  • /usr/share/doc/rhel-system-roles/crypto_policies/ 目录
  • update-crypto-policies (8)crypto-policies (7) 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.