如何检查基于RHEL的Linux发行版中的软件包已针对特定的CVE打上了补丁?
【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。该命令的语法如下:
- rpm -q --changelog PACKAGE | grep CVE
其中PACKAGE是要检查的已安装软件的名称,CVE是相关CVE的全名。在我们做这步之前,不妨看一下OpenSSH软件包的非管道输出。执行命令:
- rpm -q --changelog openssh
输出应该是openssh变更日志的完整列表(见图 A)。
图A. Alma Linux上安装的openssh版本的整个更新日志
您可以滚动浏览整个列表以寻找所找的那个CVE,也可以通过grep将其管道传送,并让该命令处理繁重任务。假设您在寻找CVE-2020-14145,它被描述为:
在OpenSSH 7.9中,由于接受和显示来自服务器的任意stderr输出,恶意服务器(或中间人攻击者)可以操纵客户端输出,比如使用ANSI控制代码来隐藏传输中的额外文件。
要检查该漏洞,命令将如下:
- rpm -q --changelog openssh | grep CVE-2020-14145
如果您在输出中看到任何内容,表示已针对该漏洞为openssh打上了补丁(见图 B)。
图B.已在AlmaLinux 中针对CVE-2020-14145对OpenSSH打上了补丁
如果您在输出中没有看到任何内容,表示openssh尚未打补丁,您应该立即升级。只要openssh的开发人员修补了源代码,并添加到发行版代码存储库中,升级应该可以解决问题。
要升级有问题的软件包,执行命令(确实需要sudo权限):
- 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】
相关文章
- linux(centos)系统目录介绍
- linux(centos)vim 编辑器常用命令
- django ListView 获取 url 中的参数及根据参数使用不同的模板
- pycharm 2019.2 使用小技巧
- OpenCV 畸变矫正映射
- django require_http_methods、require_GET、require_POST、require_safe
- OpenAI 账户注册
- django 通用导航栏选中状态实现(前后端不分离)
- Compute Engine Static Ip Charge 谷歌云被扣费
- Django admin 多对多字段 过滤方法 及 保持横向显示(穿梭框)
- Django debug=False 时能找到静态文件的几种方式(静态文件找不到)
- Celery ValueError: not enough values to unpack (expected 3, got 0) 的解决方法(windows)
- 在 django generic.DetailView 里设置缓存(重写 get_object )
- Layui 字体图标
- Django CKEditor 给 a tag(标签)添加 target 默认值
- Django form 里 password1 password2 验证先后探索(注册表单)
- ThinkPHP6.0 公共函数文件
- vim 搜索字符串
- 一款小而实用的屏幕录制生成 GIF 图片的软件 LICEcap(Mac 和 Windows)
- Add a button/form/link to Django Admin(添加按钮、表单、链接到 django admin)