ansible-lockdown.amazon2023_cis
亚马逊 2023 CIS
将亚马逊 2023 机器配置为符合 CIS 标准
基于 CIS 亚马逊 2023 基准 v1.0.0 - 2023 年 6 月 26 日
寻求支持?
社区
加入我们的 Discord 服务器,提问、讨论功能或与其他 Ansible-Lockdown 用户聊天。
贡献
欢迎提出问题和拉取请求,请确保所有提交都已签名并进行 GPG 签名。 请参阅 贡献指南
注意事项
此角色 将更改系统,可能会产生意想不到的后果。这不是审计工具,而是用于审计后修复的工具。
不支持检查模式!在检查模式下运行时,角色会完成而没有错误,但不被支持,应小心使用。应使用合规性扫描器进行合规性检查,而不是检查模式。
此角色是在操作系统的全新安装上开发的。如果您要在现有系统上实施,请审查此角色以确认是否需要特定于网站的更改。
要使用发布版本,请指向 main 分支和您希望使用的 CIS 基准的相关版本。
匹配 CIS 的安全级别
可以仅运行 CIS 的第 1 级或第 2 级控制。这可以通过标签管理:
- level1-server
- level2-server
在 defaults 主要部分中找到的控制也需要相应地反映这一点,因为如果您使用审计组件,此控制将进行测试。
从以前的版本过来
CIS 发布始终包含更改,强烈建议查看新参考和可用变量。自 ansible-lockdown 初始发布以来,这些内容已显著更改。 如果发现 python3 是默认解释器,则现在兼容。这会带来配置系统的前提条件。
更多详细信息可见 变更日志
审计(新)
可以在 defaults/main.yml 文件中通过变量 setup_audit 和 run_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
pre-commit run
Apply the Amazon 2023 CIS
ansible-galaxy install ansible-lockdown.amazon2023_cis