ansible-lockdown.amazon2023_cis

亚马逊 2023 CIS

将亚马逊 2023 机器配置为符合 CIS 标准

基于 CIS 亚马逊 2023 基准 v1.0.0 - 2023 年 6 月 26 日


组织星标 星标 派生 关注者 Twitter URL

Ansible Galaxy 质量 Discord 徽章

发布分支 发布标签 发布日期

主管道状态

开发管道状态 开发提交

未解决的问题 已解决的问题 拉取请求

许可证


寻求支持?

Lockdown Enterprise

Ansible 支持

社区

加入我们的 Discord 服务器,提问、讨论功能或与其他 Ansible-Lockdown 用户聊天。

贡献

欢迎提出问题和拉取请求,请确保所有提交都已签名并进行 GPG 签名。 请参阅 贡献指南


注意事项

此角色 将更改系统,可能会产生意想不到的后果。这不是审计工具,而是用于审计后修复的工具。

不支持检查模式!在检查模式下运行时,角色会完成而没有错误,但不被支持,应小心使用。应使用合规性扫描器进行合规性检查,而不是检查模式。

此角色是在操作系统的全新安装上开发的。如果您要在现有系统上实施,请审查此角色以确认是否需要特定于网站的更改。

要使用发布版本,请指向 main 分支和您希望使用的 CIS 基准的相关版本。


匹配 CIS 的安全级别

可以仅运行 CIS 的第 1 级或第 2 级控制。这可以通过标签管理:

  • level1-server
  • level2-server

defaults 主要部分中找到的控制也需要相应地反映这一点,因为如果您使用审计组件,此控制将进行测试。

从以前的版本过来

CIS 发布始终包含更改,强烈建议查看新参考和可用变量。自 ansible-lockdown 初始发布以来,这些内容已显著更改。 如果发现 python3 是默认解释器,则现在兼容。这会带来配置系统的前提条件。

更多详细信息可见 变更日志

审计(新)

可以在 defaults/main.yml 文件中通过变量 setup_auditrun_audit 进行开启或关闭。默认值为 false。请参阅维基以获得更多详细信息。默认文件还填充了 goss 检查,只检查在 ansible 角色中启用的控制。

这是一种更快速、非常轻量级的检查(在可能的情况下)配置合规性和实时/运行设置。

通过使用一个小的(12MB)go 二进制文件 goss 以及相关配置来进行审计,无需基础设施或其他工具。 此审计不仅检查配置是否具有正确的设置,还旨在捕捉是否使用该配置运行,并尽量消除过程中的 假阳性

请参阅 AMAZON2023-CIS-Audit

文档

要求

亚马逊 2023

  • 如果使用审计,需有权限下载或添加 goss 二进制文件及内容(也可以有其他选项将内容传送到系统)。

CentOS Stream - 虽然通常可以工作,但不受支持并需要以下变量设置

os_check: false

一般要求:

  • 基本的 Ansible 知识,以下是一些 Ansible 文档的链接,帮助您开始,如果您对 Ansible 不熟悉:

  • 正常运行的 Ansible 和/或 Tower 已安装、配置并运行。这包括所有基本的 Ansible/Tower 配置、所需的包和基础设施设置。

  • 请浏览此角色中的任务以了解每个控制的功能。一些任务可能会干扰,并在实时生产系统中产生意想不到的后果。同时熟悉 defaults/main.yml 文件中的变量。

技术依赖:

  • Python3
  • Ansible 2.10+
  • python3-libselinux(如需要在前提条件中安装)
  • 列于 collections/requirements.yml 的集合

如果在您的主机上安装了 pre-commit,则可以用其进行拉取请求测试。

角色变量

该角色设计为最终用户不需要编辑任务。所有自定义应通过覆盖 defaults/main.yml 文件中找到的必要变量进行。例如,使用 inventory、group_vars、extra_vars。

标签

有很多标签可用于增加控制精度。每个控制都有自己的一组标签,标明什么级别,是否评分/不评分,相关的操作系统元素,是否是补丁或审计,以及规则编号。

以下是该角色中某个控制的标签部分示例。使用此示例,如果您设置运行以跳过所有带有标签 services 的控制,则该任务将被跳过。相反,您也可以仅运行带有服务标签的控制。

      tags:
      - level1-server
      - level1-workstation
      - scored
      - avahi
      - services
      - patch
      - rule_2.2.4

社区贡献

我们鼓励您(社区)为此角色贡献代码。请阅读以下规则。

  • 您的工作应在您自己的单独分支中进行。确保签名并 GPG 签名您打算合并的所有提交。
  • 所有社区拉取请求会被合并到 dev branch。
  • 针对 dev 的拉取请求将确认您的提交具有 GPG 签名、已签名,并在批准之前进行功能测试。
  • 一旦您的更改合并并完成更详细的审查,授权成员将把您的更改合并到主分支以进行新发布。

已知问题

默认构建未设置 root 密码,因此初步检查将失败。请使用正确的加密版本设置 root 密码。

CIS 文档控制

  • 1.2.2 和 1.2.4 会影响默认存储库,并将停止补丁修复。
  • 6.1.1 和 6.1.2 相同。因此第 6 节只有 12 项而不是文档中的内容。

管道测试

使用:

  • ansible-core 2.12
  • ansible 集合 - 根据要求文件拉取最新版本
  • 使用开发分支运行审计
  • 在 PR 上运行 pre-commit 设置,以确保一切按预期进行。
  • 这是在拉取请求合并到 dev 时执行的自动测试。

本地测试

  • 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 run
安装
ansible-galaxy install ansible-lockdown.amazon2023_cis
许可证
mit
下载
741
拥有者
Lockdown is a security baseline automation project sponsored by Tyto Athene.