更新源必须可信
补丁的可信度取决于仓库本身:来源不可信,补丁再新也没有意义。加固要点是确认仓库地址可信、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:用完必须移除,否则会留下长期的信任缺口。
第三方源要单独评估:并不是所有源都与生产基线兼容,混用之后补丁策略也会变得难以说明。
镜像站的同步延迟会造成同一个公告在两台机器上可用性不同:清点补丁状态时要把仓库地址一起标注出来。
改动仓库配置之前先备份原文件:源地址一旦写错,能立刻回滚,不至于连补丁都装不上。