2012-06-26 240 views
1

我需要使用一个Facebook应用程序,但我的网页返回响应206,而不是200, 使Facebook应用程序返回的HTTP代码500阿帕奇安全

http://developers.facebook.com/tools/debug/og/object?q=http://adserver.leadhouse.net/test/test/index.php测试,并返回206,而不是joomla.it返回200 当他们datae

我这个perl脚本测试相同的卷曲-I响应:http://pastebin.com/NCDv9eTh 和我的网页是脆弱的,而不是joomla.it好。

我认为,我的回答是 Facebook debugger : Response 206Apache Webserver security and optimization tips

,但我不知道如何改变我的Apache配置之间非常接近。 溶液是到当前页: www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2 与类似的代码:

SetEnvIf Range (,.*?){5,} bad-range=1 
    RequestHeader unset Range env=bad-range 

或 httpd.apache.org/docs/ 2.2/mod/core.html#limitrequestfieldsize

我该如何让它不易受到我的网页?

回答

0

是的,一切都开始与调试脸谱:对话框发送返回500 http代码与我的页面返回206 http代码。 而我的好奇心是专注于HTTP代码206 DoS漏洞,当我测试perl脚本http://pastebin.com/NCDv9eTh

我汇报一下Apache文档一些显著短语:

此漏洞涉及攻击“拒绝服务”。这意味着 远程攻击者在正确的情况下能够缓慢地将您的服务或服务器缓慢抓取或耗尽可用的内存来为请求提供服务,从而无法及时为合法客户端提供服务。

没有迹象表明这会导致远程利用;第三方可能会危及您的安全并获得 服务器本身的立足点。此漏洞的结果纯粹是 拒绝服务的一种方式,它会将服务器宕机并拒绝其他连接到服务器。

使LimitRequestFieldSize解决办法是不够的, 你可以修改Range参数咨询Mitigation款 关于Apache wiki文档:http://wiki.apache.org/httpd/CVE-2011-3192 返回HTTP代码之间获得开关:从206到200 你最好的Apache配置,但您仍然暴露于DoS漏洞。

我说mod_headers这一行:

RequestHeader unset Range 

,现在我的页面返回的HTTP代码200 并限制耗尽可用内存来服务请求, 我限制IP连接添加mod_limitipconn使用此代码:

MaxConnPerIP 10 
1

我不知道你在这里谈论的是什么样的“漏洞”。

表示响应状态代码206的Facebook调试器是正常 - 因为调试程序试图仅请求第一X(K)从URL字节。如果您的服务器接受这样的范围请求,并正确地回答他们,那么响应代码将是206

没有漏洞在。

如果这导致您的任何其他问题与您的网站 - 请描述他们的方式,使他们易于理解。

+0

我创建了一个web facebook应用程序来对话/发送消息,但我的网页返回响应206而不是200,以便facebook应用程序返回http代码500.我希望我的页面返回ñ反应200而不是206,因为我认为facebook应用程序应该返回200而不是500.那是正确的吗? –