florianutz.ubuntu1804_cis

Ubuntu 18.04 CIS STIG

构建状态 Ansible角色

配置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

关于项目

Ansible role to apply Ubuntu 18.04 CIS Baseline

安装
ansible-galaxy install florianutz.ubuntu1804_cis
许可证
mit
下载
121.1k
拥有者