重要
本文仅适用于 AKS 使用的 Azure Linux 3.0 和 Azure Linux 3.0 容器主机映像。 建议状态和指南反映了 CIS Azure Linux 3.0 基准基准 v1.0 和时间点 Azure Linux 3.0 映像(2025 年 7 月 2 日发布)。 它们可能不适用于其他 Azure Linux 版本(例如 Azure Linux 2.0)。 在应用指南之前,请验证 OS 版本和基准版本。
应用于 AKS 映像的 Azure Linux 容器主机的安全 OS 配置基于 Azure Linux 安全基线,该基线与 CIS 基准保持一致。 AKS 是符合 SOC、ISO、PCI DSS 和 HIPAA 标准的安全服务。 有关 Azure Linux 容器主机安全性的详细信息,请参阅 Azure Kubernetes 服务(AKS)中群集的安全概念。
Recommendations
该表包含四个部分:
- CIS ID:与每个基线规则关联的规则 ID。
- 建议说明:CIS 基准发布的建议的说明。
- 级别:L1(即级别 1)推荐可在任何系统上配置的基本必需安全要求,这些要求应该很少或不会导致服务中断或功能降低。
-
状态:
- 通过 - 已应用建议。
- 失败 - 未应用建议。
- N/A - 建议涉及与 AKS 无关的清单文件权限要求。
- 取决于环境 - 建议在用户的特定环境中应用,且不受 AKS 控制。
- 等效控制 - 建议以不同的等效方式实现。
-
原因:
- 潜在的操作影响 - 未应用建议,因为该建议会对服务产生负面影响。
- 在其他地方覆盖 - 建议在 Azure 云计算中的另一项控制措施的覆盖范围内。
Azure Linux 3.0 基准
以下是 基于 CIS 规则的 CIS Azure Linux 3.0 基准 v1.0 建议的结果:
| CIS身份识别码 | 建议说明 | 状态 | 原因 |
|---|---|---|---|
| 1.1.1.1 | 确保 cramfs 内核模块不可用 | 通过 | |
| 1.1.1.2 | 确保 freevxfs 内核模块不可用 | 通过 | |
| 1.1.1.3 | 确保 hfs 内核模块不可用 | 通过 | |
| 1.1.1.4 | 确保 hfsplus 内核模块不可用 | 通过 | |
| 1.1.1.5 | 确保 jffs2 内核模块不可用 | 通过 | |
| 1.1.1.6 | 确保未使用的文件系统内核模块不可用 | N/A | |
| 1.1.2.1.1 | 确保 /tmp 是单独的分区 | 通过 | |
| 1.1.2.1.2 | 确保在 /tmp 分区上设置 nodev 选项 | 通过 | |
| 1.1.2.1.3 | 确保在 /tmp 分区上设置 nosuid 选项 | 通过 | |
| 1.1.2.2.1 | 确保 /dev/shm 是单独的分区 | 通过 | |
| 1.1.2.2.2 | 确保在 /dev/shm 分区上设置 nodev 选项 | 通过 | |
| 1.1.2.2.3 | 确保在 /dev/shm 分区上设置 nosuid 选项 | 通过 | |
| 1.2.1.1 | 确保配置 GPG 密钥 | N/A | |
| 1.2.1.2 | 确保已配置 gpgcheck | 通过 | |
| 1.2.1.3 | 确保全局激活 TDNF gpgcheck | 通过 | |
| 1.2.1.4 | 确保配置包管理器存储库 | N/A | |
| 1.3.1 | 确保启用地址空间布局随机化 | Fail | CIS ID 1.3.1 要求 OS 显式设置配置以启用 ASLR。 在 Azure Linux 3.0 中,这是默认行为。 但是,为了满足此基准,并确保 OS 能够针对上游默认更改进行复原,此配置将在即将发布的版本中显式设置。 |
| 1.3.2 | 确保限制ptrace_scope | 通过 | |
| 1.3.3 | 确保禁用核心转储回溯 | 通过 | |
| 1.3.4 | 确保禁用核心转储存储 | 通过 | |
| 1.4.1 | 确保正确配置本地登录警告横幅 | 通过 | |
| 1.4.2 | 确保正确配置远程登录警告横幅 | 通过 | |
| 1.4.3 | 确保已配置对 /etc/motd 的访问 | 通过 | |
| 1.4.4 | 确保已配置对 /etc/issue 的访问 | 通过 | |
| 1.4.5 | 确保已配置对 /etc/issue.net 的访问 | 通过 | |
| 2.1.1 | 确保正在使用时间同步 | 通过 | |
| 2.1.2 | 确保配置 chrony | 通过 | |
| 2.2.1 | 确保未安装 xinetd | 通过 | |
| 2.2.2 | 确保未安装 xorg-x11-server-common | 通过 | |
| 2.2.3 | 确保未安装 avahi | 通过 | |
| 2.2.4 | 确保未安装打印服务器 | 通过 | |
| 2.2.5 | 确保未安装 dhcp 服务器 | 通过 | |
| 2.2.6 | 确保未安装 dns 服务器 | 通过 | |
| 2.2.7 | 确保未安装 FTP 客户端 | 通过 | |
| 2.2.8 | 确保未安装 ftp 服务器 | 通过 | |
| 2.2.9 | 确保未安装 tftp 服务器 | 通过 | |
| 2.2.10 | 确保未安装 Web 服务器 | 通过 | |
| 2.2.11 | 确保未安装 IMAP 和 POP3 服务器 | 通过 | |
| 2.2.12 | 确保未安装 Samba | 通过 | |
| 2.2.13 | 确保未安装 HTTP 代理服务器 | 通过 | |
| 2.2.14 | 确保未安装 net-snmp 或未启用 snmpd 服务 | 通过 | |
| 2.2.15 | 确保未安装 NIS 服务器 | 通过 | |
| 2.2.16 | 确保未安装 telnet-server | 通过 | |
| 2.2.17 | 确保邮件传输代理配置为仅限本地模式 | 通过 | |
| 2.2.18 | 确保未安装 nfs-utils 或屏蔽 nfs-server 服务 | 通过 | |
| 2.2.19 | 确保未安装 rsync-daemon 或屏蔽 rsyncd 服务 | 通过 | |
| 2.3.1 | 确保未安装 NIS 客户端 | 通过 | |
| 2.3.2 | 确保未安装 rsh 客户端 | 通过 | |
| 2.3.3 | 确保未安装 Talk 客户端 | 通过 | |
| 2.3.4 | 确保未安装 telnet 客户端 | 通过 | |
| 2.3.5 | 确保未安装 LDAP 客户端 | 通过 | |
| 2.3.6 | 确保未安装 TFTP 客户端 | 通过 | |
| 3.1.1 | 确保禁用数据包重定向发送 | 通过 | |
| 3.1.2 | 确保忽略虚假的 icmp 响应 | 通过 | |
| 3.1.3 | 确保忽略广播 icmp 请求 | 通过 | |
| 3.1.4 | 确保不接受 icmp 重定向 | 通过 | |
| 3.1.5 | 确保不接受安全 icmp 重定向 | 通过 | |
| 3.1.6 | 确保启用反向路径筛选 | 通过 | |
| 3.1.7 | 确保不接受源路由数据包 | 通过 | |
| 3.1.8 | 确保记录可疑的数据包 | 通过 | |
| 3.1.9 | 确保已启用 tcp syn cookie | 通过 | |
| 3.1.10 | 确保不接受 ipv6 路由器播发 | 通过 | |
| 4.1.1 | 确保已安装 iptable | 通过 | |
| 4.1.2 | 确保未使用 nftable | 通过 | |
| 4.1.3 | 确保防火墙未使用 | 通过 | |
| 5.1.1 | 确保启用 cron 守护程序 | 通过 | |
| 5.1.2 | 确保配置 /etc/crontab 上的权限 | 通过 | |
| 5.1.3 | 确保已配置 /etc/cron.hourly 的权限 | 通过 | |
| 5.1.4 | 确保已配置 /etc/cron.daily 的权限 | 通过 | |
| 5.1.5 | 确保已配置 /etc/cron.weekly 的权限 | 通过 | |
| 5.1.6 | 确保已配置 /etc/cron.monthly 的权限 | 通过 | |
| 5.1.7 | 确保已配置 /etc/cron.d 的权限 | 通过 | |
| 5.1.8 | 确保 cron 仅限于授权用户 | 通过 | |
| 5.1.9 | 确保 at 仅限于授权用户 | 通过 | |
| 5.2.1 | 确保已配置对 /etc/ssh/sshd_config 的访问 | 通过 | |
| 5.2.2 | 确保配置了对 SSH 私钥文件的访问权限 | 通过 | |
| 5.2.3 | 确保配置了对 SSH 公钥密钥文件的访问 | 通过 | |
| 5.2.4 | 确保配置 sshd 密码 | 通过 | |
| 5.2.5 | 确保配置 sshd KexAlgorithms | 通过 | |
| 5.2.6 | 确保配置 sshd MAC | 通过 | |
| 5.2.7 | 确保配置 sshd 访问 | 通过 | |
| 5.2.8 | 确保配置 sshd 横幅 | 通过 | |
| 5.2.9 | 确保配置 sshd ClientAliveInterval 和 ClientAliveCountMax | 通过 | |
| 5.2.10 | 确保已禁用 sshd HostbasedAuthentication | 通过 | |
| 5.2.11 | 确保已启用 sshd IgnoreRhosts | 通过 | |
| 5.2.12 | 确保配置 sshd LoginGraceTime | 通过 | |
| 5.2.13 | 确保配置 sshd LogLevel | 通过 | |
| 5.2.14 | 确保配置 sshd MaxAuthTries | 通过 | |
| 5.2.15 | 确保配置 sshd MaxStartups | 通过 | |
| 5.2.16 | 确保配置 sshd MaxSessions | 通过 | |
| 5.2.17 | 确保已禁用 sshd PermitEmptyPasswords | 通过 | |
| 5.2.18 | 确保已禁用 sshd PermitRootLogin | 通过 | |
| 5.2.19 | 确保 sshd PermitUserEnvironment 已禁用 | 通过 | |
| 5.2.20 | 确保已启用 sshd UsePAM | 通过 | |
| 5.3.1 | 确保已安装 sudo | 通过 | |
| 5.3.2 | 确保全局不禁用特权升级的重新身份验证 | 通过 | |
| 5.3.3 | 确保正确配置 sudo 身份验证超时 | 通过 | |
| 5.4.1 | 确保配置密码创建要求 | 通过 | |
| 5.4.2 | 确保为失败的密码尝试配置锁定 | 通过 | |
| 5.4.3 | 确保密码哈希算法为 SHA-512 | 通过 | |
| 5.4.4 | 确保对密码重用进行限制 | 通过 | |
| 5.5.1.1 | 确保密码有效期小于或等于 365 天 | 通过 | |
| 5.5.1.2 | 确保配置密码更改之间的最短天数 | 通过 | |
| 5.5.1.3 | 确保密码过期警告天数为 7 或更多 | 通过 | |
| 5.5.1.4 | 确保非活动密码在 30 天或更短的时间内锁定 | 通过 | |
| 5.5.1.5 | 确保所有用户的上次密码更改日期都是过去的日期 | 通过 | |
| 5.5.2 | 确保系统帐户受到保护 | 通过 | |
| 5.5.3 | 确保根帐户的默认组为 GID 0 | 通过 | |
| 5.5.4 | 确保默认的用户 umask 为 027(或更严格的标准) | 通过 | |
| 6.1.1.1.1 | 确保日记服务处于活动状态 | 通过 | |
| 6.1.1.1.2 | 确保已配置日记日志文件访问 | N/A | |
| 6.1.1.1.3 | 确保已配置已记录的 ForwardToSyslog | 通过 | |
| 6.1.1.1.4 | 确保 systemd-journal-remote 服务未使用 | 通过 | |
| 6.1.1.1.5 | 确保已配置日记存储 | 通过 | |
| 6.1.1.1.6 | 确保已配置日记压缩 | 通过 | |
| 6.1.2.1 | 确保 rsyslog 服务已启用且处于活动状态 | 通过 | |
| 6.1.2.2 | 确保配置 rsyslog 日志文件创建模式 | 通过 | |
| 6.1.2.3 | 确保未将 rsyslog 配置为从远程客户端接收日志 | 通过 | |
| 6.1.3.1 | 确保已配置对所有日志文件的访问 | 通过 | |
| 6.2 | 确保已配置 logrotate | N/A | |
| 7.1.1 | 确保已配置对 /etc/passwd 的访问 | 通过 | |
| 7.1.2 | 确保已配置对 /etc/passwd 的访问 | 通过 | |
| 7.1.3 | 确保已配置对 /etc/group 的访问 | 通过 | |
| 7.1.4 | 确保已配置对 /etc/group- 的访问 | 通过 | |
| 7.1.5 | 确保已配置对 /etc/shadow 的访问 | 通过 | |
| 7.1.6 | 确保已配置对 /etc/shadow 的访问 | 通过 | |
| 7.1.7 | 确保已配置对 /etc/gshadow 的访问 | 通过 | |
| 7.1.8 | 确保已配置对 /etc/gshadow 的访问 | 通过 | |
| 7.1.9 | 确保已配置对 /etc/shells 的访问 | 通过 | |
| 7.1.10 | 确保已配置对 /etc/security/opasswd 的访问 | 通过 | |
| 7.1.11 | 确保所有人都可写的文件和目录受到保护 | 通过 | |
| 7.1.12 | 确保没有所有者和组的文件或目录存在 | 通过 | |
| 7.2.1 | 确保 /etc/passwd 中的帐户使用隐藏密码 | 通过 | |
| 7.2.2 | 确保 /etc/shadow 密码字段不为空 | 通过 | |
| 7.2.3 | 确保 /etc/passwd 中的所有组也均存在于 /etc/group 中 | 通过 | |
| 7.2.4 | 确保不存在重复的 UID | 通过 | |
| 7.2.5 | 确保不存在重复的 GID | 通过 | |
| 7.2.6 | 确保不存在重复的用户名 | 通过 | |
| 7.2.7 | 确保不存在重复的组名 | 通过 | |
| 7.2.8 | 确保已配置本地交互式用户主目录 | 通过 | |
| 7.2.9 | 确保已配置本地交互式用户点文件访问 | 通过 |
后续步骤
有关 Azure Linux 容器主机安全性的详细信息,请参阅以下文章: