florianutz.ubuntu1804_cis
Ubuntu 18.04 CIS STIG
配置Ubuntu 18.04机器以符合CIS标准。默认情况下,将修正第1级和第2级的发现问题。
此角色将对系统进行更改,可能会导致问题。这不是一个审计工具,而是一个在审计后用于修复的工具。
重要安装步骤
如果你想通过ansible-galaxy
命令安装,请按照以下方式运行:
ansible-galaxy install -p roles -r requirements.yml
在requirements.yml文件中:
- src: https://github.com/florianutz/Ubuntu1804-CIS.git
基于CIS Ubuntu 基准 v2.0.1 - 2020年1月3日。
此存储库源于MindPointGroup的工作。
需求
在运行此剧本之前,您应该仔细阅读任务,以确保这些更改不会使系统出现故障。
角色变量
在defaults/main.yml中定义了许多角色变量。此列表显示了最重要的变量。
ubuntu1804cis_notauto: 运行我们通常不想自动化的CIS检查,因为它们有可能导致系统故障(默认值:false)
ubuntu1804cis_section1: CIS - 一般设置(第1部分)(默认值:true)
ubuntu1804cis_section2: CIS - 服务设置(第2部分)(默认值:true)
ubuntu1804cis_section3: CIS - 网络设置(第3部分)(默认值:true)
ubuntu1804cis_section4: CIS - 日志记录和审计设置(第4部分)(默认值:true)
ubuntu1804cis_section5: CIS - 访问、身份验证和授权设置(第5部分)(默认值:true)
ubuntu1804cis_section6: CIS - 系统维护设置(第6部分)(默认值:true)
禁用所有selinux功能
ubuntu1804cis_selinux_disable: false
服务变量:
这些控制服务器是否被允许继续运行这些服务
ubuntu1804cis_avahi_server: false
ubuntu1804cis_cups_server: false
ubuntu1804cis_dhcp_server: false
ubuntu1804cis_ldap_server: false
ubuntu1804cis_telnet_server: false
ubuntu1804cis_nfs_server: false
ubuntu1804cis_rpc_server: false
ubuntu1804cis_ntalk_server: false
ubuntu1804cis_rsyncd_server: false
ubuntu1804cis_tftp_server: false
ubuntu1804cis_rsh_server: false
ubuntu1804cis_nis_server: false
ubuntu1804cis_snmp_server: false
ubuntu1804cis_squid_server: false
ubuntu1804cis_smb_server: false
ubuntu1804cis_dovecot_server: false
ubuntu1804cis_httpd_server: false
ubuntu1804cis_vsftpd_server: false
ubuntu1804cis_named_server: false
ubuntu1804cis_bind: false
ubuntu1804cis_vsftpd: false
ubuntu1804cis_httpd: false
ubuntu1804cis_dovecot: false
ubuntu1804cis_samba: false
ubuntu1804cis_squid: false
ubuntu1804cis_net_snmp: false
将服务器指定为邮件服务器
ubuntu1804cis_is_mail_server: false
系统网络参数(仅主机或主机和路由器)
ubuntu1804cis_is_router: false
需要IPv6
ubuntu1804cis_ipv6_required: true
AIDE
ubuntu1804cis_config_aide: true
AIDE计划任务设置
ubuntu1804cis_aide_cron:
cron_user: root
cron_file: /etc/crontab
aide_job: '/usr/sbin/aide --check'
aide_minute: 0
aide_hour: 5
aide_day: '*'
aide_month: '*'
aide_weekday: '*'
如果您的环境需用到X Windows,请设置为'true'
ubuntu1804cis_xwindows_required: no
客户端应用程序要求
ubuntu1804cis_openldap_clients_required: false
ubuntu1804cis_telnet_required: false
ubuntu1804cis_talk_required: false
ubuntu1804cis_rsh_required: false
ubuntu1804cis_ypbind_required: false
时间同步
ubuntu1804cis_time_synchronization: chrony
ubuntu1804cis_time_Synchronization: ntp
ubuntu1804cis_time_synchronization_servers:
- uri: "0.pool.ntp.org"
config: "minpoll 8"
- uri: "1.pool.ntp.org"
config: "minpoll 8"
- uri: "2.pool.ntp.org"
config: "minpoll 8"
- uri: "3.pool.ntp.org"
config: "minpoll 8"
- 名称: "评分 | 1.1.5 | 修补 | 确保/tmp分区设置了noexec选项"
尚未实现,/tmp的noexec将干扰apt。/tmp在软件包安装期间包含可执行脚本
1.5.3 | 修补 | 确保单用户模式需要身份验证
默认情况下禁用,因为它为root设置随机密码。要启用,请设置:
ubuntu1804cis_rule_1_5_3: true
要使用非随机密码:
ubuntu1804cis_root_password: '新密码'
3.4.2 | 修补 | 确保/etc/hosts.allow已配置
ubuntu1804cis_host_allow:
- "10.0.0.0/255.0.0.0"
- "172.16.0.0/255.240.0.0"
- "192.168.0.0/255.255.0.0"
ubuntu1804cis_firewall: firewalld
ubuntu1804cis_firewall: iptables
5.3.1 | 修补 | 确保密码创建要求已配置
ubuntu1804cis_pwquality:
- key: 'minlen'
value: '14'
- key: 'dcredit'
value: '-1'
- key: 'ucredit'
value: '-1'
- key: 'ocredit'
value: '-1'
- key: 'lcredit'
value: '-1'
依赖项
Ansible >= 2.4 和 <= 2.7(不支持2.8)
示例剧本
- name: 加固服务器
hosts: servers
become: yes
roles:
- Ubuntu1804-CIS
要在此存储库中运行任务,请首先在存储库上方创建该文件(即剧本.y中和目录Ubuntu1804-CIS
应该放在一起),然后查看defaults/main.yml
文件,并禁用您不希望执行的任何规则/部分。
假设您将文件命名为site.yml
,则运行:
ansible-playbook site.yml
标签
有许多标签可用于精确控制哪些内容被更改,哪些不被更改。
一些使用标签的示例:
# 审计和修补站点
ansible-playbook site.yml --tags="patch"
许可证
MIT