从 apache 网站来看,最新版本似乎为 2.4.54。
我在我的 CentOS 7 上安装了 apache,当我检查版本时,它显示安装了最新版本,但是版本号是httpd-2.4.6-97.el7.centos.5.x86_64
:
# yum changelog httpd
Failed to set locale, defaulting to C
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.interhost.net.il
* extras: centos.interhost.net.il
* updates: centos.interhost.net.il
Listing all changelogs
==================== Installed Packages ====================
httpd-2.4.6-97.el7.centos.5.x86_64 installed
* Thu Mar 24 14:00:00 2022 CentOS Sources <[email protected]> - 2.4.6-97.el7.centos.5
- Remove index.html, add centos-noindex.tar.gz
- change vstring
- change symlink for poweredby.png
- update welcome.conf with proper aliases
* Tue Mar 22 14:00:00 2022 Lubo? Uhliarik <[email protected]> - 2.4.6-97.5
- Resolves: #2065243 - CVE-2022-22720 httpd: HTTP request smuggling
vulnerability in Apache HTTP Server 2.4.52 and earlier
我收到一份报告称该网站存在安全漏洞,而这些漏洞应该在 Apache 的早期版本中得到修复,所以我不明白如果我拥有最新版本,为什么还会有这个漏洞。
有人能解释一下为什么会这样吗?
答案1
CentOS 7 于 2014 年发布,包含操作系统发布时最新版本的 Apache 2.4.6。
对于“稳定”发行版来说,通常的做法是冻结程序的版本并且在操作系统的生命周期内不更新它们,只有在操作系统中包含的版本受到影响时才反向移植安全补丁 - 这似乎就是这种情况,因为从您提供的输出来看,似乎包含一些补丁可以修复 2.4.52 版本中发现的漏洞。
因此,Apache 2.4.6 版之后引入的新功能并未包含在内,但安全补丁是最新的。这确保系统更新期间不会发生任何变化,从而导致 Apache 的工作方式与以前的版本不同,并因此导致您的 Web 应用程序停止正常工作。
同样的做法也适用于稳定版(LTS)Ubuntu 版本以及许多其他发行版。
至于有关您网站上的安全漏洞的报告,您应该获取有关报告生成方式的更多信息。也许它是由一些“愚蠢”的扫描工具生成的,这些工具只查看服务器宣传的软件版本(即 2.4.6),并且仅根据此版本号就说该网站存在漏洞,而实际上并没有检查漏洞是否存在。