Apache HTTP Web服务器保持安全的秘诀是什么?(1)


Apache HTTP服务器是世界上最常见的Web服务器软件,这点是明摆着的。据最近一项调查显示,全世界运行Apache HTTP的网站数量超过4.2亿个。鉴于数字如此惊人,我们自然很好奇地想了解Apache背后的更多详情。

我们Pingdom网站的人员都是Apache HTTP Web服务器的拥趸,因为我们用它来运行我们的主网站Pingdom.com。所以我们逮住机会、兴致勃勃地采访William A. Rowe Jr.也就不足为奇了,前不久他还在完全志愿者组成的Apache软件基金会担任HTTP服务器项目副总裁一职。他在近12年一直效力于Apache软件基金会,担任过不同岗位,包括2007年至2009年任职基金会董事。

一种错误的想法:开源不大安全

首先,我们向Bill(注:William的昵称)抛出了人们通常所持的这个想法:由于在Apache HTTP服务器等开源项目中,源代码向公众开放,所以这意味着开源不大安全。这种观点认为,实际上,谁要是想钻运行开源软件的系统的空子,只要查看代码,就能弄清楚如何闯入进去。另一方面,闭源软件天生要来得更安全,因为代码不是谁都可以随随便便查看的。

Bill答复:“很显然,这是一种错误的认识。”

他继续说:“公开披露自己的部分源代码,这其实是像微软这些闭源产品开发公司最不担心的。它们更加担心的是有人用间谍手段刺探源代码,或者通过渗透测试发现软件缺陷(bug);这种情况下,它们不知道自己的源代码在接受审查。”

他解释,如今,针对软件的安全审查在很大程度上实现了自动化。Bill说:“谁都可以进行这样的审查;由于审查是自动化的,所以可以重现。”

Apache HTTP服务器用户社区经常被邀请进行这样的审查,自动扫描代码,一旦发现了异常,就提醒相应的项目组。发现的异常有可能是明确的安全漏洞,也可能不是明确的安全漏洞,但是应予以关注,因为它可能会成为一个明确的安全漏洞。

Bill的观点是,黑客针对二进制代码做这样的事不是重大问题,无论二进制代码是用闭源代码编写的,还是用开源代码编写的。他表示,简而言之,坏人在继续捣鼓闭源产品,正如他们在以同样的手法捣鼓开源产品。

针对逆向工程和反编译等方面的牢骚在安全领域其实算不得什么。

他补充说:“针对逆向工程和反编译等方面的牢骚在安全领域其实算不得什么;实际上,对研究安全人员来说只会适得其反。安全研究人员在努力化解问题。要是没有源代码,也就缺乏必要的透明度了,那样他们无法搞清楚可以采取什么化解措施,一开始就避免问题,或者无法搞清楚他们已经发现的漏洞有什么样的实际影响。”

你可能会认为,Bill为其中一个比较知名的开源软件项目工作了这么久,其立场肯定会偏袒一方。别犯想当然的毛病,那样很容易摈弃他的观点。