使用 YUM 我安装了 apache。安装的apache版本是2.2.3
我们的安全人员希望我们使用 2.2.21 apache
当我尝试 yum update 'httpd' 时没有任何反应 - 没有标记为更新的包
我检查了 Apache 主页(http://www.apache.org/dist/httpd/patches/)关于补丁。根据他们的书面说明,我尝试安装 2.2.4 补丁(http://www.apache.org/dist/httpd/patches/apply_to_2.2.4/)
patch -s < /usr/local/src/hack-msvc8-httpd-2.2.4.patch
Run Code Online (Sandbox Code Playgroud)
我收到了这样的消息:
The text leading up to this was:
|###
|### A trivial hack to copy the .manifest files along with the binaries
|### when building from the command line on Visual Studio 2005
|###
|### Courtesy of Gustavo Lopes
|### Posted to dev@httpd.apache.org,
|### Message-ID: <006901c731ae$97bec180$0201a8c0@cataphract>
|###
|--- Makefile.win.orig 2006-12-07 11:09:37.000000000 -0600
|+++ Makefile.win 2007-01-08 23:55:56.000000000 -0600
File to patch:
Run Code Online (Sandbox Code Playgroud)
我在做什么不正确?为什么我无法将 Apache 更新到 2.2.21 版本?
小智 16
为了运行 2.2.x,您需要获取另一个 RPM - 或者从源代码构建它。
但是,我怀疑由于您运行的是 2.2.3,因此您正在运行 RedHat Enterprise Linux 5 或其衍生产品之一(CentOS 5 等)。您会发现相当多的渗透测试公司或安全官员没有考虑到,当您运行 2.2.3 时,您实际上已经从 Apache 的后续修订版中获得了安全修复。
这被称为“反向移植”。RedHat 有一个很好的描述here。我建议向您的安全人员索取他们有兴趣确保已修补的特定 CVE,然后使用此redhat 工具确定这些是否已在您运行的 apache 版本中修复。您可以通过执行rpm -qa httpd.
我假设您有 RHEL5(或同等版本)。
您可以告诉安全人员,Red Hat 将 2.2.21 的相关安全更新应用到其 2.2.3 软件包,但不会更改基本版本号。它会(如果您只是通过软件包版本号)看起来像是在运行较旧的 Apache,但实际上您与 2.2.21 一样安全。这就是长期存在的企业发行版的重点:您可以获得一致性和修复。
您可以通过运行以下内容来验证这一点:
rpm -q --changelog httpd
Run Code Online (Sandbox Code Playgroud)
例如,您将在更新日志中看到这个最近的修复:
* Thu Oct 06 2011 Joe Orton <jorton@redhat.com> - 2.2.3-53.3
- add security fix for CVE-2011-3368 (#743903)
- fix regressions in byterange handling (#736593)
Run Code Online (Sandbox Code Playgroud)
如果你真的,真的需要安装2.2.21,你可以自己编译。这将有其自身的不良安全隐患:如果有人在下周发现并修复了 Apache 的新问题,Red Hat 将向后移植该修复并通过 yum 使其可用,但是您自己构建的 Apache 将没有该修复,而您必须再次完成整个过程才能构建和安装新的 Apache。
| 归档时间: |
|
| 查看次数: |
8745 次 |
| 最近记录: |