HarryHarcourt.ansible_rhel8_cis_benchmarks
HarryHarcourt.Ansible-RHEL8-CIS-Benchmarks
所有的荣誉归于 anthcourtney,他在这里创建了原始框架:https://github.com/anthcourtney/ansible-role-cis-amazon-linux
该实现已转为红帽企业 Linux 8.X 和 CentOS 8.X(注意尚未测试)。
该实现的许多地方已实现幂等,并将继续保持。
此实现允许启用和配置一些服务。
CIS RHEL Linux 基准。 https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v2.1.1.pdf
该角色是在使用 AWS AMI: ami-079596bf7a949ddf8 的红帽 Linux 8.0 上开发和测试的。
我为什么要使用这个角色?
如果您想要符合行业认可的安全标准,如 PCI DSS、APRA 或 ISO 27001,您需要证明您已经在所有评估范围内的系统中应用了文档化的防护标准。
如果您正在运行红帽 Linux,那么这个角色旨在为合规性问题提供解决方案的一部分。
注意事项!
如果您考虑将此角色应用于任何服务器,您应该对 CIS 基准(或其他类似基准)有基本的了解,并理解它可能对系统产生的影响。
请花时间熟悉标准和可配置的默认值,并在应用到系统之前排除任何项目。
需要立即考虑排除(或至少修改相关默认值)的项目示例包括:
3.4.2
和3.4.3
,这两个选项默认情况下只允许 localhost 访问主机(包括通过 ssh)。
示例剧本
使用此角色的示例剧本如下:
---
- hosts: localhost
connection: local
gather_facts: true
become: yes
roles:
- Ansible-RHEL8-CIS-Benchmarks
一个更高级的示例,包含对默认值的修改,以及对一些在虚构环境中被认为不必要的基准条目的排除,如下所示:
---
- hosts: localhost
connection: local
gather_facts: true
become: yes
vars:
cis_level_1_exclusions:
- 5.4.4
- 3.4.2
- 3.4.3
- 6.2.13
cis_pass_max_days: 45
cis_umask_default: 002
roles:
- Ansible-RHEL8-CIS-Benchmarks
请注意,使用 become: yes
是必需的,因为 99% 的任务需要特权访问才能执行。
角色变量
可以查看 defaults/main.yml
中可以根据需要覆盖的变量。
选项
可以使用标签(及其组合)运行特定级别的 CIS 标准、一个部分或单个建议。例如:
- 仅运行 Level 1 任务
ansible-playbook playbook.yml -t level-1
- 仅运行 Section 3 任务
ansible-playbook playbook.yml -t section-3
- 仅运行任务 1.3.1 和 2.2.10
ansible-playbook playbook.yml -t 1.3.1,2.2.10
- 仅运行评分任务
ansible-playbook playbook.yml -t scored
局限性
当前,基准的 Level 1 项目已实现。 Level 2 项目将在时间允许的情况下添加。
以下检查尚未实现:
- 3.6.2. 防火墙规则集是特定于环境的。
- 3.6.3. 防火墙规则集是特定于环境的。
- 3.6.4. 防火墙规则集是特定于环境的。
- 3.6.5. 防火墙规则集是特定于环境的。
- 4.2.1.2. 日志内容和消息去向的判断是特定于环境的。
- 4.2.2.2. 日志内容和消息去向的判断是特定于环境的。
- syslog-ng 配置文件的内联编辑被认为过于不精确,最好通过提供的配置文件解决,该文件解决了此和其他相关需求。
- logrotate 的配置是特定于站点的。
- pam 配置文件的多行编辑被认为过于不精确和危险,最好通过提供的配置文件解决,该文件解决了此和其他相关需求。
兼容性
该角色与以下版本的 ansible 兼容:
- 2.0.2
- 2.1.3
- 2.2.0
- 2.3.0
该角色尚未在其他版本的 ansible 上进行测试。
测试
此角色的开发者应用以下测试流程:
- 检查角色的语法。查看
make syntax
。 - 针对该角色运行
ansible-review
,并改进任何适当的警告。查看make review
。 - 在 docker 容器上使用 ansible v2.1.3 和 ansible v2.2 应用该角色。查看
make test
。
以下测试已被标记,但尚未实现:
- 对 Vagrant
mvbcoding/awslinux
镜像应用该角色的测试,使用 ansible 配置器。
许可证
BSD。
作者信息
此角色最初由 Anth Courtney 开发。
此角色由 Ben Wright 进一步开发。
欢迎并感谢所有反馈、问题和 PR。
Idempotent CIS Benchmarks for RHEL/CentOS Linux V2
ansible-galaxy install HarryHarcourt.ansible_rhel8_cis_benchmarks