首页/安全/安全加固速查/软件仓库来源与 GPG 校验
补丁与漏洞管理50 条

软件仓库来源与 GPG 校验

补丁的可信度取决于仓库:确认仓库地址可信、GPG 校验开启,杜绝“半路注入”的更新来源。

安全加固速查安全更新于 2026-10-13

更新源必须可信

补丁的可信度取决于仓库本身:来源不可信,补丁再新也没有意义。加固要点是确认仓库地址可信、GPG 校验保持开启,并清理掉为图方便留下的临时信任。RHEL 系看 gpgcheck 与已导入的 rpm 公钥,Debian 系看 signed-by 与 trusted=yes 这类用法。

基本信息

适用平台Linux(RHEL 系与 Debian 系)
风险等级中
基线要求gpgcheck 开启且不存在野源
RHEL 核查/etc/yum.repos.d/ 下的 .repo 文件
Debian 核查sources.list 与 sources.list.d

典型使用场景

  • 加固基线中的更新源可信核查
  • 排查为安装第三方包留下的临时信任
  • 内网镜像源替换后的校验确认
  • 排查同一公告在两台机器上可用性不同的原因
  • 新系统装机时的源配置评审
  • 从供应链角度梳理更新链路

RHEL 系

RHEL 系
grep -rE '^(gpgcheck|repo_gpgcheck|baseurl|enabled)' /etc/yum.repos.d/*.repo | head -30   # 查看各仓库的校验与地址
rpm -q gpg-pubkey | head                     # 已导入的 GPG 公钥
dnf repolist -v 2>/dev/null | grep -i gpg    # 从 dnf 视角确认校验状态
dnf config-manager --dump 2>/dev/null | head -20   # 查看仓库详细配置

Debian 系

Debian 系
grep -R 'signed-by\|trusted=yes' /etc/apt/sources.list /etc/apt/sources.list.d/ | head   # 排查绕过校验的配置
apt-key list 2>/dev/null | head -20          # 已导入的密钥
apt-cache policy 2>/dev/null | head -20      # 各源的优先级与地址

复核必查项

检查项含义注意点
gpgcheck是否校验包签名应为 1
repo_gpgcheck是否校验仓库元数据建议开启
trusted=yes是否跳过签名校验属于临时用法,用完要移除
仓库地址包的实际来源应为官方源或自建可信镜像
第三方源EPEL、PPA、容器源等单独评估是否兼容生产基线
为安装第三方包临时加上 trusted=yes 或关闭 gpgcheck:用完必须移除,否则会留下长期的信任缺口。
第三方源要单独评估:并不是所有源都与生产基线兼容,混用之后补丁策略也会变得难以说明。
镜像站的同步延迟会造成同一个公告在两台机器上可用性不同:清点补丁状态时要把仓库地址一起标注出来。
改动仓库配置之前先备份原文件:源地址一旦写错,能立刻回滚,不至于连补丁都装不上。

易错点

  • 为图方便关掉 gpgcheck 或加上 trusted=yes 之后忘了移除,长期失去签名校验
  • 混用多个第三方源却不评估兼容性,补丁与依赖关系变得不可控
  • 内网镜像源没有同步校验机制,镜像本身被篡改也发现不了
  • 只看仓库配置文件不看实际生效状态,配置文件与工具输出不一致时判断失准
  • 盘点补丁时忽略源地址差异,把镜像同步延迟误判成补丁没装

数据来源与参考

  • Red Hat 文档:yum 仓库 GPG
  • Debian 文档:apt 签名校验
  • CIS Benchmark:更新源条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌