BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

“Apache杀手”一种利用Range HTTP头域的DDoS

| 作者 Jean-Jacques Dubray 关注 3 他的粉丝 ,译者 黎伟 关注 0 他的粉丝 发布于 2011年9月23日. 估计阅读时间: 2 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

2007年,Google工程师Michael Zalewski在研究了HTTP/1.1 Range头域的实现后,发表了一篇备忘,详细说明了Apache和IIS网页服务器中存在的一个潜在漏洞。

在我印象中,一个单独的、短的请求就可用来诱使服务器无目的地地发出数以GB的伪数据,而不顾服务器文件大小、连接数以及管理员设定的持续(keep-alive)请求数的限制。

8月19号,“Full Disclosure”安全邮件列表中发布了一段Apache DDoS工具原型的Perl脚本。8月24号,Apache安全小组就此发表了一篇备忘进行解释

它最常见地表现在静态内容生成且通过mod_deflate模块进行压缩的时候,但其它在内存中缓存或生成内容的模块也可能会受到影响。这是一种非常普遍(缺省的,不是么?)的配置方式。

攻击可以远程进行,并且中等数量的请求就会导致内存和CPU占用率显著提高。

我们注意到该工具已经得到越来越多的应用。

目前还没有修复该漏洞的补丁和新版本的apache,因此本公告将在长期修复补丁发布时更新。修复补丁预计将在接下来的96小时内发布。

星期五,Apache发布了第二则公告,其中他们解释了当服务器处理请求以返回多个(重叠的)范围时,Apache httpd进程和它所谓的内部“桶队列(bucket brigades)”是如何按照请求的顺序进行处理的。单个请求可以请求非常大的范围(例如从字节0到结尾),差距达到100倍。目前,这种类型的请求内部会扩展相当于100次大型的取指令操作,所有这些都以低效率的方式保存在内存中。

处理方式有两种,要么使事情更有效率,要么清除或者简化被认为过于笨重的请求。在最终修复方案出来前有几种直接选择可缓解这一状况。

Apache提出的缓解措施包括从完全禁止Range头域到限制请求包的大小及部署定制的Range计数模块。Lori MacVittie详细说明了如何通过使用Big-IP来实现缓解措施

查看英文原文"Apache Killer" a DDoS using the Range HTTP Header

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT