Internet 安全中心 (CIS) Azure Linux 3.0 基准

重要

本文仅适用于 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 容器主机安全性的详细信息,请参阅以下文章: