MindPointGroup.kubernetes_stig
Kubernetes DISA STIG
配置Kubernetes系统以符合 DISA STIG 标准。
根据 Kubernetes DISA STIG版本1,发布于2023年1月26日
寻求支持?
社区
加入我们的 Discord 服务器,提问、讨论功能或与其他Ansible-Lockdown用户聊天。
注意事项
此角色将对系统进行更改,可能会产生意想不到的后果。它不是审计工具,而是审计后使用的修复工具。
不支持检查模式!角色将在检查模式下完成,无错误显示,但不建议使用,需谨慎对待。
此角色是在Kubernetes的干净安装上开发的。如果您要在现有系统上使用,请审查此角色是否需要进行地方特定的更改。
要使用发布版本,请指向主分支和相关的发布版本,以满足所需的STIG基准。
匹配STIG的安全级别
可以仅运行基于特定安全级别的控制,这通过标签进行管理:
- CAT1
- CAT2
- CAT3
在默认的主文件中找到的控制也需要反映为真,以便允许在启动剧本时运行控制。
来自以前发布版本的说明
STIG发布始终包含更改,强烈建议查阅新的参考资料和可用变量。自最初发布的ansible-lockdown以来,这些内容已经发生了重大变化。 如果找到python3作为默认解释器,它现已与python3兼容。您需要安装的前提条件由系统配置。
更多详细信息请参见 变更日志。
审计(新)
当前此版本没有审计工具。
文档
要求
一般要求:
对Ansible有基本了解,以下是一些链接可帮助您熟悉Ansible文档
需要正常工作的Ansible和/或Tower,已安装、配置并正在运行。这包括所有基本的Ansible/Tower配置、所需的软件包和基础设施设置。
请仔细阅读此角色中的任务,以了解每个控制的功能。有些任务可能会对正在运行的生产系统产生干扰和意外后果。也要熟悉defaults/main.yml文件中的变量。
技术依赖:
- Kubernetes 1.16.7或更高版本 - 不支持其他版本。
- 运行Ansible/Tower设置(此角色经过Ansible版本2.9.1及更高版的测试)
- Python3 Ansible运行环境
- python-def(应包含在RHEL/CentOS 7中) - 第一个任务设置了python3和python2的前提条件(在需要的情况下)
- libselinux-python
- python3-rpm(由py3使用的rpm包)
角色变量
此角色设计为最终用户不需编辑任务本身。所有自定义设置应通过defaults/main.yml文件或项目、作业、工作流等中的额外变量进行。
标签
有很多标签可供选择,以便更精确地控制。每个控制都有自己的标签集合,指明了 什么级别、是否评分、与什么操作系统元素相关,不是补丁还是审计,以及规则编号。
以下是此角色中某个控制的标签部分示例。根据此示例,如果您设置运行跳过所有带有kernel标签的控制,则此任务将被跳过。相反,也可以只运行带有kernel标签的控制。
tags:
- CNTR-K8-001620
- CAT1
- CCI-001084
- SRG-APP-000233-CTR-000585
- SV-242434r864009_rule
- V-242434
- kubelet
- kernel
社区贡献
我们鼓励您(社区)为此角色做出贡献。请遵循以下规则。
- 您的工作将在您自己的分支上完成。确保所有拟合并的提交都是附带签名和GPG签名的。
- 所有社区的拉取请求将被拉入开发分支。
- 拉取请求会确认您的提交有GPG签名、附带签名并且在经过功能测试后才会被批准。
- 一旦您的更改合并并完成更详细的审查,授权成员将把您的更改合并到主分支,以进行新版本发布。
管道测试
使用:
- ansible-core 2.12
- ansible集合 - 根据需求文件拉取最新版本
- 使用开发分支运行审计
- 这是一个在合并请求中的自动测试过程。
Ansible role to apply Kubernetes STIG benchmark
ansible-galaxy install MindPointGroup.kubernetes_stig