MindPointGroup.ubuntu18_cis
UBUNTU18 CIS
配置 Ubuntu18 机器以符合 CIS 标准
基于 CIS Ubuntu1804 基准 v2.1.0
寻求支持?
社区
加入我们的 Discord 服务器,提问、讨论功能,或者与其他 Ansible-Lockdown 用户聊天。
注意事项
此角色 将对系统进行更改,可能会导致意外后果。这不是一个审计工具,而是一个用于审计后进行修复的工具。
不支持检查模式!角色将在检查模式下完成而不会出现错误,但不支持此模式,并应谨慎使用。应使用 UBUNTU18-CIS-Audit 角色或合规扫描器进行合规检查。
该角色是在干净的新操作系统上开发的。如果您在现有系统上实施,请查看该角色以了解所需的网站特定更改。
要使用发布版本,请指定主分支和您希望使用的 CIS 基准的相关发布。
为 CIS 匹配安全级别
可以仅运行 CIS 的级别 1 或级别 2 控制。这是通过标签管理的:
- level1_server
- level1_workstation
- level2_server
- level2_workstation
默认的主控件也需要反映此内容,因为它控制如果您使用审计组件进行测试时的检测。
从先前版本迁移
CIS 发布总是包含更改,强烈建议查看新的参考和可用变量。自最初的 ansible-lockdown 发布以来,这些内容已经发生了显著变化。
如果找到了默认解释器,现在已兼容 python3。这会配置系统以满足需求。
更多细节请见 变更日志
审计(新)
可以通过 defaults/main.yml 文件中的变量 run_audit 开启或关闭。默认值为 false,更多细节请参考 wiki。默认文件还填充了 goss 检查,仅检查已在 ansible 角色中启用的控制。
这是一种快速、非常轻量级的检查(在可能的情况下)配置合规性和运行设置。
开发了一种新的审计形式,通过使用一个小的(12MB)go 二进制文件 goss 及相关的配置进行检查。无需基础设施或其他工具。 此审计不仅检查配置是否具有正确的设置,还旨在捕获它是否也在运行该配置,并尽量消除 误报。
请参考 UBUNTU18-CIS-Audit。
审计示例总结
这是基于启用选择的 Vagrant 镜像。例如,没有 GUI 或防火墙。 注意:在审计过程中进行的测试更多,因为我们检查配置和运行状态。
ok: [default] => {
"msg": [
"修复前结果: ['总持续时间: 5.454s', '计数: 338, 失败: 47, 跳过: 5'].",
"修复后结果: ['总持续时间: 5.007s', '计数: 338, 失败: 46, 跳过: 5'].",
"详细总结可以在 /var/tmp 中找到",
""
]
}
PLAY RECAP *******************************************************************************************************************************************
default : ok=270 changed=23 unreachable=0 failed=0 skipped=140 rescued=0 ignored=0
文档
要求
一般要求:
对 Ansible 有基本了解,以下是一些链接,以帮助您入门。如果您对 Ansible 不熟悉,建议查看。
已安装、配置并运行的 Ansible 和/或 Tower。包括所有基础的 Ansible/Tower 配置、所需的包安装,以及基础设施设置。
请阅读该角色中的任务,以了解每个控制项的作用。有些任务是破坏性的,可能会对实时生产系统产生意外后果。同时熟悉 defaults/main.yml 文件中的变量。
技术依赖:
- 如果使用审计功能,则需访问下载或添加 goss 二进制文件和内容到系统(还有其他选项可用以获取内容到系统)。
- Python3
- Ansible 2.10.1+
- python-def
- libselinux-python
角色变量
该角色的设计是让最终用户不必编辑任务本身。所有自定义都应该通过 defaults/main.yml 文件或在项目、作业、工作流等中使用的额外变量来完成。
标签
有许多标签可供添加控制精度使用。每个控制都有自己的一组标签,指明级别、是否评分、相关操作系统元素、是否为补丁或审计,以及规则号。
下面是该角色中一个控制的标签部分示例。使用此示例,如果您设置运行时跳过所有带有 services 标签的控制,则此任务将被跳过。反之亦然,您也可以仅运行标记为 services 的控制。
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
社区贡献
我们鼓励社区成员为该角色做出贡献。请遵守以下规则。
- 您的工作在您自己的个人分支中完成。确保所有提交都经过签署和 GPG 签名,以便合并。
- 所有社区拉取请求将被合并到 devel 分支。
- 向 devel 的拉取请求将确认您的提交具有 GPG 签名,并经过签署和功能测试后才能批准。
- 一旦您的更改被合并并经过更详细的审查,授权成员将把您的更改合并到主分支以进行新版本的发布。
已知问题
cloud0init -由于一个错误,如果 /var
添加了 noexec,此功能将停止工作。
ubtu18cis_rule_1_1_3_3
管道测试
使用:
- ansible-core 2.16
- ansible collections - 根据需求文件拉取最新版本
- 使用 devel 分支运行审计
- 这是一个针对合并请求的自动测试
附加内容
- pre-commit 可以在目录中进行测试并运行
pre-commit run
Apply the Ubuntu 18 CIS
ansible-galaxy install MindPointGroup.ubuntu18_cis