anthcourtney.cis-amazon-linux
anthcourtney.cis-amazon-linux
构建状态
分支 | 状态 |
---|---|
主分支 | |
构建分支 |
开发
我们将只在“主分支”上进行全面测试的更改。
请把你的拉取请求发送到“构建”分支。
我们需要更多社区支持进行更改,更重要的是,测试和审核这些更改。如果你想参与,请联系 Anth 或 Chandan。
需要完成的主要工作包括
- CIS 基准 v2.2.0
- Ansible 2.5 及以上版本
- 亚马逊Linux 2 LTS
简介
这个 ansible 角色适用于 CIS 亚马逊 Linux 基准 v2.0.0。https://benchmarks.cisecurity.org/tools2/linux/CIS_Amazon_Linux_Benchmark_v2.0.0.pdf
这个角色是在亚马逊 Linux 2016.03 上开发和测试的。它也在亚马逊 Linux 2016.09 上测试成功。
我为什么要使用这个角色?
如果你试图获得对行业公认安全标准(如 PCI DSS、APRA 或 ISO 27001)的合规性,那么你需要证明你已针对所有被评估系统应用了文件记录的加固标准。
如果你正在运行亚马逊 Linux,这个角色旨在为合规性问题提供解决方案的一部分。
注意事项
如果你考虑将这个角色应用于任何服务器,你应该对 CIS 基准(或其他类似基准)有基本了解,并理解其对系统可能产生的影响。
请花时间了解该标准以及可配置的默认值,并在应用于系统之前排除任何项目。
应立即考虑排除(或至少修改相关默认值)的项目示例包括:
3.4.2
和3.4.3
,默认情况下仅允许本机访问主机(包括通过 SSH)。
亚马逊 Linux 和 SE Linux
在亚马逊 Linux 中,默认情况下通过 grub 禁用 SElinux。
要启用,请编辑;
/boot/grub/menu.lst
将 selinux=0
修改为 selinux=1
touch /etc/selinux/config
另外,安装以下软件包以允许 ansible SElinux 模块在主机上运行。
yum install libselinux-python
重启后更改才会生效。
示例剧本
使用此角色的示例剧本如下:
---
- hosts: localhost
connection: local
gather_facts: true
become: yes
roles:
- anthcourtney.cis-amazon-linux
一个更高级的示例,包含对默认值的修改,以及排除一些在虚构环境中被认为不必要的基准项目,如下所示:
---
- 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:
- anthcourtney.cis-amazon-linux
请注意,使用 become: yes
是必要的,因为99%的任务需要特权访问才能执行。
角色变量
请查看 defaults/main.yml
中的变量,可以根据需要进行覆盖。
选项
可以使用标签(及其组合)运行 CIS 标准的特定级别、一个部分或一个个别建议。例如:
- 仅运行级别 1 的任务
ansible-playbook playbook.yml -t level-1
- 仅运行第 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
限制
目前,仅实施了基准的级别 1 项目。级别 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.3
- 2.4
- 2.5
- 2.6
- 2.7
此角色未在其他版本的 Ansible 上进行测试。
测试
该角色的开发者应用以下测试流程:
- 检查角色的语法。请参见
make syntax
。 - 对角色运行
ansible-review
,并纠正任何被认为合适的警告。请参见make review
。 - 在 docker 容器上应用该角色,使用 Ansible v2.1.3 和 Ansible v2.2。请参见
make test
。
以下测试已被标记,但尚未实施:
- 针对 Vagrant
mvbcoding/awslinux
镜像测试该角色的应用,使用 Ansible 提供程序。
Lint
请运行 make lint
以确保我们遵循 Ansible 标准。
许可证
MIT。
作者信息
此角色由 Anth Courtney 开发。
欢迎并感谢任何反馈、问题和拉取请求。
ansible-galaxy install anthcourtney.cis-amazon-linux