ansible-lockdown.rhel7_cis
RHEL 7 CIS
配置 RHEL/Centos 7 机器以符合 CIS 标准
基于 CIS RedHat Enterprise Linux 7 基准 v4.0.0 - 2023年12月21日
寻求支持?
社区
在我们的 Discord 服务器 上提问、讨论功能或与其他 Ansible-Lockdown 用户聊天
注意事项
此角色 将对系统进行更改,可能会产生意想不到的后果。这不是一个审计工具,而是一个在审计后进行整改的工具。
不支持检查模式!该角色在检查模式下将正常完成,但没有支持,使用时请谨慎。应使用 RHEL7-CIS-Audit 角色或合规扫描仪进行合规检查。
该角色是在干净的操作系统安装上开发的。如果您要在现有系统上实施,请查看该角色是否需要任何特定站点的更改。
要使用发布版本,请指向主分支和您希望使用的 CIS 基准的相关版本。
匹配 CIS 的安全级别
可以仅运行 CIS 的级别 1 或级别 2 控制。 这通过标签进行管理:
- level1-server
- level1-workstation
- level2-server
- level2-workstation
defaults main 中的控制也需要反映这一点,因为这控制了您使用审计组件时进行的测试。
从先前版本过渡
CIS 版本始终包含更改,强烈推荐查看新参考和可用变量。这自 ansible-lockdown 最初发布以来发生了显著变化。 现在如果找到 Python3 作为默认解释器则兼容。这会配置与之相应的系统的先决条件。
更多详情请查看 更改日志
审计(新)
可以在 defaults/main.yml 文件中通过变量 rhel7cis_run_audit 打开或关闭。默认值为 false,请参阅 wiki 获取更多详细信息。默认文件还填充 goss 检查,以检查在 ansible 角色中启用的控制。
这是一种更快速、非常轻量化的检查(在可能的情况下)配置合规性和实时设置。
一种新的审计形式已经开发,通过使用一个小的(12MB)go 二进制文件 goss 以及相关配置进行检查。无需基础设施或其他工具。 该审计不仅会检查配置是否设置正确,还旨在捕获它是否在运行该配置,同时尽量消除 假阳性 的过程。
文档
要求
一般要求:
基本的 Ansible 知识,以下是一些 Ansible 文档链接,以帮助您入门(如果您不熟悉 Ansible)
有效的 Ansible 和/或 Tower 安装、配置并运行。这包括所有基本的 Ansible/Tower 配置、所需的软件包安装和基础设施设置。
请通读该角色中的任务,以了解每个控制的作用。其中某些任务具有干扰性,可能在实际生产系统中产生意想不到的后果。也请熟悉 defaults/main.yml 文件中的变量。
技术依赖:
- 运行 Ansible/Tower 设置(该角色已针对 Ansible 版本 2.9.1 及更新版本进行测试)
- Python3 Ansible 运行环境
- python-def(应包含在 RHEL/CentOS 7 中) - 第一个任务设置 Python3 和 Python2(如有需要)的先决条件(标签 pre-reqs)
- libselinux-python
- python3-rpm(由 py3 使用的包)
角色变量
该角色设计为最终用户无需编辑任务本身。所有自定义应通过 defaults/main.yml 文件或项目、作业、工作流等中的额外变量进行。
标签
有许多标签可供选择,以实现更精细的控制。每个控制都有自己的一组标签,注释其级别、是否评分、相关的操作系统元素、是否为补丁或审计,以及规则编号。
以下是该角色中某个控制的标签部分示例。使用此示例,如果您设置运行以跳过所有带有标签服务的控制,则该任务将被跳过。相反,您也可以仅运行带有服务标签的控制。
tags:
- level1-workstation
- level1-server
- automated
- avahi
- services
- patch
- rule_2.2.4
社区贡献
我们鼓励您(社区)为此角色做出贡献。请阅读以下规则。
- 您的工作在您自己的独立分支中完成。确保对您打算合并的所有提交进行签名和 GPG 签名。
- 所有社区的 Pull Requests 将合并到开发分支
- 合并到开发分支的 Pull Requests 将确认您的提交具有 GPG 签名、Signed-off 和功能测试,之后才被批准。
- 一旦您的更改合并并完成更详细的审查,授权的成员将把您的更改合并到主分支,以进行新发布。
管道测试
使用:
- ansible-core 2.12
- ansible collections - 根据需求文件拉取最新版本
- 使用开发分支运行审计
- 这是一项在开发分支上对拉取请求进行的自动测试
本地测试
Ansible
- ansible-base 2.10.17 - python 3.8
- ansible-core 2.13.4 - python 3.10
- ansible-core 2.15.1 - python 3.11
额外补充
- pre-commit 可以被测试并且可以在目录内运行
pre-commit run
致谢
特别感谢出色的社区和所有成员。
这包括对原作者和维护者的衷心感谢和致敬。
Josh Springer、Daniel Shepherd、Bas Meijeri、James Cassell、Mike Renfro、DFed、George Nalen、Mark Bolwell
Apply the CIS RHEL7 role
ansible-galaxy install ansible-lockdown.rhel7_cis