ansible-lockdown.rhel7_cis

RHEL 7 CIS

配置 RHEL/Centos 7 机器以符合 CIS 标准

基于 CIS RedHat Enterprise Linux 7 基准 v4.0.0 - 2023年12月21日


组织星标 星标 分叉 关注者 推特链接

Discord 徽章

发行分支 发行标签 发行日期

主管道状态

开发管道状态 开发提交

打开的问题 关闭的问题 拉取请求

许可证


寻求支持?

Lockdown Enterprise

Ansible 支持

社区

在我们的 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

安装
ansible-galaxy install ansible-lockdown.rhel7_cis
许可证
mit
下载
3.5k
拥有者
Ansible Lockdown is a security baseline automation project sponsored by Mindpoint Group.