补丁核查的三个数
补丁状态核查不必复杂,回答三个问题就够:有多少安全更新尚未安装、最近一次更新是什么时候、当前是否需要重启。这三个数写进报告比“已完成更新”这类定性描述有用得多,也便于跨主机横向比较与趋势跟踪。不同平台取数方式不同:RHEL 系看 check-update 与最近安装记录,Debian 系看可升级清单与重启标记文件,Windows 看已装补丁列表与待重启标记。
基本信息
| 加固项 | 补丁状态核查 |
|---|---|
| 适用平台 | Linux(RHEL 系、Debian 系)与 Windows |
| 权限要求 | root 或 sudo、本地管理员 |
| 达标判据 | 无超期未装的安全更新,重启需求已排期 |
| 输出物 | 三个数值:待装安全更新数、最近更新时间、是否需重启 |
典型使用场景
- 月度巡检批量采集,输出补丁状态汇总表
- 高危漏洞通报后确认哪些主机仍待修复
- 维护窗口前确认重启需求与影响范围
- 给合规检查提供可比的数值证据
- 排查“打过补丁为什么还报漏洞”:确认是否只差重启
Linux 侧核查命令
Linux 侧核查命令
rpm -qa --last | head -20 # RHEL 系:最近安装的包与时间
sudo yum check-update --security 2>/dev/null | tail -20 # RHEL 7:待装安全更新
sudo dnf updateinfo list security | wc -l # RHEL 8 及以上:安全更新条数
apt list --upgradable 2>/dev/null | wc -l # Debian 系:待升级总数
/usr/lib/update-notifier/apt-check --human-readable # Debian 系:待升级与安全更新摘要
ls /var/run/reboot-required 2>/dev/null && cat /var/run/reboot-required.pkgs # 是否需要重启
uptime # 顺带记录运行时长,辅助判断上次重启时间Windows 侧取数
Windows 侧取数
systeminfo | findstr /i "OS Name OS Version"
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10 HotFixID, InstalledOn
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired' -ErrorAction SilentlyContinue # 待重启标记取数与判读
| 取数项 | 命令 | 判读要点 |
|---|---|---|
| 待装安全更新数 | dnf updateinfo list security / apt-check | 与上次巡检比对,看趋势 |
| 最近更新时间 | rpm -qa --last / Get-HotFix | 长期无更新说明补丁流程未运行 |
| 重启需求 | reboot-required 文件或注册表标记 | 存在时补丁未真正生效 |
| 已启用仓库 | dnf repolist / apt-cache policy | 安全源缺失会让待装数为 0 但实际缺补丁 |
| 更新历史 | yum history / apt 日志 | 作为变更留档与回溯依据 |
三个数要写进报告并附采集时间点:待装安全更新条数、最近一次更新时间、是否需要重启。数值化记录既方便横向比较不同主机,也能在下一轮巡检时快速发现“某台机器待装数一直在涨”这类被忽略的问题。
待装数为 0 不一定代表健康:安全源未配置、仓库元数据过期或尚未执行更新检查时,同样会显示没有可升级项。核查时应交叉确认仓库状态与元数据刷新时间,必要时先手动刷新再取数,避免得出“这台机器很干净”的错误结论。