RHEL 7 STIG 安全加固控制详解

ansible-hardening 角色遵循 Red Hat Enterprise Linux 7 安全技术实施指南 (STIG)。该指南包含超过 200 个适用于 Linux 系统各个部分的控制项,并由国防信息系统局 (DISA) 定期更新。DISA 是美国国防部的一部分。openstack-ansible-security 角色当前版本基于 Red Hat Enterprise Linux 7 STIG 第 1 版,第 0.2 版。

控制项根据以下属性分为几组

  • Severity

    • 高优先级控制项对系统的安全性有重大影响。它们对系统的运营影响也最大,部署者应在非生产环境中彻底测试它们。

    • 低优先级控制项对整体安全性影响较小,但通常更容易实施,且运营影响也更低。

  • 实施状态

    • 已实施控制项通过自动化任务自动实施。部署者可以通过调整 Ansible 变量来选择退出这些控制项。这些变量在下面的每个控制项中都有文档说明。

    • 例外情况表示无法通过自动化任务完成的控制项。其中一些控制项必须在新的服务器初始配置过程中应用,而另一些则需要对系统进行手动检查。

    • 选择加入控制项已编写自动化任务,但默认情况下这些任务已禁用。这些控制项通常被禁用,因为它们可能会在生产系统上造成中断,或者它们提供的安全收益不显著。可以使用 Ansible 变量启用每个控制项,并且这些变量在下面的每个控制项中都有文档说明。

    • 仅验证控制项具有验证控制项是否满足的任务。这些任务不会对系统采取任何操作,但通常会显示调试输出以及部署者的其他说明。

  • 标签

    • 每个控制项都应用了一个标签,这些标签允许部署者选择要应用的特定控制项组。例如,部署者可以使用 --tags sshd 在 Ansible 命令行上应用 ssh 守护程序的控制项。

    • 标签也使得在代码本身中更轻松地浏览 Ansible 任务。例如,所有标记为 auditd 的任务都可以在 tasks/rhel7stig/auditd.yml 中找到。

虽然 STIG 专门针对 Red Hat Enterprise Linux 7,但它也适用于 CentOS 7 系统。此外,几乎所有的控制项都可以轻松地转换为 Ubuntu 16.04、openSUSE Leap 和 SUSE Linux Enterprise 12。任何在转换过程中的偏差都将在下面的文档中注明。