CIS Ubuntu 基准

本文档介绍了 Google Distributed Cloud 与 CIS Ubuntu 基准的合规性级别。

访问基准

您可以通过 CIS 网站获取 CIS GKE 基准。

配置文件

在 CIS Ubuntu 基准文档中,您可以阅读配置文件。Google Distributed Cloud 使用的 Ubuntu 映像经过了安全加固,符合 2 级 - 服务器配置文件。

Google Distributed Cloud 评估

我们使用以下值指定 Google Distributed Cloud 中 Ubuntu 建议的状态。

状态 说明
通过 符合基准建议。
未通过 偏离基准建议。
不适用 与要评估的系统无关,因此不适合在该系统上测试。

Google Distributed Cloud 的状态

与 Google Distributed Cloud 搭配使用的 Ubuntu 映像经过了安全加固,符合 CIS 2 级 - 服务器配置文件。下表说明了 Google Distributed Cloud 组件未通过某些建议的原因。 状态为 Passed 的基准不包含在下表中。

1.32

版本

本部分涉及以下版本:

Google Distributed Cloud 版本 Ubuntu 版本 CIS Ubuntu 基准版本 CIS 级别
1.32 22.04 LTS v1.0.0 第 2 级服务器

未通过的建议

下表列出了 Google Distributed Cloud 偏离基准建议的建议。这些发现结果适用于集群节点和管理员工作站。

# 建议 严重级别 状态
1.1.2.1 确保 /tmp 位于单独的分区上 未通过
1.1.3.1 确保 /var 位于单独的分区上 未通过
1.1.4.1 确保 /var/tmp 位于单独的分区上 未通过
1.1.5.1 确保 /var/log 位于单独的分区上 未通过
1.1.6.1 确保 /var/log/audit 位于单独的分区上 未通过
1.1.7.1 确保 /home 位于单独的分区上 未通过
1.4.1 在 grub2 中设置引导加载器密码 未通过
1.4.3 确保单用户模式要求进行身份验证 未通过
2.3.6 卸载 rpcbind 软件包 未通过
3.2.2 停用 IPv4 接口上的 IP 转发内核参数 未通过
3.3.7 启用内核参数,以默认在所有 IPv4 接口上使用反向路径过滤 未通过
3.3.7 启用内核参数以在所有 IPv4 接口上使用反向路径过滤 未通过
3.5.2.8 确保 nftables 默认拒绝防火墙政策 未通过
3.5.2.10 确保 nftables 规则具有永久性 未通过
4.2.3 验证日志文件的权限 未通过
5.2.4 限制用户的 SSH 访问权限 未知 未通过
5.3.4 确保用户重新进行身份验证以提升权限 - sudo 未通过
5.5.1.2 设置密码最长使用时间 未通过

通过的建议

下表列出了 Google Distributed Cloud 符合基准建议的建议。

# 建议 严重级别 状态
1.1.1.1 停用 cramfs 装载 通过
1.1.1.2 停用 squashfs 装载 通过
1.1.1.3 停用 udf 装载 通过
1.1.8.1 向 /dev/shm 添加 nodev 选项 通过
1.1.8.2 向 /dev/shm 添加 noexec 选项 通过
1.1.8.3 向 /dev/shm 添加 nosuid 选项 通过
1.1.9 停用自动装载器 通过
1.1.10 停用 USB 存储设备驱动程序的 Modprobe 加载 通过
1.4.2 验证 /boot/grub/grub.cfg 权限 通过
1.5.1 启用虚拟地址空间的随机布局 通过
1.5.2 不得安装“prelink”软件包 通过
1.5.3 停用 Apport 服务 未知 通过
1.5.4 为所有用户停用核心转储 通过
1.5.4 为 SUID 程序停用核心转储 通过
1.6.1.1 确保已安装 AppArmor 通过
1.6.1.2 确保在引导加载程序配置中启用了 AppArmor 通过
1.6.1.4 强制执行所有 AppArmor 配置文件 通过
1.7.1 修改系统每日消息横幅 通过
1.7.2 修改系统登录横幅 通过
1.7.3 修改远程访问服务的系统登录横幅 通过
1.7.4 验证每日消息横幅的群组所有权 通过
1.7.4 验证每日消息横幅的所有权 通过
1.7.4 验证每日消息横幅的权限 通过
1.7.5 验证系统登录横幅的群组所有权 通过
1.7.5 验证系统登录横幅的所有权 通过
1.7.5 验证系统登录横幅的权限 通过
1.7.6 验证远程访问服务的系统登录横幅的群组所有权 通过
1.7.6 验证远程访问服务的系统登录横幅的所有权 通过
1.7.6 验证远程访问服务的系统登录横幅的权限 通过
2.1.1.1 安装 systemd_timesyncd 服务 通过
2.1.3.2 启用 systemd_timesyncd 服务 通过
2.2.1 移除 X Windows 软件包群组 通过
2.2.2 停用 Avahi 服务器软件 通过
2.2.2 卸载 avahi 服务器软件包 通过
2.2.3 停用 CUPS 服务 未知 通过
2.2.3 卸载 CUPS 软件包 未知 通过
2.2.4 卸载 DHCP 服务器软件包 通过
2.2.5 卸载 openldap-servers 软件包 通过
2.2.6 卸载 nfs-kernel-server 软件包 通过
2.2.7 卸载 bind 软件包 通过
2.2.8 卸载 vsftpd 软件包 通过
2.2.9 卸载 httpd 软件包 未知 通过
2.2.9 卸载 nginx 软件包 未知 通过
2.2.10 卸载 cyrus-imapd 软件包 未知 通过
2.2.10 卸载 dovecot 软件包 未知 通过
2.2.11 卸载 Samba 软件包 未知 通过
2.2.12 卸载 squid 软件包 未知 通过
2.2.13 卸载 net-snmp 软件包 未知 通过
2.2.14 卸载 nis 软件包 通过
2.2.15 确保邮件传输代理未监听任何非环回地址 通过
2.2.16 卸载 rsync 软件包 通过
2.3.2 卸载 rsh 软件包 未知 通过
2.3.3 卸载 talk 软件包 通过
2.3.4 移除 telnet 客户端 通过
2.3.5 确保未安装 LDAP 客户端 通过
3.1.2 停用无线网络接口 通过
3.2.1 默认停用用于在所有 IPv4 接口上发送 ICMP 重定向的内核参数 通过
3.2.1 停用用于在所有 IPv4 接口上发送 ICMP 重定向的内核参数 通过
3.2.2 停用 IPv6 转发的内核参数 通过
3.3.1 停用用于在所有 IPv4 接口上接受来源路由的数据包的内核参数 通过
3.3.1 停用用于在所有 IPv6 接口上接受来源路由的数据包的内核参数 通过
3.3.1 默认停用用于在所有 IPv4 接口上接受来源路由的数据包的内核参数 通过
3.3.1 默认停用用于在 IPv6 接口上接受来源路由的数据包的内核参数 通过
3.3.2 停用所有 IPv4 接口接受 ICMP 重定向 通过
3.3.2 停用所有 IPv6 接口接受 ICMP 重定向 通过
3.3.2 停用用于在 IPv4 接口上默认接受 ICMP 重定向的内核参数 通过
3.3.2 停用用于在 IPv6 接口上默认接受 ICMP 重定向的内核参数 通过
3.3.3 配置内核参数以默认接受安全重定向 通过
3.3.3 停用用于在 IPv4 接口上接受安全 ICMP 重定向的内核参数 通过
3.3.4 启用内核参数以在所有 IPv4 接口上记录 Martian 数据包 未知 通过
3.3.4 默认启用内核参数以在所有 IPv4 接口上记录 Martian 数据包 未知 通过
3.3.5 启用内核参数以忽略 IPv4 接口上的 ICMP 广播回显请求 通过
3.3.6 启用内核参数以忽略 IPv4 接口上的虚假 ICMP 错误响应 未知 通过
3.3.8 启用内核参数以在网络接口上使用 TCP SynCookie 通过
3.3.9 配置在所有 IPv6 接口上接受路由器通告 通过
3.3.9 默认停用在所有 IPv6 接口上接受路由器通告 通过
3.4.1 停用 DCCP 支持 通过
3.4.2 停用 SCTP 支持 通过
3.4.3 停用 RDS 支持 通过
3.4.4 停用 TIPC 支持 通过
3.5.1.2 移除 iptables-persistent 软件包 通过
3.5.2.1 安装 nftables 软件包 通过
3.5.2.4 确保 Nftables 存在表 通过
3.5.2.5 确保 Nftables 存在基本链 通过
3.5.2.9 验证是否已启用 nftables 服务 通过
3.5.3.1.1 安装 iptables 软件包 通过
3.5.3.1.3 移除 ufw 软件包 通过
4.1.1.1 确保已安装审核子系统 通过
4.1.1.2 启用 auditd 服务 通过
4.1.1.4 扩展审核守护程序的审核积压限制 通过
4.1.2.1 配置 auditd 日志文件大小上限 通过
4.1.2.2 配置达到日志大小上限时的 auditd max_log_file_action 通过
4.1.2.3 配置磁盘空间不足时的 auditd admin_space_left 操作 通过
4.1.2.3 配置磁盘空间不足时的 auditd mail_acct 操作 通过
4.1.2.3 配置磁盘空间不足时的 auditd space_left 操作 通过
4.1.3.1 确保 auditd 收集系统管理员操作 通过
4.1.3.2 在运行特权可执行文件时记录事件 通过
4.1.3.3 记录执行维护活动的尝试 通过
4.1.3.4 记录更改 localtime 文件的尝试 通过
4.1.3.4 记录通过 adjtimex 更改时间的尝试 通过
4.1.3.4 记录通过 clock_settime 更改时间的尝试 通过
4.1.3.4 记录通过 settimeofday 更改时间的尝试 通过
4.1.3.4 记录通过 stime 更改时间的尝试 通过
4.1.3.5 记录修改系统网络环境的事件 通过
4.1.3.6 确保 auditd 收集特权命令 su 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 sudo 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 sudoedit 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 umount 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 unix_chkpwd 的使用信息 通过
4.1.3.7 记录对文件的不成功访问尝试 - creat 通过
4.1.3.7 记录对文件的不成功访问尝试 - ftruncate 通过
4.1.3.7 记录对文件的不成功访问尝试 - open 通过
4.1.3.7 记录对文件的不成功访问尝试 - openat 通过
4.1.3.7 记录对文件的不成功访问尝试 - truncate 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/group 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/gshadow 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/passwd 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/security/opasswd 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/shadow 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - chmod 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - chown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchmod 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchmodat 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchownat 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fremovexattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fsetxattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - lchown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - lremovexattr 通过
4.1.3.9 记录修改系统自主访问控制的事件 - lsetxattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - removexattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - setxattr 通过
4.1.3.10 确保 auditd 收集有关导出到媒体的信息(成功) 通过
4.1.3.11 记录更改进程和会话启动信息的尝试 通过
4.1.3.12 记录更改登录和退出事件的尝试 - faillog 通过
4.1.3.12 记录更改登录和退出事件的尝试 - lastlog 通过
4.1.3.12 记录更改登录和退出事件的尝试 - tallylog 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - rename 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - renameat 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - unlink 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - unlinkat 通过
4.1.3.14 记录修改系统强制访问权限控制的事件 通过
4.1.3.15 记录运行 chcon 的任何尝试 通过
4.1.3.16 记录运行 setfacl 的任何尝试 通过
4.1.3.17 记录运行 chacl 的任何尝试 通过
4.1.3.18 确保 auditd 收集特权命令 usermod 的使用信息 通过
4.1.3.19 确保 auditd 收集有关内核模块加载的信息 - init_module 通过
4.1.3.19 确保 auditd 收集有关内核模块卸载的信息 - delete_module 通过
4.1.3.19 确保 auditd 收集特权命令 insmod 的使用信息 通过
4.1.3.19 确保 auditd 收集特权命令 modprobe 的使用信息 通过
4.1.3.19 确保 auditd 收集特权命令 rmmod 的使用信息 通过
4.1.3.20 将 auditd 配置设为不可变 通过
4.1.4.1 系统审核日志模式必须为 0640 或更少权限 通过
4.1.4.2 系统审核日志必须归 Root 所有 通过
4.1.4.3 系统审核日志必须属于 Root 所有的群组 通过
4.1.4.4 系统审核日志模式必须为 0750 或更少权限 通过
4.1.4.5 验证 /etc/audit/auditd.conf 的权限 通过
4.1.4.5 验证 /etc/audit/rules.d/*.rules 的权限 通过
4.1.4.6 审核配置文件必须归 Root 所有 通过
4.1.4.7 审核配置文件必须归群组 root 所有 通过
4.1.4.8 验证审核工具模式是否为 0755 或更少权限 通过
4.1.4.9 验证审核工具是否归 root 所有 通过
4.1.4.10 验证审核工具是否归群组 root 所有 通过
4.2.1.1.1 安装 systemd-journal-remote 软件包 通过
4.2.1.1.4 停用 systemd-journal-remote 套接字 通过
4.2.1.2 启用 systemd-journald 服务 通过
4.2.1.3 确保 journald 已配置为压缩大型日志文件 通过
4.2.1.4 确保 journald 已配置为将日志文件写入永久性磁盘 通过
4.2.2.1 确保已安装 rsyslog 通过
4.2.2.2 启用 rsyslog 服务 通过
4.2.2.4 确保已配置 rsyslog 默认文件权限 通过
4.2.2.7 确保 rsyslog 不接受远程消息,除非它充当日志服务器 通过
5.1.1 启用 cron 服务 通过
5.1.2 验证拥有 Crontab 的群组 通过
5.1.2 验证 crontab 的所有者 通过
5.1.2 验证 crontab 的权限 通过
5.1.3 验证拥有 cron.hourly 的群组 通过
5.1.3 验证 cron.hourly 的所有者 通过
5.1.3 验证 cron.hourly 的权限 通过
5.1.4 验证拥有 cron.daily 的群组 通过
5.1.4 验证 cron.daily 的所有者 通过
5.1.4 验证 cron.daily 的权限 通过
5.1.5 验证拥有 cron.weekly 的群组 通过
5.1.5 验证 cron.weekly 的所有者 通过
5.1.5 验证 cron.weekly 的权限 通过
5.1.6 验证拥有 cron.monthly 的群组 通过
5.1.6 验证 cron.monthly 的所有者 通过
5.1.6 验证 cron.monthly 的权限 通过
5.1.7 验证拥有 cron.d 的群组 通过
5.1.7 验证 cron.d 的所有者 通过
5.1.7 验证 cron.d 的权限 通过
5.1.8 确保 /etc/cron.deny 不存在 通过
5.1.8 验证拥有 /etc/cron.allow 文件的群组 通过
5.1.8 验证 /etc/cron.allow 文件的权限 通过
5.1.8 验证拥有 /etc/cron.allow 文件的用户 通过
5.1.9 确保 /etc/at.deny 不存在 通过
5.1.9 验证拥有 /etc/at.allow 文件的群组 通过
5.1.9 验证 /etc/at.allow 文件的权限 通过
5.1.9 验证拥有 /etc/at.allow 文件的用户 通过
5.2.1 验证拥有 SSH 服务器配置文件的群组 通过
5.2.1 验证 SSH 服务器配置文件的所有者 通过
5.2.1 验证 SSH 服务器配置文件的权限 通过
5.2.2 验证 SSH 服务器 *_key 私钥文件的权限 通过
5.2.3 验证 SSH 服务器 *.pub 公钥文件的权限 通过
5.2.5 将 LogLevel 设置为 INFO 通过
5.2.6 启用 PAM 通过
5.2.7 停用 SSH 根登录 通过
5.2.8 停用基于主机的身份验证 通过
5.2.9 停用通过空密码进行的 SSH 访问 通过
5.2.10 不允许使用 SSH 环境选项 通过
5.2.11 停用对 .rhosts 文件的 SSH 支持 通过
5.2.12 停用 X11 转发 通过
5.2.13 仅使用强加密 通过
5.2.14 仅使用安全系数高的 MAC 通过
5.2.15 仅使用安全系数高的密钥交换算法 通过
5.2.16 停用 SSH TCP 转发 通过
5.2.17 启用 SSH 警告横幅 通过
5.2.18 设置 SSH 身份验证尝试限制 通过
5.2.19 确保已配置 SSH MaxStartups 通过
5.2.20 设置 SSH MaxSessions 限制 通过
5.2.21 确保已配置 SSH LoginGraceTime 通过
5.2.22 设置 SSH 客户端活跃次数上限 通过
5.2.22 设置 SSH 客户端活跃间隔 通过
5.3.1 安装 sudo 软件包 通过
5.3.2 确保只有登录到实际 tty 的用户才能执行 Sudo - sudo use_pty 通过
5.3.3 确保 Sudo 日志文件存在 - sudo logfile 通过
5.3.5 确保用户重新进行身份验证以提升权限 - sudo !authenticate 通过
5.3.6 使用 sudo 命令时需要重新进行身份验证 通过
5.3.7 通过群组参数强制使用 pam_wheel 进行 su 身份验证 通过
5.3.7 确保 pam_wheel 模块使用的群组在系统上存在且为空 通过
5.4.1 确保 PAM 强制执行密码要求 - 每个会话允许的身份验证重试提示数 通过
5.4.1 确保 PAM 强制执行密码要求 -不同类别数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 数字字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 长度下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 小写字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 特殊字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 大写字符数下限 通过
5.4.1 安装 pam_pwquality 软件包 通过
5.4.2 在密码尝试失败后锁定账号 通过
5.4.2 设置密码尝试失败次数的间隔 通过
5.4.2 设置密码尝试失败的锁定时间 通过
5.4.3 限制密码重复使用 通过
5.4.4 在 /etc/login.defs 中设置密码哈希算法 通过
5.5.1.1 设置现有密码使用时间下限 通过
5.5.1.1 设置密码使用时间下限 通过
5.5.1.2 设置现有密码使用时间上限 通过
5.5.1.3 设置密码过期警告期限 通过
5.5.1.4 设置账号闲置后的失效时间 通过
5.5.1.5 确保所有用户的上次密码更改日期都为过去的日期 通过
5.5.2 确保系统账号在登录时不运行 Shell 通过
5.5.3 验证根用户的主要 GID 为 0 通过
5.5.4 确保已正确设置默认 Bash Umask 通过
5.5.4 确保已为互动式用户正确设置默认 Umask 通过
5.5.4 确保已在 /etc/profile 中正确设置默认 Umask 通过
5.5.4 确保已在 login.defs 中正确设置默认 Umask 通过
5.5.5 设置互动式会话超时 通过
6.1.1 验证拥有 passwd 文件的群组 通过
6.1.1 验证 passwd 文件的权限 通过
6.1.1 验证拥有 passwd 文件的用户 通过
6.1.2 验证拥有备份 passwd 文件的群组 通过
6.1.2 验证备份 passwd 文件的权限 通过
6.1.2 验证拥有备份 passwd 文件的用户 通过
6.1.3 验证拥有 group 文件的群组 通过
6.1.3 验证 group 文件的权限 通过
6.1.3 验证拥有 group 文件的用户 通过
6.1.4 验证拥有备份 group 文件的群组 通过
6.1.4 验证备份 group 文件的权限 通过
6.1.4 验证拥有备份 group 文件的用户 通过
6.1.5 验证拥有 shadow 文件的群组 通过
6.1.5 验证 shadow 文件的权限 通过
6.1.5 验证拥有 shadow 文件的用户 通过
6.1.6 验证拥有备份 shadow 文件的群组 通过
6.1.6 验证备份 shadow 文件的权限 通过
6.1.6 验证拥有备份 shadow 文件的用户 通过
6.1.7 验证拥有 gshadow 文件的群组 通过
6.1.7 验证 gshadow 文件的权限 通过
6.1.7 验证拥有 gshadow 文件的用户 通过
6.1.8 验证拥有备份 gshadow 文件的群组 通过
6.1.8 验证备份 gshadow 文件的权限 通过
6.1.8 验证拥有备份 gshadow 文件的用户 通过
6.1.10 确保所有文件都归某位用户所有 通过
6.2.1 验证所有账号密码哈希值是否被覆盖 通过
6.2.2 确保没有密码为空或 Null 的账号 通过
6.2.3 /etc/passwd 中引用的所有 GID 都必须在 /etc/group 中定义 通过
6.2.4 确保 shadow 群组为空 通过
6.2.5 确保系统上的所有账号都具有唯一身份用户 ID 通过
6.2.6 确保系统上的所有群组都具有唯一群组 ID 通过
6.2.7 确保系统上的所有账号都具有唯一名称 通过
6.2.8 确保系统上的所有群组都具有唯一群组名称 通过
6.2.9 确保根路径不包含相对路径或 Null 目录 未知 通过
6.2.9 确保根路径不包含全局或群组可写目录 通过
6.2.10 验证只有根用户的 UID 为 0 通过
6.2.11 所有互动式用户的主目录都必须存在 通过
6.2.12 所有互动式用户主目录都必须属于主要群组所有的群组 通过
6.2.12 所有互动式用户主目录都必须归主要用户所有 通过
6.2.13 所有互动式用户主目录模式都必须为 0750 或更少权限 通过
6.2.14 验证是否不存在 .netrc 文件 通过
6.2.15 验证是否不存在 .forward 文件 通过
6.2.16 移除 Rsh 信任文件 通过
6.2.17 用户初始化文件必须属于主要群组所有的群组 通过
6.2.17 用户初始化文件必须归主要用户所有 通过
6.2.17 用户初始化文件不得运行全局可写程序 通过

不适用的建议

下表列出了不适用于 Google Distributed Cloud 的建议。

# 建议 严重级别 状态
1.1.2.2 向 /tmp 添加 nodev 选项 不适用
1.1.2.3 向 /tmp 添加 noexec 选项 不适用
1.1.2.4 向 /tmp 添加 nosuid 选项 不适用
1.1.3.2 向 /var 添加 nodev 选项 不适用
1.1.3.3 向 /var 添加 nosuid 选项 不适用
1.1.4.2 向 /var/tmp 添加 noexec 选项 不适用
1.1.4.3 向 /var/tmp 添加 nosuid 选项 不适用
1.1.4.4 向 /var/tmp 添加 nodev 选项 不适用
1.1.5.2 向 /var/log 添加 nodev 选项 不适用
1.1.5.3 向 /var/log 添加 noexec 选项 不适用
1.1.5.4 向 /var/log 添加 nosuid 选项 不适用
1.1.6.2 向 /var/log/audit 添加 noexec 选项 不适用
1.1.6.3 向 /var/log/audit 添加 nodev 选项 不适用
1.1.6.4 向 /var/log/audit 添加 nosuid 选项 不适用
1.1.7.2 向 /home 添加 nodev 选项 未知 不适用
1.1.7.3 向 /home 添加 nosuid 选项 不适用
1.10 配置 GNOME3 DConf 用户个人资料 不适用
1.4.1 设置 UEFI 引导加载器密码 不适用
1.8.1 移除 GDM 软件包群组 不适用
1.8.10 在 GDM 中停用 XDMCP 不适用
1.8.4 空闲期限后启用 GNOME3 屏保锁定 不适用
1.8.5 设置 GNOME3 屏保在激活期限后的锁定延迟时间 不适用
1.8.6 停用打开 GNOME3 自动装载 不适用
1.8.6 停用 GNOME3 自动装载 不适用
1.8.8 停用运行 GNOME3 自动装载 不适用
2.1.4.1 配置 ntpd 的服务器限制 不适用
2.1.4.3 将 ntpd 配置为以 ntp 用户身份运行 不适用
2.1.4.4 启用 NTP 守护程序 不适用
2.2.15 停用 Postfix 网络监听 不适用
3.5.1.3 验证是否已启用 ufw 不适用
3.5.1.4 设置 UFW 环回流量 不适用
3.5.1.6 确保所有开放端口都存在 ufw 防火墙规则 不适用
3.5.1.7 确保 ufw 默认拒绝防火墙政策 不适用
3.5.3.2.1 设置传入数据包的默认 iptables 政策 不适用
3.5.3.2.2 为环回流量设置配置 不适用
3.5.3.2.4 确保所有开放端口都存在 iptables 防火墙规则 不适用
3.5.3.3.1 设置传入数据包的默认 ip6tables 政策 不适用
3.5.3.3.4 确保所有开放端口都存在 ip6tables 防火墙规则 不适用

1.31

版本

本部分涉及以下版本:

Google Distributed Cloud 版本 Ubuntu 版本 CIS Ubuntu 基准版本 CIS 级别
1.31 22.04 LTS v1.0.0 第 2 级服务器

未通过的建议

下表列出了 Google Distributed Cloud 偏离基准建议的建议。这些发现结果适用于集群节点和管理员工作站。

# 建议 严重级别 状态
1.1.2.1 确保 /tmp 位于单独的分区上 未通过
1.1.3.1 确保 /var 位于单独的分区上 未通过
1.1.4.1 确保 /var/tmp 位于单独的分区上 未通过
1.1.5.1 确保 /var/log 位于单独的分区上 未通过
1.1.6.1 确保 /var/log/audit 位于单独的分区上 未通过
1.1.7.1 确保 /home 位于单独的分区上 未通过
1.4.1 在 grub2 中设置引导加载器密码 未通过
1.4.3 确保单用户模式要求进行身份验证 未通过
2.3.6 卸载 rpcbind 软件包 未通过
3.2.2 停用 IPv4 接口上的 IP 转发内核参数 未通过
3.3.7 启用内核参数,以默认在所有 IPv4 接口上使用反向路径过滤 未通过
3.3.7 启用内核参数以在所有 IPv4 接口上使用反向路径过滤 未通过
3.5.2.8 确保 nftables 默认拒绝防火墙政策 未通过
3.5.2.10 确保 nftables 规则具有永久性 未通过
4.2.3 验证日志文件的权限 未通过
5.2.4 限制用户的 SSH 访问权限 未知 未通过
5.3.4 确保用户重新进行身份验证以提升权限 - sudo 未通过
5.5.1.2 设置密码最长使用时间 未通过

通过的建议

下表列出了 Google Distributed Cloud 符合基准建议的建议。

# 建议 严重级别 状态
1.1.1.1 停用 cramfs 装载 通过
1.1.1.2 停用 squashfs 装载 通过
1.1.1.3 停用 udf 装载 通过
1.1.8.1 向 /dev/shm 添加 nodev 选项 通过
1.1.8.2 向 /dev/shm 添加 noexec 选项 通过
1.1.8.3 向 /dev/shm 添加 nosuid 选项 通过
1.1.9 停用自动装载器 通过
1.1.10 停用 USB 存储设备驱动程序的 Modprobe 加载 通过
1.4.2 验证 /boot/grub/grub.cfg 权限 通过
1.5.1 启用虚拟地址空间的随机布局 通过
1.5.2 不得安装“prelink”软件包 通过
1.5.3 停用 Apport 服务 未知 通过
1.5.4 为所有用户停用核心转储 通过
1.5.4 为 SUID 程序停用核心转储 通过
1.6.1.1 确保已安装 AppArmor 通过
1.6.1.2 确保在引导加载程序配置中启用了 AppArmor 通过
1.6.1.4 强制执行所有 AppArmor 配置文件 通过
1.7.1 修改系统每日消息横幅 通过
1.7.2 修改系统登录横幅 通过
1.7.3 修改远程访问服务的系统登录横幅 通过
1.7.4 验证每日消息横幅的群组所有权 通过
1.7.4 验证每日消息横幅的所有权 通过
1.7.4 验证每日消息横幅的权限 通过
1.7.5 验证系统登录横幅的群组所有权 通过
1.7.5 验证系统登录横幅的所有权 通过
1.7.5 验证系统登录横幅的权限 通过
1.7.6 验证远程访问服务的系统登录横幅的群组所有权 通过
1.7.6 验证远程访问服务的系统登录横幅的所有权 通过
1.7.6 验证远程访问服务的系统登录横幅的权限 通过
2.1.1.1 安装 systemd_timesyncd 服务 通过
2.1.3.2 启用 systemd_timesyncd 服务 通过
2.2.1 移除 X Windows 软件包群组 通过
2.2.2 停用 Avahi 服务器软件 通过
2.2.2 卸载 avahi 服务器软件包 通过
2.2.3 停用 CUPS 服务 未知 通过
2.2.3 卸载 CUPS 软件包 未知 通过
2.2.4 卸载 DHCP 服务器软件包 通过
2.2.5 卸载 openldap-servers 软件包 通过
2.2.6 卸载 nfs-kernel-server 软件包 通过
2.2.7 卸载 bind 软件包 通过
2.2.8 卸载 vsftpd 软件包 通过
2.2.9 卸载 httpd 软件包 未知 通过
2.2.9 卸载 nginx 软件包 未知 通过
2.2.10 卸载 cyrus-imapd 软件包 未知 通过
2.2.10 卸载 dovecot 软件包 未知 通过
2.2.11 卸载 Samba 软件包 未知 通过
2.2.12 卸载 squid 软件包 未知 通过
2.2.13 卸载 net-snmp 软件包 未知 通过
2.2.14 卸载 nis 软件包 通过
2.2.15 确保邮件传输代理未监听任何非环回地址 通过
2.2.16 卸载 rsync 软件包 通过
2.3.2 卸载 rsh 软件包 未知 通过
2.3.3 卸载 talk 软件包 通过
2.3.4 移除 telnet 客户端 通过
2.3.5 确保未安装 LDAP 客户端 通过
3.1.2 停用无线网络接口 通过
3.2.1 默认停用用于在所有 IPv4 接口上发送 ICMP 重定向的内核参数 通过
3.2.1 停用用于在所有 IPv4 接口上发送 ICMP 重定向的内核参数 通过
3.2.2 停用 IPv6 转发的内核参数 通过
3.3.1 停用用于在所有 IPv4 接口上接受来源路由的数据包的内核参数 通过
3.3.1 停用用于在所有 IPv6 接口上接受来源路由的数据包的内核参数 通过
3.3.1 默认停用用于在所有 IPv4 接口上接受来源路由的数据包的内核参数 通过
3.3.1 默认停用用于在 IPv6 接口上接受来源路由的数据包的内核参数 通过
3.3.2 停用所有 IPv4 接口接受 ICMP 重定向 通过
3.3.2 停用所有 IPv6 接口接受 ICMP 重定向 通过
3.3.2 停用用于在 IPv4 接口上默认接受 ICMP 重定向的内核参数 通过
3.3.2 停用用于在 IPv6 接口上默认接受 ICMP 重定向的内核参数 通过
3.3.3 配置内核参数以默认接受安全重定向 通过
3.3.3 停用用于在 IPv4 接口上接受安全 ICMP 重定向的内核参数 通过
3.3.4 启用内核参数以在所有 IPv4 接口上记录 Martian 数据包 未知 通过
3.3.4 默认启用内核参数以在所有 IPv4 接口上记录 Martian 数据包 未知 通过
3.3.5 启用内核参数以忽略 IPv4 接口上的 ICMP 广播回显请求 通过
3.3.6 启用内核参数以忽略 IPv4 接口上的虚假 ICMP 错误响应 未知 通过
3.3.8 启用内核参数以在网络接口上使用 TCP SynCookie 通过
3.3.9 配置在所有 IPv6 接口上接受路由器通告 通过
3.3.9 默认停用在所有 IPv6 接口上接受路由器通告 通过
3.4.1 停用 DCCP 支持 通过
3.4.2 停用 SCTP 支持 通过
3.4.3 停用 RDS 支持 通过
3.4.4 停用 TIPC 支持 通过
3.5.1.2 移除 iptables-persistent 软件包 通过
3.5.2.1 安装 nftables 软件包 通过
3.5.2.4 确保 Nftables 存在表 通过
3.5.2.5 确保 Nftables 存在基本链 通过
3.5.2.9 验证是否已启用 nftables 服务 通过
3.5.3.1.1 安装 iptables 软件包 通过
3.5.3.1.3 移除 ufw 软件包 通过
4.1.1.1 确保已安装审核子系统 通过
4.1.1.2 启用 auditd 服务 通过
4.1.1.4 扩展审核守护程序的审核积压限制 通过
4.1.2.1 配置 auditd 日志文件大小上限 通过
4.1.2.2 配置达到日志大小上限时的 auditd max_log_file_action 通过
4.1.2.3 配置磁盘空间不足时的 auditd admin_space_left 操作 通过
4.1.2.3 配置磁盘空间不足时的 auditd mail_acct 操作 通过
4.1.2.3 配置磁盘空间不足时的 auditd space_left 操作 通过
4.1.3.1 确保 auditd 收集系统管理员操作 通过
4.1.3.2 在运行特权可执行文件时记录事件 通过
4.1.3.3 记录执行维护活动的尝试 通过
4.1.3.4 记录更改 localtime 文件的尝试 通过
4.1.3.4 记录通过 adjtimex 更改时间的尝试 通过
4.1.3.4 记录通过 clock_settime 更改时间的尝试 通过
4.1.3.4 记录通过 settimeofday 更改时间的尝试 通过
4.1.3.4 记录通过 stime 更改时间的尝试 通过
4.1.3.5 记录修改系统网络环境的事件 通过
4.1.3.6 确保 auditd 收集特权命令 su 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 sudo 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 sudoedit 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 umount 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 unix_chkpwd 的使用信息 通过
4.1.3.7 记录对文件的不成功访问尝试 - creat 通过
4.1.3.7 记录对文件的不成功访问尝试 - ftruncate 通过
4.1.3.7 记录对文件的不成功访问尝试 - open 通过
4.1.3.7 记录对文件的不成功访问尝试 - openat 通过
4.1.3.7 记录对文件的不成功访问尝试 - truncate 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/group 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/gshadow 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/passwd 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/security/opasswd 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/shadow 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - chmod 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - chown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchmod 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchmodat 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchownat 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fremovexattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fsetxattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - lchown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - lremovexattr 通过
4.1.3.9 记录修改系统自主访问控制的事件 - lsetxattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - removexattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - setxattr 通过
4.1.3.10 确保 auditd 收集有关导出到媒体的信息(成功) 通过
4.1.3.11 记录更改进程和会话启动信息的尝试 通过
4.1.3.12 记录更改登录和退出事件的尝试 - faillog 通过
4.1.3.12 记录更改登录和退出事件的尝试 - lastlog 通过
4.1.3.12 记录更改登录和退出事件的尝试 - tallylog 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - rename 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - renameat 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - unlink 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - unlinkat 通过
4.1.3.14 记录修改系统强制访问权限控制的事件 通过
4.1.3.15 记录运行 chcon 的任何尝试 通过
4.1.3.16 记录运行 setfacl 的任何尝试 通过
4.1.3.17 记录运行 chacl 的任何尝试 通过
4.1.3.18 确保 auditd 收集特权命令 usermod 的使用信息 通过
4.1.3.19 确保 auditd 收集有关内核模块加载的信息 - init_module 通过
4.1.3.19 确保 auditd 收集有关内核模块卸载的信息 - delete_module 通过
4.1.3.19 确保 auditd 收集特权命令 insmod 的使用信息 通过
4.1.3.19 确保 auditd 收集特权命令 modprobe 的使用信息 通过
4.1.3.19 确保 auditd 收集特权命令 rmmod 的使用信息 通过
4.1.3.20 将 auditd 配置设为不可变 通过
4.1.4.1 系统审核日志模式必须为 0640 或更少权限 通过
4.1.4.2 系统审核日志必须归 Root 所有 通过
4.1.4.3 系统审核日志必须属于 Root 所有的群组 通过
4.1.4.4 系统审核日志模式必须为 0750 或更少权限 通过
4.1.4.5 验证 /etc/audit/auditd.conf 的权限 通过
4.1.4.5 验证 /etc/audit/rules.d/*.rules 的权限 通过
4.1.4.6 审核配置文件必须归 Root 所有 通过
4.1.4.7 审核配置文件必须归群组 root 所有 通过
4.1.4.8 验证审核工具模式是否为 0755 或更少权限 通过
4.1.4.9 验证审核工具是否归 root 所有 通过
4.1.4.10 验证审核工具是否归群组 root 所有 通过
4.2.1.1.1 安装 systemd-journal-remote 软件包 通过
4.2.1.1.4 停用 systemd-journal-remote 套接字 通过
4.2.1.2 启用 systemd-journald 服务 通过
4.2.1.3 确保 journald 已配置为压缩大型日志文件 通过
4.2.1.4 确保 journald 已配置为将日志文件写入永久性磁盘 通过
4.2.2.1 确保已安装 rsyslog 通过
4.2.2.2 启用 rsyslog 服务 通过
4.2.2.4 确保已配置 rsyslog 默认文件权限 通过
4.2.2.7 确保 rsyslog 不接受远程消息,除非它充当日志服务器 通过
5.1.1 启用 cron 服务 通过
5.1.2 验证拥有 Crontab 的群组 通过
5.1.2 验证 crontab 的所有者 通过
5.1.2 验证 crontab 的权限 通过
5.1.3 验证拥有 cron.hourly 的群组 通过
5.1.3 验证 cron.hourly 的所有者 通过
5.1.3 验证 cron.hourly 的权限 通过
5.1.4 验证拥有 cron.daily 的群组 通过
5.1.4 验证 cron.daily 的所有者 通过
5.1.4 验证 cron.daily 的权限 通过
5.1.5 验证拥有 cron.weekly 的群组 通过
5.1.5 验证 cron.weekly 的所有者 通过
5.1.5 验证 cron.weekly 的权限 通过
5.1.6 验证拥有 cron.monthly 的群组 通过
5.1.6 验证 cron.monthly 的所有者 通过
5.1.6 验证 cron.monthly 的权限 通过
5.1.7 验证拥有 cron.d 的群组 通过
5.1.7 验证 cron.d 的所有者 通过
5.1.7 验证 cron.d 的权限 通过
5.1.8 确保 /etc/cron.deny 不存在 通过
5.1.8 验证拥有 /etc/cron.allow 文件的群组 通过
5.1.8 验证 /etc/cron.allow 文件的权限 通过
5.1.8 验证拥有 /etc/cron.allow 文件的用户 通过
5.1.9 确保 /etc/at.deny 不存在 通过
5.1.9 验证拥有 /etc/at.allow 文件的群组 通过
5.1.9 验证 /etc/at.allow 文件的权限 通过
5.1.9 验证拥有 /etc/at.allow 文件的用户 通过
5.2.1 验证拥有 SSH 服务器配置文件的群组 通过
5.2.1 验证 SSH 服务器配置文件的所有者 通过
5.2.1 验证 SSH 服务器配置文件的权限 通过
5.2.2 验证 SSH 服务器 *_key 私钥文件的权限 通过
5.2.3 验证 SSH 服务器 *.pub 公钥文件的权限 通过
5.2.5 将 LogLevel 设置为 INFO 通过
5.2.6 启用 PAM 通过
5.2.7 停用 SSH 根登录 通过
5.2.8 停用基于主机的身份验证 通过
5.2.9 停用通过空密码进行的 SSH 访问 通过
5.2.10 不允许使用 SSH 环境选项 通过
5.2.11 停用对 .rhosts 文件的 SSH 支持 通过
5.2.12 停用 X11 转发 通过
5.2.13 仅使用强加密 通过
5.2.14 仅使用安全系数高的 MAC 通过
5.2.15 仅使用安全系数高的密钥交换算法 通过
5.2.16 停用 SSH TCP 转发 通过
5.2.17 启用 SSH 警告横幅 通过
5.2.18 设置 SSH 身份验证尝试限制 通过
5.2.19 确保已配置 SSH MaxStartups 通过
5.2.20 设置 SSH MaxSessions 限制 通过
5.2.21 确保已配置 SSH LoginGraceTime 通过
5.2.22 设置 SSH 客户端活跃次数上限 通过
5.2.22 设置 SSH 客户端活跃间隔 通过
5.3.1 安装 sudo 软件包 通过
5.3.2 确保只有登录到实际 tty 的用户才能执行 Sudo - sudo use_pty 通过
5.3.3 确保 Sudo 日志文件存在 - sudo logfile 通过
5.3.5 确保用户重新进行身份验证以提升权限 - sudo !authenticate 通过
5.3.6 使用 sudo 命令时需要重新进行身份验证 通过
5.3.7 通过群组参数强制使用 pam_wheel 进行 su 身份验证 通过
5.3.7 确保 pam_wheel 模块使用的群组在系统上存在且为空 通过
5.4.1 确保 PAM 强制执行密码要求 - 每个会话允许的身份验证重试提示数 通过
5.4.1 确保 PAM 强制执行密码要求 -不同类别数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 数字字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 长度下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 小写字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 特殊字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 大写字符数下限 通过
5.4.1 安装 pam_pwquality 软件包 通过
5.4.2 在密码尝试失败后锁定账号 通过
5.4.2 设置密码尝试失败次数的间隔 通过
5.4.2 设置密码尝试失败的锁定时间 通过
5.4.3 限制密码重复使用 通过
5.4.4 在 /etc/login.defs 中设置密码哈希算法 通过
5.5.1.1 设置现有密码使用时间下限 通过
5.5.1.1 设置密码使用时间下限 通过
5.5.1.2 设置现有密码使用时间上限 通过
5.5.1.3 设置密码过期警告期限 通过
5.5.1.4 设置账号闲置后的失效时间 通过
5.5.1.5 确保所有用户的上次密码更改日期都为过去的日期 通过
5.5.2 确保系统账号在登录时不运行 Shell 通过
5.5.3 验证根用户的主要 GID 为 0 通过
5.5.4 确保已正确设置默认 Bash Umask 通过
5.5.4 确保已为互动式用户正确设置默认 Umask 通过
5.5.4 确保已在 /etc/profile 中正确设置默认 Umask 通过
5.5.4 确保已在 login.defs 中正确设置默认 Umask 通过
5.5.5 设置互动式会话超时 通过
6.1.1 验证拥有 passwd 文件的群组 通过
6.1.1 验证 passwd 文件的权限 通过
6.1.1 验证拥有 passwd 文件的用户 通过
6.1.2 验证拥有备份 passwd 文件的群组 通过
6.1.2 验证备份 passwd 文件的权限 通过
6.1.2 验证拥有备份 passwd 文件的用户 通过
6.1.3 验证拥有 group 文件的群组 通过
6.1.3 验证 group 文件的权限 通过
6.1.3 验证拥有 group 文件的用户 通过
6.1.4 验证拥有备份 group 文件的群组 通过
6.1.4 验证备份 group 文件的权限 通过
6.1.4 验证拥有备份 group 文件的用户 通过
6.1.5 验证拥有 shadow 文件的群组 通过
6.1.5 验证 shadow 文件的权限 通过
6.1.5 验证拥有 shadow 文件的用户 通过
6.1.6 验证拥有备份 shadow 文件的群组 通过
6.1.6 验证备份 shadow 文件的权限 通过
6.1.6 验证拥有备份 shadow 文件的用户 通过
6.1.7 验证拥有 gshadow 文件的群组 通过
6.1.7 验证 gshadow 文件的权限 通过
6.1.7 验证拥有 gshadow 文件的用户 通过
6.1.8 验证拥有备份 gshadow 文件的群组 通过
6.1.8 验证备份 gshadow 文件的权限 通过
6.1.8 验证拥有备份 gshadow 文件的用户 通过
6.1.10 确保所有文件都归某位用户所有 通过
6.2.1 验证所有账号密码哈希值是否被覆盖 通过
6.2.2 确保没有密码为空或 Null 的账号 通过
6.2.3 /etc/passwd 中引用的所有 GID 都必须在 /etc/group 中定义 通过
6.2.4 确保 shadow 群组为空 通过
6.2.5 确保系统上的所有账号都具有唯一身份用户 ID 通过
6.2.6 确保系统上的所有群组都具有唯一群组 ID 通过
6.2.7 确保系统上的所有账号都具有唯一名称 通过
6.2.8 确保系统上的所有群组都具有唯一群组名称 通过
6.2.9 确保根路径不包含相对路径或 Null 目录 未知 通过
6.2.9 确保根路径不包含全局或群组可写目录 通过
6.2.10 验证只有根用户的 UID 为 0 通过
6.2.11 所有互动式用户的主目录都必须存在 通过
6.2.12 所有互动式用户主目录都必须属于主要群组所有的群组 通过
6.2.12 所有互动式用户主目录都必须归主要用户所有 通过
6.2.13 所有互动式用户主目录模式都必须为 0750 或更少权限 通过
6.2.14 验证是否不存在 .netrc 文件 通过
6.2.15 验证是否不存在 .forward 文件 通过
6.2.16 移除 Rsh 信任文件 通过
6.2.17 用户初始化文件必须属于主要群组所有的群组 通过
6.2.17 用户初始化文件必须归主要用户所有 通过
6.2.17 用户初始化文件不得运行全局可写程序 通过

不适用的建议

下表列出了不适用于 Google Distributed Cloud 的建议。

# 建议 严重级别 状态
1.1.2.2 向 /tmp 添加 nodev 选项 不适用
1.1.2.3 向 /tmp 添加 noexec 选项 不适用
1.1.2.4 向 /tmp 添加 nosuid 选项 不适用
1.1.3.2 向 /var 添加 nodev 选项 不适用
1.1.3.3 向 /var 添加 nosuid 选项 不适用
1.1.4.2 向 /var/tmp 添加 noexec 选项 不适用
1.1.4.3 向 /var/tmp 添加 nosuid 选项 不适用
1.1.4.4 向 /var/tmp 添加 nodev 选项 不适用
1.1.5.2 向 /var/log 添加 nodev 选项 不适用
1.1.5.3 向 /var/log 添加 noexec 选项 不适用
1.1.5.4 向 /var/log 添加 nosuid 选项 不适用
1.1.6.2 向 /var/log/audit 添加 noexec 选项 不适用
1.1.6.3 向 /var/log/audit 添加 nodev 选项 不适用
1.1.6.4 向 /var/log/audit 添加 nosuid 选项 不适用
1.1.7.2 向 /home 添加 nodev 选项 未知 不适用
1.1.7.3 向 /home 添加 nosuid 选项 不适用
1.4.1 设置 UEFI 引导加载器密码 不适用
1.8.1 移除 GDM 软件包群组 不适用
1.8.4 空闲期限后启用 GNOME3 屏保锁定 不适用
1.8.5 设置 GNOME3 屏保在激活期限后的锁定延迟时间 不适用
1.8.6 停用打开 GNOME3 自动装载 不适用
1.8.6 停用 GNOME3 自动装载 不适用
1.8.8 停用运行 GNOME3 自动装载 不适用
1.8.10 在 GDM 中停用 XDMCP 不适用
1.10 配置 GNOME3 DConf 用户个人资料 不适用
2.1.4.1 配置 ntpd 的服务器限制 不适用
2.1.4.3 将 ntpd 配置为以 ntp 用户身份运行 不适用
2.1.4.4 启用 NTP 守护程序 不适用
2.2.15 停用 Postfix 网络监听 不适用
3.5.1.3 验证是否已启用 ufw 不适用
3.5.1.4 设置 UFW 环回流量 不适用
3.5.1.6 确保所有开放端口都存在 ufw 防火墙规则 不适用
3.5.1.7 确保 ufw 默认拒绝防火墙政策 不适用
3.5.3.2.1 设置传入数据包的默认 iptables 政策 不适用
3.5.3.2.2 为环回流量设置配置 不适用
3.5.3.2.4 确保所有开放端口都存在 iptables 防火墙规则 不适用
3.5.3.3.1 设置传入数据包的默认 ip6tables 政策 不适用
3.5.3.3.4 确保所有开放端口都存在 ip6tables 防火墙规则 不适用

1.30

版本

本部分涉及以下版本:

Google Distributed Cloud 版本 Ubuntu 版本 CIS Ubuntu 基准版本 CIS 级别
1.30 22.04 LTS v1.0.0 第 2 级服务器

未通过的建议

下表列出了 Google Distributed Cloud 偏离基准建议的建议。这些发现结果适用于集群节点和管理员工作站。

# 建议 严重级别 状态
1.1.2.1 确保 /tmp 位于单独的分区上 未通过
1.1.3.1 确保 /var 位于单独的分区上 未通过
1.1.4.1 确保 /var/tmp 位于单独的分区上 未通过
1.1.5.1 确保 /var/log 位于单独的分区上 未通过
1.1.6.1 确保 /var/log/audit 位于单独的分区上 未通过
1.1.7.1 确保 /home 位于单独的分区上 未通过
1.4.1 在 grub2 中设置引导加载器密码 未通过
1.4.3 确保单用户模式要求进行身份验证 未通过
2.3.6 卸载 rpcbind 软件包 未通过
3.2.2 停用 IPv4 接口上的 IP 转发内核参数 未通过
3.3.7 启用内核参数,以默认在所有 IPv4 接口上使用反向路径过滤 未通过
3.3.7 启用内核参数以在所有 IPv4 接口上使用反向路径过滤 未通过
3.5.2.8 确保 nftables 默认拒绝防火墙政策 未通过
3.5.2.10 确保 nftables 规则具有永久性 未通过
4.2.3 验证日志文件的权限 未通过
5.2.4 限制用户的 SSH 访问权限 未知 未通过
5.3.4 确保用户重新进行身份验证以提升权限 - sudo 未通过
5.5.1.2 设置密码最长使用时间 未通过

通过的建议

下表列出了 Google Distributed Cloud 符合基准建议的建议。

# 建议 严重级别 状态
1.1.1.1 停用 cramfs 装载 通过
1.1.1.2 停用 squashfs 装载 通过
1.1.1.3 停用 udf 装载 通过
1.1.8.1 向 /dev/shm 添加 nodev 选项 通过
1.1.8.2 向 /dev/shm 添加 noexec 选项 通过
1.1.8.3 向 /dev/shm 添加 nosuid 选项 通过
1.1.9 停用自动装载器 通过
1.1.10 停用 USB 存储设备驱动程序的 Modprobe 加载 通过
1.4.2 验证 /boot/grub/grub.cfg 权限 通过
1.5.1 启用虚拟地址空间的随机布局 通过
1.5.2 不得安装“prelink”软件包 通过
1.5.3 停用 Apport 服务 未知 通过
1.5.4 为所有用户停用核心转储 通过
1.5.4 为 SUID 程序停用核心转储 通过
1.6.1.1 确保已安装 AppArmor 通过
1.6.1.2 确保在引导加载程序配置中启用了 AppArmor 通过
1.6.1.4 强制执行所有 AppArmor 配置文件 通过
1.7.1 修改系统每日消息横幅 通过
1.7.2 修改系统登录横幅 通过
1.7.3 修改远程访问服务的系统登录横幅 通过
1.7.4 验证每日消息横幅的群组所有权 通过
1.7.4 验证每日消息横幅的所有权 通过
1.7.4 验证每日消息横幅的权限 通过
1.7.5 验证系统登录横幅的群组所有权 通过
1.7.5 验证系统登录横幅的所有权 通过
1.7.5 验证系统登录横幅的权限 通过
1.7.6 验证远程访问服务的系统登录横幅的群组所有权 通过
1.7.6 验证远程访问服务的系统登录横幅的所有权 通过
1.7.6 验证远程访问服务的系统登录横幅的权限 通过
2.1.1.1 安装 systemd_timesyncd 服务 通过
2.1.3.2 启用 systemd_timesyncd 服务 通过
2.2.1 移除 X Windows 软件包群组 通过
2.2.2 停用 Avahi 服务器软件 通过
2.2.2 卸载 avahi 服务器软件包 通过
2.2.3 停用 CUPS 服务 未知 通过
2.2.3 卸载 CUPS 软件包 未知 通过
2.2.4 卸载 DHCP 服务器软件包 通过
2.2.5 卸载 openldap-servers 软件包 通过
2.2.6 卸载 nfs-kernel-server 软件包 通过
2.2.7 卸载 bind 软件包 通过
2.2.8 卸载 vsftpd 软件包 通过
2.2.9 卸载 httpd 软件包 未知 通过
2.2.9 卸载 nginx 软件包 未知 通过
2.2.10 卸载 cyrus-imapd 软件包 未知 通过
2.2.10 卸载 dovecot 软件包 未知 通过
2.2.11 卸载 Samba 软件包 未知 通过
2.2.12 卸载 squid 软件包 未知 通过
2.2.13 卸载 net-snmp 软件包 未知 通过
2.2.14 卸载 nis 软件包 通过
2.2.15 确保邮件传输代理未监听任何非环回地址 通过
2.2.16 卸载 rsync 软件包 通过
2.3.2 卸载 rsh 软件包 未知 通过
2.3.3 卸载 talk 软件包 通过
2.3.4 移除 telnet 客户端 通过
2.3.5 确保未安装 LDAP 客户端 通过
3.1.2 停用无线网络接口 通过
3.2.1 默认停用用于在所有 IPv4 接口上发送 ICMP 重定向的内核参数 通过
3.2.1 停用用于在所有 IPv4 接口上发送 ICMP 重定向的内核参数 通过
3.2.2 停用 IPv6 转发的内核参数 通过
3.3.1 停用用于在所有 IPv4 接口上接受来源路由的数据包的内核参数 通过
3.3.1 停用用于在所有 IPv6 接口上接受来源路由的数据包的内核参数 通过
3.3.1 默认停用用于在所有 IPv4 接口上接受来源路由的数据包的内核参数 通过
3.3.1 默认停用用于在 IPv6 接口上接受来源路由的数据包的内核参数 通过
3.3.2 停用所有 IPv4 接口接受 ICMP 重定向 通过
3.3.2 停用所有 IPv6 接口接受 ICMP 重定向 通过
3.3.2 停用用于在 IPv4 接口上默认接受 ICMP 重定向的内核参数 通过
3.3.2 停用用于在 IPv6 接口上默认接受 ICMP 重定向的内核参数 通过
3.3.3 配置内核参数以默认接受安全重定向 通过
3.3.3 停用用于在 IPv4 接口上接受安全 ICMP 重定向的内核参数 通过
3.3.4 启用内核参数以在所有 IPv4 接口上记录 Martian 数据包 未知 通过
3.3.4 默认启用内核参数以在所有 IPv4 接口上记录 Martian 数据包 未知 通过
3.3.5 启用内核参数以忽略 IPv4 接口上的 ICMP 广播回显请求 通过
3.3.6 启用内核参数以忽略 IPv4 接口上的虚假 ICMP 错误响应 未知 通过
3.3.8 启用内核参数以在网络接口上使用 TCP SynCookie 通过
3.3.9 配置在所有 IPv6 接口上接受路由器通告 通过
3.3.9 默认停用在所有 IPv6 接口上接受路由器通告 通过
3.4.1 停用 DCCP 支持 通过
3.4.2 停用 SCTP 支持 通过
3.4.3 停用 RDS 支持 通过
3.4.4 停用 TIPC 支持 通过
3.5.1.2 移除 iptables-persistent 软件包 通过
3.5.2.1 安装 nftables 软件包 通过
3.5.2.4 确保 Nftables 存在表 通过
3.5.2.5 确保 Nftables 存在基本链 通过
3.5.2.9 验证是否已启用 nftables 服务 通过
3.5.3.1.1 安装 iptables 软件包 通过
3.5.3.1.3 移除 ufw 软件包 通过
4.1.1.1 确保已安装审核子系统 通过
4.1.1.2 启用 auditd 服务 通过
4.1.1.4 扩展审核守护程序的审核积压限制 通过
4.1.2.1 配置 auditd 日志文件大小上限 通过
4.1.2.2 配置达到日志大小上限时的 auditd max_log_file_action 通过
4.1.2.3 配置磁盘空间不足时的 auditd admin_space_left 操作 通过
4.1.2.3 配置磁盘空间不足时的 auditd mail_acct 操作 通过
4.1.2.3 配置磁盘空间不足时的 auditd space_left 操作 通过
4.1.3.1 确保 auditd 收集系统管理员操作 通过
4.1.3.2 在运行特权可执行文件时记录事件 通过
4.1.3.3 记录执行维护活动的尝试 通过
4.1.3.4 记录更改 localtime 文件的尝试 通过
4.1.3.4 记录通过 adjtimex 更改时间的尝试 通过
4.1.3.4 记录通过 clock_settime 更改时间的尝试 通过
4.1.3.4 记录通过 settimeofday 更改时间的尝试 通过
4.1.3.4 记录通过 stime 更改时间的尝试 通过
4.1.3.5 记录修改系统网络环境的事件 通过
4.1.3.6 确保 auditd 收集特权命令 su 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 sudo 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 sudoedit 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 umount 的使用信息 通过
4.1.3.6 确保 auditd 收集特权命令 unix_chkpwd 的使用信息 通过
4.1.3.7 记录对文件的不成功访问尝试 - creat 通过
4.1.3.7 记录对文件的不成功访问尝试 - ftruncate 通过
4.1.3.7 记录对文件的不成功访问尝试 - open 通过
4.1.3.7 记录对文件的不成功访问尝试 - openat 通过
4.1.3.7 记录对文件的不成功访问尝试 - truncate 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/group 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/gshadow 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/passwd 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/security/opasswd 通过
4.1.3.8 记录修改用户/群组信息的事件 - /etc/shadow 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - chmod 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - chown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchmod 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchmodat 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fchownat 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fremovexattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - fsetxattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - lchown 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - lremovexattr 通过
4.1.3.9 记录修改系统自主访问控制的事件 - lsetxattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - removexattr 通过
4.1.3.9 记录修改系统自主访问权限控制的事件 - setxattr 通过
4.1.3.10 确保 auditd 收集有关导出到媒体的信息(成功) 通过
4.1.3.11 记录更改进程和会话启动信息的尝试 通过
4.1.3.12 记录更改登录和退出事件的尝试 - faillog 通过
4.1.3.12 记录更改登录和退出事件的尝试 - lastlog 通过
4.1.3.12 记录更改登录和退出事件的尝试 - tallylog 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - rename 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - renameat 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - unlink 通过
4.1.3.13 确保 auditd 按用户收集文件删除事件 - unlinkat 通过
4.1.3.14 记录修改系统强制访问权限控制的事件 通过
4.1.3.15 记录运行 chcon 的任何尝试 通过
4.1.3.16 记录运行 setfacl 的任何尝试 通过
4.1.3.17 记录运行 chacl 的任何尝试 通过
4.1.3.18 确保 auditd 收集特权命令 usermod 的使用信息 通过
4.1.3.19 确保 auditd 收集有关内核模块加载的信息 - init_module 通过
4.1.3.19 确保 auditd 收集有关内核模块卸载的信息 - delete_module 通过
4.1.3.19 确保 auditd 收集特权命令 insmod 的使用信息 通过
4.1.3.19 确保 auditd 收集特权命令 modprobe 的使用信息 通过
4.1.3.19 确保 auditd 收集特权命令 rmmod 的使用信息 通过
4.1.3.20 将 auditd 配置设为不可变 通过
4.1.4.1 系统审核日志模式必须为 0640 或更少权限 通过
4.1.4.2 系统审核日志必须归 Root 所有 通过
4.1.4.3 系统审核日志必须属于 Root 所有的群组 通过
4.1.4.4 系统审核日志模式必须为 0750 或更少权限 通过
4.1.4.5 验证 /etc/audit/auditd.conf 的权限 通过
4.1.4.5 验证 /etc/audit/rules.d/*.rules 的权限 通过
4.1.4.6 审核配置文件必须归 Root 所有 通过
4.1.4.7 审核配置文件必须归群组 root 所有 通过
4.1.4.8 验证审核工具模式是否为 0755 或更少权限 通过
4.1.4.9 验证审核工具是否归 root 所有 通过
4.1.4.10 验证审核工具是否归群组 root 所有 通过
4.2.1.1.1 安装 systemd-journal-remote 软件包 通过
4.2.1.1.4 停用 systemd-journal-remote 套接字 通过
4.2.1.2 启用 systemd-journald 服务 通过
4.2.1.3 确保 journald 已配置为压缩大型日志文件 通过
4.2.1.4 确保 journald 已配置为将日志文件写入永久性磁盘 通过
4.2.2.1 确保已安装 rsyslog 通过
4.2.2.2 启用 rsyslog 服务 通过
4.2.2.4 确保已配置 rsyslog 默认文件权限 通过
4.2.2.7 确保 rsyslog 不接受远程消息,除非它充当日志服务器 通过
5.1.1 启用 cron 服务 通过
5.1.2 验证拥有 Crontab 的群组 通过
5.1.2 验证 crontab 的所有者 通过
5.1.2 验证 crontab 的权限 通过
5.1.3 验证拥有 cron.hourly 的群组 通过
5.1.3 验证 cron.hourly 的所有者 通过
5.1.3 验证 cron.hourly 的权限 通过
5.1.4 验证拥有 cron.daily 的群组 通过
5.1.4 验证 cron.daily 的所有者 通过
5.1.4 验证 cron.daily 的权限 通过
5.1.5 验证拥有 cron.weekly 的群组 通过
5.1.5 验证 cron.weekly 的所有者 通过
5.1.5 验证 cron.weekly 的权限 通过
5.1.6 验证拥有 cron.monthly 的群组 通过
5.1.6 验证 cron.monthly 的所有者 通过
5.1.6 验证 cron.monthly 的权限 通过
5.1.7 验证拥有 cron.d 的群组 通过
5.1.7 验证 cron.d 的所有者 通过
5.1.7 验证 cron.d 的权限 通过
5.1.8 确保 /etc/cron.deny 不存在 通过
5.1.8 验证拥有 /etc/cron.allow 文件的群组 通过
5.1.8 验证 /etc/cron.allow 文件的权限 通过
5.1.8 验证拥有 /etc/cron.allow 文件的用户 通过
5.1.9 确保 /etc/at.deny 不存在 通过
5.1.9 验证拥有 /etc/at.allow 文件的群组 通过
5.1.9 验证 /etc/at.allow 文件的权限 通过
5.1.9 验证拥有 /etc/at.allow 文件的用户 通过
5.2.1 验证拥有 SSH 服务器配置文件的群组 通过
5.2.1 验证 SSH 服务器配置文件的所有者 通过
5.2.1 验证 SSH 服务器配置文件的权限 通过
5.2.2 验证 SSH 服务器 *_key 私钥文件的权限 通过
5.2.3 验证 SSH 服务器 *.pub 公钥文件的权限 通过
5.2.5 将 LogLevel 设置为 INFO 通过
5.2.6 启用 PAM 通过
5.2.7 停用 SSH 根登录 通过
5.2.8 停用基于主机的身份验证 通过
5.2.9 停用通过空密码进行的 SSH 访问 通过
5.2.10 不允许使用 SSH 环境选项 通过
5.2.11 停用对 .rhosts 文件的 SSH 支持 通过
5.2.12 停用 X11 转发 通过
5.2.13 仅使用强加密 通过
5.2.14 仅使用安全系数高的 MAC 通过
5.2.15 仅使用安全系数高的密钥交换算法 通过
5.2.16 停用 SSH TCP 转发 通过
5.2.17 启用 SSH 警告横幅 通过
5.2.18 设置 SSH 身份验证尝试限制 通过
5.2.19 确保已配置 SSH MaxStartups 通过
5.2.20 设置 SSH MaxSessions 限制 通过
5.2.21 确保已配置 SSH LoginGraceTime 通过
5.2.22 设置 SSH 客户端活跃次数上限 通过
5.2.22 设置 SSH 客户端活跃间隔 通过
5.3.1 安装 sudo 软件包 通过
5.3.2 确保只有登录到实际 tty 的用户才能执行 Sudo - sudo use_pty 通过
5.3.3 确保 Sudo 日志文件存在 - sudo logfile 通过
5.3.5 确保用户重新进行身份验证以提升权限 - sudo !authenticate 通过
5.3.6 使用 sudo 命令时需要重新进行身份验证 通过
5.3.7 通过群组参数强制使用 pam_wheel 进行 su 身份验证 通过
5.3.7 确保 pam_wheel 模块使用的群组在系统上存在且为空 通过
5.4.1 确保 PAM 强制执行密码要求 - 每个会话允许的身份验证重试提示数 通过
5.4.1 确保 PAM 强制执行密码要求 -不同类别数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 数字字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 长度下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 小写字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 特殊字符数下限 通过
5.4.1 确保 PAM 强制执行密码要求 - 大写字符数下限 通过
5.4.1 安装 pam_pwquality 软件包 通过
5.4.2 在密码尝试失败后锁定账号 通过
5.4.2 设置密码尝试失败次数的间隔 通过
5.4.2 设置密码尝试失败的锁定时间 通过
5.4.3 限制密码重复使用 通过
5.4.4 在 /etc/login.defs 中设置密码哈希算法 通过
5.5.1.1 设置现有密码使用时间下限 通过
5.5.1.1 设置密码使用时间下限 通过
5.5.1.2 设置现有密码使用时间上限 通过
5.5.1.3 设置密码过期警告期限 通过
5.5.1.4 设置账号闲置后的失效时间 通过
5.5.1.5 确保所有用户的上次密码更改日期都为过去的日期 通过
5.5.2 确保系统账号在登录时不运行 Shell 通过
5.5.3 验证根用户的主要 GID 为 0 通过
5.5.4 确保已正确设置默认 Bash Umask 通过
5.5.4 确保已为互动式用户正确设置默认 Umask 通过
5.5.4 确保已在 /etc/profile 中正确设置默认 Umask 通过
5.5.4 确保已在 login.defs 中正确设置默认 Umask 通过
5.5.5 设置互动式会话超时 通过
6.1.1 验证拥有 passwd 文件的群组 通过
6.1.1 验证 passwd 文件的权限 通过
6.1.1 验证拥有 passwd 文件的用户 通过
6.1.2 验证拥有备份 passwd 文件的群组 通过
6.1.2 验证备份 passwd 文件的权限 通过
6.1.2 验证拥有备份 passwd 文件的用户 通过
6.1.3 验证拥有 group 文件的群组 通过
6.1.3 验证 group 文件的权限 通过
6.1.3 验证拥有 group 文件的用户 通过
6.1.4 验证拥有备份 group 文件的群组 通过
6.1.4 验证备份 group 文件的权限 通过
6.1.4 验证拥有备份 group 文件的用户 通过
6.1.5 验证拥有 shadow 文件的群组 通过
6.1.5 验证 shadow 文件的权限 通过
6.1.5 验证拥有 shadow 文件的用户 通过
6.1.6 验证拥有备份 shadow 文件的群组 通过
6.1.6 验证备份 shadow 文件的权限 通过
6.1.6 验证拥有备份 shadow 文件的用户 通过
6.1.7 验证拥有 gshadow 文件的群组 通过
6.1.7 验证 gshadow 文件的权限 通过
6.1.7 验证拥有 gshadow 文件的用户 通过
6.1.8 验证拥有备份 gshadow 文件的群组 通过
6.1.8 验证备份 gshadow 文件的权限 通过
6.1.8 验证拥有备份 gshadow 文件的用户 通过
6.1.10 确保所有文件都归某位用户所有 通过
6.2.1 验证所有账号密码哈希值是否被覆盖 通过
6.2.2 确保没有密码为空或 Null 的账号 通过
6.2.3 /etc/passwd 中引用的所有 GID 都必须在 /etc/group 中定义 通过
6.2.4 确保 shadow 群组为空 通过
6.2.5 确保系统上的所有账号都具有唯一身份用户 ID 通过
6.2.6 确保系统上的所有群组都具有唯一群组 ID 通过
6.2.7 确保系统上的所有账号都具有唯一名称 通过
6.2.8 确保系统上的所有群组都具有唯一群组名称 通过
6.2.9 确保根路径不包含相对路径或 Null 目录 未知 通过
6.2.9 确保根路径不包含全局或群组可写目录 通过
6.2.10 验证只有根用户的 UID 为 0 通过
6.2.11 所有互动式用户的主目录都必须存在 通过
6.2.12 所有互动式用户主目录都必须属于主要群组所有的群组 通过
6.2.12 所有互动式用户主目录都必须归主要用户所有 通过
6.2.13 所有互动式用户主目录模式都必须为 0750 或更少权限 通过
6.2.14 验证是否不存在 .netrc 文件 通过
6.2.15 验证是否不存在 .forward 文件 通过
6.2.16 移除 Rsh 信任文件 通过
6.2.17 用户初始化文件必须属于主要群组所有的群组 通过
6.2.17 用户初始化文件必须归主要用户所有 通过
6.2.17 用户初始化文件不得运行全局可写程序 通过

不适用的建议

下表列出了不适用于 Google Distributed Cloud 的建议。

# 建议 严重级别 状态
1.1.2.2 向 /tmp 添加 nodev 选项 不适用
1.1.2.3 向 /tmp 添加 noexec 选项 不适用
1.1.2.4 向 /tmp 添加 nosuid 选项 不适用
1.1.3.2 向 /var 添加 nodev 选项 不适用
1.1.3.3 向 /var 添加 nosuid 选项 不适用
1.1.4.2 向 /var/tmp 添加 noexec 选项 不适用
1.1.4.3 向 /var/tmp 添加 nosuid 选项 不适用
1.1.4.4 向 /var/tmp 添加 nodev 选项 不适用
1.1.5.2 向 /var/log 添加 nodev 选项 不适用
1.1.5.3 向 /var/log 添加 noexec 选项 不适用
1.1.5.4 向 /var/log 添加 nosuid 选项 不适用
1.1.6.2 向 /var/log/audit 添加 noexec 选项 不适用
1.1.6.3 向 /var/log/audit 添加 nodev 选项 不适用
1.1.6.4 向 /var/log/audit 添加 nosuid 选项 不适用
1.1.7.2 向 /home 添加 nodev 选项 未知 不适用
1.1.7.3 向 /home 添加 nosuid 选项 不适用
1.4.1 设置 UEFI 引导加载器密码 不适用
1.8.1 移除 GDM 软件包群组 不适用
1.8.4 空闲期限后启用 GNOME3 屏保锁定 不适用
1.8.5 设置 GNOME3 屏保在激活期限后的锁定延迟时间 不适用
1.8.6 停用打开 GNOME3 自动装载 不适用
1.8.6 停用 GNOME3 自动装载 不适用
1.8.8 停用运行 GNOME3 自动装载 不适用
1.8.10 在 GDM 中停用 XDMCP 不适用
1.10 配置 GNOME3 DConf 用户个人资料 不适用
2.1.4.1 配置 ntpd 的服务器限制 不适用
2.1.4.3 将 ntpd 配置为以 ntp 用户身份运行 不适用
2.1.4.4 启用 NTP 守护程序 不适用
2.2.15 停用 Postfix 网络监听 不适用
3.5.1.3 验证是否已启用 ufw 不适用
3.5.1.4 设置 UFW 环回流量 不适用
3.5.1.6 确保所有开放端口都存在 ufw 防火墙规则 不适用
3.5.1.7 确保 ufw 默认拒绝防火墙政策 不适用
3.5.3.2.1 设置传入数据包的默认 iptables 政策 不适用
3.5.3.2.2 为环回流量设置配置 不适用
3.5.3.2.4 确保所有开放端口都存在 iptables 防火墙规则 不适用
3.5.3.3.1 设置传入数据包的默认 ip6tables 政策 不适用
3.5.3.3.4 确保所有开放端口都存在 ip6tables 防火墙规则 不适用

配置 AIDE cron 作业

AIDE 是一个文件完整性检查工具,可验证是否符合 CIS L1 服务器基准 1.4 Filesystem Integrity Checking 的要求。在 Google Distributed Cloud 中,AIDE 进程导致资源使用率高问题。

节点上的 AIDE 进程默认处于停用状态,以防止出现资源问题。这会影响对 CIS L1 服务器基准 1.4.2 Ensure filesystem integrity is regularly checked. 的合规性

如果要选择运行 AIDE cron 作业,请完成以下步骤以重新启用 AIDE:

  1. 创建一个 DaemonSet。

    以下是 DaemonSet 的清单:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
    name: enable-aide-pool1
    spec:
    selector:
      matchLabels:
        app: enable-aide-pool1
    template:
      metadata:
        labels:
          app: enable-aide-pool1
      spec:
        hostIPC: true
        hostPID: true
        nodeSelector:
          cloud.google.com/gke-nodepool: pool-1
        containers:
        - name: update-audit-rule
          image: ubuntu
          command: ["chroot", "/host", "bash", "-c"]
          args:
          - |
            set -x
            while true; do
              # change daily cronjob schedule
              minute=30;hour=5
              sed -E "s/([0-9]+ [0-9]+)(.*run-parts --report \/etc\/cron.daily.*)/$minute $hour\2/g" -i /etc/crontab
    
              # enable aide
              chmod 755 /etc/cron.daily/aide
    
              sleep 3600
            done
          volumeMounts:
          - name: host
            mountPath: /host
          securityContext:
            privileged: true
        volumes:
        - name: host
          hostPath:
            path: /
    

    在前面的清单中:

    • AIDE Cron 作业将仅在 nodeSelector cloud.google.com/gke-nodepool: pool-1 指定的节点池 pool-1 上运行。您可以通过在 nodeSelector 字段下指定池,将 AIDE 进程配置为根据需要运行任意数量的节点池。如需在不同的节点池上运行相同的 Cron 作业时间表,请移除 nodeSelector 字段。但是,为了避免主机资源拥塞,我们建议您维护单独的时间表。

    • Cron 作业安排在每天凌晨 5:30 运行,如配置 minute=30;hour=5 所指定。您可以根据需要为 AIDE Cron 作业配置不同的时间表。

  2. 将此清单复制到名为 enable-aide.yaml 的文件,然后创建该 DaemonSet:

    kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
    

    其中,USER_CLUSTER_KUBECONFIG 是用户集群的 kubeconfig 文件的路径。

使用安全内容自动化协议 (SCAP) 评估

建议您自行扫描安装,以评估其是否符合 Ubuntu Linux CIS 基准的 2 级合规性要求。您可以使用各种工具扫描集群和管理员工作站。您可以按照以下步骤安装并运行 OpenSCAP 开源工具集,以执行 2 级安全评估:

  1. 将以下脚本复制到名为 cis-benchmark.sh 的文件中:

    #!/bin/bash
    
    set -x
    
    REPORTS_DIR="$1"
    
    mkdir -p "${REPORTS_DIR}"
    
    echo "Start CIS L2 benchmark evaluation..."
    apt update
    apt install libopenscap8
    sudo oscap xccdf eval \
        --profile cis_level2_server_customized \
        --tailoring-file /etc/cloud/usg/tailored-cis-level2-server-anthos-wmware.xml \
        --results "${REPORTS_DIR}"/cis-results.xml \
        --report "${REPORTS_DIR}"/cis-report.html \
        --verbose INFO \
        --verbose-log-file "${REPORTS_DIR}/cis-output-verbose.log" \
        /etc/cloud/usg/ssg-ubuntu2204-ds-1.2.xml > "${REPORTS_DIR}"/cis-output.log 2>&1
    chmod -R 755 "${REPORTS_DIR}/.."
    echo "Done CIS L2 benchmark evaluation"
    
  2. 让该脚本可执行:

    chmod +x cis-benchmark.sh
    
  3. 运行脚本:

    ./cis-benchmark.sh REPORTS_DIR
    

    REPORTS_DIR 替换为您要将生成的评估报告保存到的现有目录的路径。

    脚本成功完成后,REPORTS_DIR 目录将包含生成的 cis-report.html 文件。