Skip to content

CentOS 7 系统安全漏洞修复指南


第一步:升级前的环境检查

在执行更新命令前,必须确保您的服务器可以正常连接到软件源服务器。这主要涉及到两点:DNS解析YUM源配置

1. 检查网络与DNS配置

执行以下命令来测试您的服务器是否能正常解析域名并访问外部网络。

bash
ping -c 4 mirrors.tuna.tsinghua.edu.cn
  • 如果看到类似如下的返回信息,说明您的网络和DNS配置正确,可以继续下一步。

    PING mirrors.tuna.tsinghua.edu.cn (101.6.8.193) 56(84) bytes of data.
    64 bytes from 101.6.8.193 (101.6.8.193): icmp_seq=1 ttl=50 time=30.1 ms
    ...
  • 如果提示 unknown host 或长时间没有响应,说明您的DNS或网络配置存在问题。请先检查 /etc/resolv.conf 文件中的DNS服务器地址是否正确,并确认服务器网络连接正常。

2. 切换并验证YUM源为清华大学镜像源

由于 CentOS 7 已于 2024年6月30日 停止官方维护(EOL),默认的官方YUM源已失效。我们需要将其切换到仍在提供服务的归档镜像源(如清华大学镜像源)。

执行以下命令,它会自动备份旧的配置文件,并将YUM源地址指向清华大学的 CentOS 7 归档镜像。

bash
sed -e "s|^mirrorlist=|#mirrorlist=|g" \
    -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009|g" \
    -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009|g" \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo

命令执行后,请清理并重建YUM缓存以验证新源是否可用:

bash
yum clean all
yum makecache
  • 如果命令成功执行并最后显示 "元数据缓存已建立" (Metadata cache created),则说明源已切换成功,您可以进行下一步操作。
  • 如果仍然报错,请检查网络连接或确认上述 sed 命令是否被正确复制和执行。

第二步:执行升级命令

当您确认网络和YUM源都正常后,执行以下命令来更新 krb5-libspolkit 这两个软件包以修复漏洞。

bash
yum update krb5-libs polkit -y

命令解释:

  • yum update: 更新指定的软件包。
  • krb5-libs polkit: 需要更新的两个目标软件包名称。
  • -y: 在更新过程中自动回答 "yes",无需手动确认。

当命令执行完毕并显示 完毕!Complete! 字样时,表示更新已成功完成。


第三步:验证升级结果

为了确认漏洞是否已修复,您可以检查这两个软件包的版本号。

bash
rpm -q polkit krb5-libs

执行后会显示已安装软件包的详细版本信息。只要确认它们已经被更新到了一个较新的版本,通常就意味着漏洞已经修复。

polkit-0.112-26.el7_9.1.x86_64
krb5-libs-1.15.1-55.el7_9.x86_64

至此,您的系统漏洞修复工作已圆满完成。