Azure Linux 基于默认安全基线构建,并在启动、运行时和更新流程中提供分层防护。 本文介绍在 Azure linux 上验证安全设置的安全模型、关键功能和建议。
Note
Azure Linux 4.0 现在位于 preview 中,严格限制为评估和测试目的。 它不适合生产用途。
安全模型
下表总结了指导 Azure Linux 设计的核心安全原则,以及如何跨平台实现这些原则:
| 安全原则 | Azure Linux 中的实现 |
|---|---|
| 默认安全 | 最小包集,仅密钥 SSH 身份验证,已启用防火墙 |
| 深层防御 | SELinux 强制访问控制,网络强化 |
| 最小特权 | SELinux 策略、内核功能限制 |
核心安全功能
默认保护基线
- 加固内核:采用 ASLR、堆栈金丝雀保护和指针限制。
- 最小包集:仅核心操作系统(OS)功能的基本包。 基础映像中没有旧协议、开发工具或非基本守护程序。
- 默认情况下,没有外部网络连接:防火墙拒绝除 SSH 之外的所有入站流量。
- 仅限密钥的 SSH 身份验证:密码身份验证已禁用。
- 包完整性:所有包和存储库元数据都是 GPG 签名的。
运行时保护
- SELinux: 处于强制模式。 带预标记软件包的定向策略
- eBPF 加固:已禁用非特权 BPF,并禁用解释器,改用 JIT。
网络安全
- firewalld:默认启用,并使用 nftables 作为后端。
- 网络 sysctl 强化:严格反向路径筛选、禁用 ICMP 重定向、启用 SYN Cookie。
- IPv6:已启用,并已应用加固设置。
身份验证和访问控制
- SSSD/realmd:可从 Azure Linux 存储库获取,适用于采用 Active Directory 和 LDAP 的混合身份场景。
Cryptography
- FIPS 140-3:使用简单的启用机制验证的加密模块。
- 量子后加密:ML-KEM 混合密钥交换支持。
- 系统加密库:应用程序可以使用 OS 级别的加密。
日志记录、审计和监控
- auditd:默认启用;规则配置文件在 /usr/share/audit-rules/ 下提供,可以通过将所需的配置文件复制到 /etc/audit/rules.d/ 来激活。
- journald:具有结构化 JSON 输出的持久存储。
漏洞扫描集成
Azure Linux 支持与常见的漏洞扫描和安全工具集成。 有关受支持的工具列表,请参阅 Azure Linux 合作伙伴解决方案。