首页/安全/漏洞与攻击面速查/补丁来源与签名校验
补丁与修复管理45 条

补丁来源与签名校验

补丁包必须来自可信渠道并验证来源真实性:包管理器验签、安装介质校验和、Windows 可执行文件验签;供应链投毒常从『看起来一样』的包开始。

漏洞与攻击面速查安全更新于 2026-10-13

为什么必须校验来源

补丁包必须来自可信渠道,并在安装前验证来源真实性。供应链投毒的典型手法就是用「看起来一样」的包替换正品,因此校验环节不能省:包管理器验签、安装介质哈希比对、Windows 可执行文件验签,各自都有成熟的检查手段,耗时很短但作用很大。

基本信息

可信来源厂商官网、官方软件仓库、厂商交付介质
校验方式RPM 与 DEB 包签名、介质哈希校验、Windows Authenticode 签名
基础配置包管理器仓库开启 GPG 检查(gpgcheck)
内部转发自建镜像站要同步上游签名并定期校验
留痕要求校验结果与补丁台账一起记录
校验时机下载后、安装前,不要等装完再补

场景与校验方式

场景校验方式说明
RPM 包rpm --checksig 或 rpm -K校验签名与完整性
DEB 包dpkg-sig --verify 或仓库 apt 验签需安装对应工具
安装介质与厂商公布的哈希比对sha256sum -c 校验
Windows 可执行Get-AuthenticodeSignature关注签名状态与签发者
容器镜像镜像签名与摘要校验用摘要而非浮动标签

RPM/DEB 与文件校验

RPM/DEB 与文件校验
rpm --checksig package.rpm          # RPM 签名校验
rpm -K package.rpm                  # 同一功能的简写
dpkg-sig --verify package.deb       # DEB:需安装 dpkg-sig
sha256sum -c image.iso.sha256       # 与厂商公布的哈希比对
# 仓库层面确认 GPG 检查已开启
grep -r '^gpgcheck' /etc/yum.conf /etc/yum.repos.d/ 2>/dev/null

Windows 可执行文件验签

Windows 可执行文件验签
Get-AuthenticodeSignature .\patch.msu | Format-List Status, SignerCertificate
# Status 应为 Valid,签发者要与厂商一致
# 批量检查目录下的补丁文件
Get-ChildItem .\patches\*.msu | Get-AuthenticodeSignature | Where-Object Status -ne 'Valid'

典型使用场景

  • 手工下载补丁包时的来源核对
  • 自建软件源与镜像站的质量检查
  • 离线环境的介质校验
  • 事件复盘时确认是否存在被替换的包
  • 供应商交付物的验收
  • 审计举证中的校验记录留痕
开启包管理器仓库的 GPG 检查属于基础配置。手动下载单个包时要谨慎核对来源与哈希,不要因为「能装上」就默认它是正品。
从第三方镜像站下载补丁包直接安装、不做任何签名与哈希校验:一旦镜像站被污染或被中间人篡改,等于主动把恶意程序装进生产环境。

易错点

  • 从第三方镜像站下载补丁包直接安装,未做任何签名与哈希校验
  • 自建镜像站不校验上游签名,被替换的包会分发到全部主机
  • 只看文件名与版本号不算校验,哈希与签名缺一不可
  • 校验工具返回异常时以业务着急为由跳过,风险直接落地
  • 校验记录不留痕,出现供应链事件时无法证明当时的包已通过验证

数据来源与参考

  • Red Hat 文档(RPM 签名验证)
  • Microsoft 文档(Get-AuthenticodeSignature)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌