如何检查基于RHEL的Linux发行版中的软件包已针对特定的CVE打上了补丁?

译文
系统 Linux
想知道您那个基于Red Hat Enterprise Linux的发行版是否为某个已安装的软件包针对特定CVE打上了修补吗?

[[439169]]

【51CTO.com快译】CVE(常见漏洞和暴露)不断被发现和打补丁。一旦被发现,这意味着某个操作系统或软件存在新的安全漏洞,应尽快打补丁。当然,修复漏洞是开发人员的责任。然而,给这些漏洞打补丁却是管理员(或用户)的责任。问题是,您可能不知道自己是否在使用含有一个或多个CVE的软件。

您如何发现这些信息?是否不得不花数小时来研究?大可不必。事实上,您只需要知道您在寻找的CVE及其影响的软件。掌握了这两点信息,就能迅速发现安装在基于Red Hat Enterprise Linux的发行版上的软件是否含有该漏洞。

下面介绍如何做到这一点。

您需要什么?

您只需要基于RHEL的Linux发行版(比如AlmaLinux、Rocky Linux或Fedora Linux)的运行中实例。您甚至不需要拥有sudo权限的用户帐户(只需普通用户)。

您需要知道要查找哪个 CVE。我更喜欢前往mitre.org上CVE列表的官方主页。可以基于软件包快速搜索,查看有关联CVE的软件包的完整列表。

准备好该操作系统和CVE后,就可以检查漏洞了。

如何运行CVE检查?

CVE检查很简单。我们要将changelog(变更日志)输出从rpm命令管道传送(pipe)到grep命令,以列出任何可能的CVE。该命令的语法如下:

  1. rpm -q --changelog PACKAGE | grep CVE 

其中PACKAGE是要检查的已安装软件的名称,CVE是相关CVE的全名。在我们做这步之前,不妨看一下OpenSSH软件包的非管道输出。执行命令:

  1. rpm -q --changelog openssh 

输出应该是openssh变更日志的完整列表(见图 A)。

图A. Alma Linux上安装的openssh版本的整个更新日志

您可以滚动浏览整个列表以寻找所找的那个CVE,也可以通过grep将其管道传送,并让该命令处理繁重任务。假设您在寻找CVE-2020-14145,它被描述为:

在OpenSSH 7.9中,由于接受和显示来自服务器的任意stderr输出,恶意服务器(或中间人攻击者)可以操纵客户端输出,比如使用ANSI控制代码来隐藏传输中的额外文件。

要检查该漏洞,命令将如下:

  1. rpm -q --changelog openssh | grep CVE-2020-14145 

如果您在输出中看到任何内容,表示已针对该漏洞为openssh打上了补丁(见图 B)。

图B.已在AlmaLinux 中针对CVE-2020-14145对OpenSSH打上了补丁

如果您在输出中没有看到任何内容,表示openssh尚未打补丁,您应该立即升级。只要openssh的开发人员修补了源代码,并添加到发行版代码存储库中,升级应该可以解决问题。

要升级有问题的软件包,执行命令(确实需要sudo权限):

  1. sudo dnf PACKAGE 

其中PACKAGE是有问题的软件。升级完成后,再次运行CVE检查以查看软件包是否已针对该漏洞打上了补丁。如果没有,继续返回升级版,但愿软件维护人员会尽快解决该问题。

以上就是检查您在基于RHEL的Linux发行版上安装的软件包中是否存在CVE漏洞的全部内容。

原文标题:How to check if packages in RHEL-based Linux distributions have been patched for specific CVEs,作者:Jack Wallen

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:华轩 来源: 51CTO
相关推荐

2018-08-29 11:15:50

Linux软件包命令

2021-01-06 13:03:22

UbuntuDebianLinux

2021-01-21 12:22:33

LinuxChrome谷歌

2021-10-11 14:58:24

KDELinuxLinux 发行版

2021-03-16 10:00:50

Linux桌面TeLOS

2009-10-28 17:43:12

Linux发行版

2021-06-11 06:10:25

Linux发行版操作系统

2016-09-18 10:08:38

Linux发行版SUSE Studio

2019-02-11 10:46:16

搜索Linux

2019-08-19 09:19:02

LinuxVimUbuntu

2019-08-19 11:20:33

Linux软件包命令

2020-09-26 22:17:05

Linux发行版Debian

2018-07-10 08:59:07

LinuxArch Linux软件包

2020-07-10 08:53:59

Linux软件包管理器开源

2021-10-09 11:10:25

LinuxJavaUbuntu

2020-11-11 08:00:00

Linux系统修复

2009-10-13 09:22:01

Linux发行版

2010-01-13 14:05:10

CentOS与RHEL

2022-09-15 12:33:36

Linux发行版

2018-04-17 10:00:18

Linux发行版面向企业
点赞
收藏

51CTO技术栈公众号