第 9 章 使用 RHEL 系统角色设置自定义加密策略
作为管理员,您可以使用 crypto_policies
RHEL 系统角色快速且一致地使用 Ansible Core 软件包在许多不同的系统中配置自定义加密策略。
9.1. 使用 crypto_policies
RHEL 系统角色设置自定义加密策略
您可以使用 crypto_policies
系统角色从单一控制节点配置大量的受管节点。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Configure crypto policies hosts: managed-node-01.example.com tasks: - name: Configure crypto policies ansible.builtin.include_role: name: rhel-system-roles.crypto_policies vars: - crypto_policies_policy: FUTURE - crypto_policies_reboot_ok: true
您可以将 FUTURE 值替换为您喜欢的加密策略,例如:
DEFAULT
、LEGACY
和FIPS:OSPP
。crypto_policies_reboot_ok: true
设置会导致系统在系统角色更改加密策略后重启。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
因为 FIPS:OSPP
系统范围的子策略包含对通用标准(CC)认证所需的加密算法的进一步限制,所以在设置它后系统会不太可互操作性。例如,您无法使用比 3072 位、额外的 SSH 算法和几个 TLS 组短的 RSA 和 DH 密钥。设置 FIPS:OSPP
也会阻止连接到 Red Hat Content Delivery Network (CDN)结构。另外,您无法将 Active Directory (AD)集成到使用 FIPS:OSPP
、使用 FIPS:OSPP
和 AD 域的 RHEL 主机之间进行通信,或者某些 AD 帐户可能无法进行身份验证。
请注意,在设置了 FIPS:OSPP
加密子策略后,您的系统不合规。使 RHEL 系统符合 CC 标准的唯一正确方法是遵循 cc-config
软件包中提供的指导。有关认证 RHEL 版本、验证报告列表以及由 国家信息保障合作伙伴(NIAP) 网站上托管的 CC 指南的列表,请参阅合规性活动和政府标准知识库文章。https://access.redhat.com/articles/compliance_activities_and_gov_standards#common-criteria-1
验证
在控制节点上,创建另一个 playbook,例如
verify_playbook.yml
:--- - name: Verification hosts: managed-node-01.example.com tasks: - name: Verify active crypto policy ansible.builtin.include_role: name: rhel-system-roles.crypto_policies - debug: var: crypto_policies_active
验证 playbook 语法:
$ ansible-playbook --syntax-check ~/verify_playbook.yml
运行 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
file -
/usr/share/doc/rhel-system-roles/crypto_policies/
directory