`
lokki
  • 浏览: 59028 次
  • 来自: ...
社区版块
存档分类
最新评论

互联网公司防御DDOS的技术选型漫谈

阅读更多
有朋友让我给他选个硬件防火墙买,研究了几小时得出了结果:

先说结论,结论很简单:
只能用iptables在IP层防简单DDOS,只能用mod_security或其它自开发mod断开DDOS的http请求(这些DDOS请求会消耗CPU和数据库)。

细节点:(以下都是针对防高级笨贼和防技术不足/后备资源不足的DDOS来说的。非笨贼的DDOS,只有堆很多机器和扩大入口带宽才有终极方案)

mod层次DDOS请求,在单机的“深入分析指纹方面”,只能做http header这步,“只能”的意思是,你做多了或许会搞死自己,让自己搞死自己也是DDOS的攻击效果之一。
http body这步不能深入,只能切断body过大的。而body指纹分析方面,只能做到文件上传分析型,分析文件开头数据,分析DDOS是不是每次都上传同一份文件。

做得比较好的mod_ddos,只能是集群模式分析和集群模式控制的mod。
支持集群模式攻击数据收集和分析,你没“InMemory KeyValue”的支持,是不够智能和自动化的。

以下都是这结论的来由说明:

虚拟主机要防御的有两大方面:(1)防御host内部执行安全; (2)防御进入连接。
这两方面我都有经验,(1)中比如php方面有部分简单的执行安全限制,现在只说这(2)。

我的安全知识/理论还行,但上次做专业安全已是01年在一家专业安全公司做主程时。
国内安全专家我是推崇绿盟科技的那帮人,比如袁哥。
安全研究的一个工作举例:打开执行二进制文件或它的内存影像,看它有哪些执行strcat这函数的,然后跟踪它的上文下文,看有没边界检查,没有,就再跟踪得距离远些的来源去向。这或许能找出些缓冲区溢出的漏洞。这漏洞研究、scanner中有这个工作模式。只有在做scanner工作的基础上,才有IDS/IPS的工作。
我只在安全行业做了一年就离开了,因为我不喜欢搞破坏、矛和盾的斗争,喜欢建设。
离开安全行业后我也管理过几年12台电信机房linux/win服务器。

防范进入连接两大方面:(1)防御漏洞利用和扫描; (2)防御dos/ddos攻击。
(1)中需结合软件及时更新/配置没漏洞/开发没漏洞等具体东西,这次只说(2)。

防御dos/ddos攻击,可以说有两层次:
(1)IP协议层; (2)应用层(第七层)。

这“两层次”是从现实看来的,而不是从理论来说的,而是从市场上存活的技术方案/模式/产品,如果市场不能存活/触及,那你从TCP/IP理论/socket来说这样的防御能做那样的防御也能做,真去做时从技术和生活费上是搞不来的。
以下也会有些说明为什么一些理论可以做,但在市场上没有出现相关产品。

IP层现有价格2w以下的产品,一般只有简单防火墙功能和“有些还可以的功能”,那些不适合的市场搭售功能,是不说的。
比如这里只说“防御进入连接”,而不是防止内部乱上网、发出垃圾邮件和VPN等,但市场上大多数便宜产品都搭售这些功能,这些产品有的叫“路由器带防火墙功能”,有的叫“防火墙带路由功能”。
这两个其实是一样的,即他们形成了一个固定市场产品模式:在IP层做简单防御(进入方向),然后在第七层带备从内部出去连接的阻止,
即这个固定产品模式可称之为“部门office内防火墙”
而不是有的人真正想要的处在第七层的“WebServer防火墙”或电信机房安全产品。
“防火墙”这名词,在普通人看来就是个能防御很多的东西,但做安全技术的人觉得“防火墙”这词已经被市场上的这些产品俗化了,
所以真正的“WebServer防火墙”已经被叫为“IPS(Intrusion Prevention System,入侵防御系统)”
所以你要搜索和查找报价时,最好从IPS这个思路上查找。最便宜的IPS产品价格大概是8w。
而天价的DDOS设备,是叫“流量清洗”。

个人看来,IP层防火墙都是属于简单防火墙,而不是IPS。
IP层防火墙功能,举例有:
以TP-Link路由器TL-ER6120 (京东上都有卖的,价格不过1500),
华为3com防火墙H3C SecPath F100-A,价格约1w4。

为什么从这两家/两个商品来说? 因为这专业的东西看销售介绍是绝对不对,而是真正操作,但一般不能真正触及去操作的,这时看他最终提供给用户的技术操作手册。
而TP-Link和H3C的官网和从官网体现出来的支持是最好的,网站简单清晰而美观,普通浏览者可以直接查看/下载到最终拿到手的技术手册。

IP层的防御,就是十几种(便宜的)或几十种(价格高点的)IP层特征防御。
IP层的“进入连接防御”为什么不能做到理论的高级功能:(1)因为这些设备的内存少,只有128m不超过256m,而做到假想的高级功能是要留存TCP三路握手后的socket内传输的至少1k数据,因为第七层最少要分析http headers,而对于WebServer这业务来说,并发数高的,要保留足够并发数的状态数据,这内存是不够的。

(2)即使给它加大内存吧,那WebServer防火墙是让http header完事了再通到后边webserver去,还是一边先让它流到后边去,一边自己又留存来进行检测? 这在IPS或叫中转/直连和旁路,前者会拖慢了速度、开发难度高,而且很容易被入侵伪装得header的速度很慢,
让防火墙自己就被这搞挂了,DDOS这个防火墙就行,这难度高,所以IPS设备贵。

这东西,还会拖慢进入我webserver的连接? 所以也是难度高和客户有怨言的活,所以不贵不行。客户有怨言还买这东西,那所以他必须要这东西,或者有钱多,不贵不行。

因为互联网大公司,都是对速度和成本有要求的,并且一台IPS只能对应一台webserver,海量的webserver怎么搞得来?
所以互联网业务公司,都不买IPS,那只有政府客户政府工程买,不贵不行。
互联网大公司,网关设备只买路由器,然后IPS这些第七层防御DDOS的东西,是自己开发apache模块或用mod_security,将防御所需运算力分散到上百上千台webserver的apache里去。

(3)如果用旁路模式,让http header先过去,但发现有问题时再切断socket吧,那说明后端webserver已对连接处理业务了,你再切断,业务风险很大,买这么贵的IPS都是政府和金融客户,即使开发成本高的贵设备,客户都可能会说你误判或存在误判可能,容易和这些客户有纠纷,这些客户怎么能得罪? 这么麻烦,不贵不行。

以上(1)(2)(3)点,只有第七层的贵IPS能做,所以即使内存多便宜,IP层防火墙只是把内存搞大,也没人买你的,所以还是乖乖把内存搞回128m,把价格降为几百块,搭售VPN功能说不定能扩销路。

为什么这些便宜产品还能做第七层的url和简单内容检测?因为这些检测都是防范内部访问外部的,内部并发连接不多的,内部出到外部带宽不大的,搭多个功能好卖点。

所以安全产品市场形成这么固定功能的模式,都是由技术、成本决定的,不是理论决定的。

在这两产品中:TP-Link和H3C SecPath F100-A。
F100-A 贵点,“有些还可以的功能”是指它的“TCP代理”。而他的“ASPF功能”或许还是作为“部门office防火墙”防止内部发起连接的。如果它的“IP地址黑名单”也是对外的,也是有用功能,不断地手动加入黑名单呗。

IP层DDOS防御,能在iptables上做,但毕竟iptables和同一webserver机器共享同一个运算力,而前置的防火墙能让webserver独立运行得更快点。
而面对笨贼和现成的DDOS程序,“TCP代理”或许是有用功能。
而面对第七层高级笨贼,前置防火墙则没多大用处。几台webserver的互联网公司,前置几台只能防低级笨贼的1w4防火墙,成本都有点贵。

再说一下H3C的产品和F100-A / F100-M的细节:贵的产品,或许贵在性能高点,但功能,你还得看他的技术手册和他配备给你的软件版本,我看到价钱不同的F100-M 和F100-A,都是指向相同版本的说明手册。

互联网公司消费不起一配一的IPS,政府和金融客户配这个IPS,而从IPS这产品,举华为3com的H3C SecPath T200-S来说吧,价格8w以上。
有第七层的分析功能,但你最好要确定它也有很丰富的分析脚本输入和切断脚本输入功能。同时,它的全部功能也不是仅仅面向DDOS开发的,互联网公司其实只需要DDOS智能检测和自动切断功能(或许这就是天价的流量清洗功能)。它还有很多漏洞检测、病毒特征库功能,它的大客户或许需要这些功能。所以它把成本花在别的方面了,不贵不行。

互联网公司们,还是老老实实用好iptables、mod_security和其它mod吧。
或者花1w4买台好点的IP层部门office防火墙放在一边,但发现第一波DOS是这个层次时,才去机房接好防火墙网线,然后继续观察日志分析特征,并练好快速操作技巧,等待第二波DDOS吧。

而win机器,你看着办吧,有方案的,而你可能的方案是安装个山寨防火墙软件,然后山寨防火墙软件在win上安装个专业后门。
这世界没免费又简单的东西,linux是个免费而复杂的东西,在个人看来他是个好的东西。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics