我有一个完全补丁的CentOS 5.5服务器,Trustwave PCI符合性扫描失败。 它抱怨的项目是openssl <0.9.8.o.
rpm -q openssl显示:openssl-0.9.8e-12.el5_5.7
apache header banner显示:Server:Apache / 1.3.41(Unix)PHP / 5.2.14 mod_psoft_traffic / 0.2 mod_ssl / 2.8.31 OpenSSL / 0.9.8b mod_macro / 1.1.2
(注意:apache横幅甚至没有显示安装的版本)
openssh和php也有类似的情况(报告的版本低于PCI合规性的最低要求)。
我是否需要从源代码构build所有这些库以获取最新版本的库? 还是有办法告诉CentOS yum安装新版本,而不是他们的后端端口补丁版本? 如果可能的话,我宁愿不去百胜,以便将来的维护工作得到简化
所有PCI扫描都会根据头文件进行版本检查,然后他们会抱怨你已经有三十多个问题。 他们没有考虑到的是安全修复程序被反向移植到RHEL软件包。 只要你运行最新的软件包,你应该没问题。 扫描失败后您必须做的事情是打开一张票来对比结果。 那么你必须显示真正安装的版本
rpm -q httpd
然后你必须通过rpm changlog来查找他们提到的每个CVE实例。
rpm -q --changelog httpd
你在哪里find这样的事情:
* Thu Dec 03 2009 Joe Orton <[email protected]> - 2.2.14-1 - add partial security fix for CVE-2009-3555 (#533125)
最后你应该链接到Redhat站点上的相关链接,以显示它已经被解决,因为在PCI扫描端没有人真的要看RPM。
https://www.redhat.com/security/data/cve/CVE-2009-3555.html
你可能会来回几次,最后如果你真的更新,你会得到一个干净的健康法案。 完成之后,请确保将所有支持文档放在wiki上,因为PCI扫描将在每个季度左右重置,并删除您提供的任何信息,您需要重新执行此操作。
反向移植修复似乎是许多发行版的首选路线。 这不是一个解决scheme,但您应该通过在httpd.conf中设置“ServerTokens Prod”和“ServerSignature Off”来禁止服务器身份。
我可能会说这个说法是有争议的,但是我不认为把这个横幅广告看成是一个漏洞扫描,因为这往往会导致很多误报。 我认为扫描器实际上应该试图查看特定版本的库的已知漏洞是否确实存在,而不是做出简单的假设。 在某些情况下,他们确实做了一些努力来查看是否存在漏洞。 一个例子是扫描的ssl密码和协议部分。
当然,压制服务器身份时遇到的问题是,以前报告的许多漏洞都不再报告,而pipe理员也有可能在修补任务时出现松懈的风险。 然而,这是一个悖论,因为当没有将ServerTokens设置为Prod时,其他types的漏洞扫描会抱怨信息泄漏问题。
你应该从源代码编译所有东西,本质上是创build你自己的定制apache发行版,但是随着更新频率的提高,你将会频繁地编译新的版本,而不是每个人都有时间来做这个。
这不是你的问题的答案,但我怀疑Apache报告的是它被编译的openssl的版本,而不是它实际使用的版本。 在Fedora上更清晰:
[Fri May 13 03:45:05 2011] [info] mod_ssl/2.2.17 compiled against Server: Apache/2.2.17, Library: OpenSSL/1.0.0a-fips [Fri May 13 03:45:05 2011] [notice] Apache/2.2.17 (Unix) DAV/2 PHP/5.3.6 mod_ssl/2.2.17 OpenSSL/1.0.0d-fips configured -- resuming normal operations $ rpm -q openssl.x86_64 openssl-1.0.0d-1.fc14.x86_64