系统补丁与安全更新管理规范 🛡️
版本:1.0
适用范围:所有生产服务器(RHEL 9.x+ 及兼容发行版,例如 openEuler、Anolis OS、Rocky Linux、AlmaLinux 等)
1. 核心原则
- 分环境分阶段推进:开发 → 预发布 → 生产
- 变更前必须备份关键配置,并准备回滚方案
- 优先修复高危漏洞(CVSS ≥ 7.0 或 Red Hat / openEuler 标记为 Critical / Important)
- 关键服务器优先启用 kernel live patching,减少重启窗口
- 所有补丁操作需记录变更日志,便于审计与追溯
2. 更新策略与窗口
| 环境 | 更新频率 | 更新内容 | 推荐变更窗口 | 需重启处理 |
|---|---|---|---|---|
| 开发/测试 | 每周至少 1 次 | 所有可用更新(security + bugfix) | 工作日任意时间 | 允许 |
| 预发布 | 每月第 2 周 | 安全更新 + 重要 bugfix | 周二 / 周四 02:00–04:00 | 计划内 |
| 生产 | 每月第 3 周 | 仅安全更新 + 关键 bugfix | 周二 02:00–04:00 | 优先 live patch |
3. 推荐操作流程
3.1 检查可用更新
# 查看所有安全更新
dnf updateinfo list security
# 查看所有可更新包
dnf check-update
3.2 应用安全更新(生产环境推荐方式)
# 只安装安全相关更新
dnf update --security --bugfix --assumeyes
# 检查是否需要重启
needs-restarting -r
3.3 kernel live patching(RHEL 9+ / 兼容系统推荐)
启用代码仓库(以 RHEL 9 为例,openEuler / Anolis 需查官方文档):
subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
dnf install kpatch kpatch-dnf -y
安装并应用所有可用补丁:
kpatch install --all
kpatch list
检查 live patch 状态:
kpatch list --all
4. 变更记录要求
每次补丁操作后,在专用日志文件记录(建议路径:/opt/logs/patch/):
示例日志格式:
# /opt/logs/patch/202602-patch.log
Date: 2026-02-18 03:15
Environment: production
Packages Updated:
- kernel-5.14.0-427.13.1.el9_4.x86_64
- openssl-3.0.7-24.el9_2.x86_64
CVE Fixed: CVE-2025-XXXXX (Critical)
Result: 系统正常,live patch 应用成功,无需重启
Operator: ops-team
5. 合规检查清单(每月自检 / 变更后必验)
- 订阅/仓库有效(
subscription-manager status或dnf repolist) - 最近 30 天内无高危 CVE 未修复(
dnf updateinfo list security --available) - kernel live patch 已启用且最新(
kpatch list) - 补丁变更记录完整保存
- staging 环境已验证补丁稳定性
6. 例外处理
- 如因业务连续性无法在窗口内更新,需提前申请延期并记录风险评估
- 高危漏洞(CVSS ≥ 9.0 或官方紧急公告)必须在 72 小时内修复(或启用临时缓解措施)
生产环境补丁管理应逐步纳入自动化工具(如 Ansible、AWX 或 Foreman),实现分阶段、可审计的批量更新。