xxxxx
ddos攻击有很多种 其目的无非是想造成 某种资源耗尽 造成正常服务无法继续
我不知 尔所指的MAC地址池 是否是说arp高速缓存(也就是ip地址到以太网地址的映射表) 也不排除这个表被填满存在拒绝服务的可能
但mac是以太网的东西 xx 你说的ddos是从以太网发起的?
所有到的攻击包 其最后的以太网原地址应该为 最后一站以太网路由的地址
大多数拒绝服务 是因以下原因造成的
网络带宽耗尽 (这个不多讲了)
操作系统限定的某种资源被用尽 (这个是系统内核级的资源)
以bsd为例 mbuf(伯克利网络储存缓冲) 或者pcb(协议控制块) 耗尽都会造成拒绝服务
还有就是因为应用层的程序需要消耗大量资源 导致cpu或者内存无法负载
比方说 某个cgi(包括asp php 等...)程序 被反复多人次的访问
至于防范办法我也不一一详述 但是既然qtqt(linux 我是这样防护了Ddos的,请精华 作者)这xx提到 syn cookies syn proxy 想必 他所说的 是就 syn flood 所说的...
我再提一下syn flood 这是当今网上最流行的一种dos手段 之所以流行 是因为它可以 以小博大 且防范较为困难
之所以可以以小搏大 因为其攻击原理 是造成服务器 大量tcp 连接处于半开状态 pcb 协议控制块分配后 释放不掉 导致pcb资源枯竭 正常服务无法进行
防范较为困难 因为服务器收到的 所有synflood攻击数据包 无真实ip 所以传统防火墙 无法对其进行有效防范
依我个人观点syn proxy 是针对 各种synflood 及其变种最为通用的 一种防范手段
我所指的syn proxy 并不是 特指 openbsd 的syn proxy ( 老实说openbsd的syn proxy 够糟的了) 而是指的 这种办法 原理上可行 (具体技术参考http://cr.yp.to/syncookies.html 其实syn cookies syn proxy 原理上是接近的)
缺点是 开销比较大 特别是网络带宽 消耗比较大 比方说有10m的虚假syn syn proxy 就要回应10m的syn ack
市面上的优秀代表商业产品是 众达天网
还有一些syn flood 的 防范技术 我也介绍一下 比方说 特征过滤技术 和 利用超时重传机制 识别 syn flood ( 带宽限制 和 随即丢弃 我不把它算作防范技术 因为挺白痴的 但这被 netscreen 和ipx普遍采用 )
过滤技术 就是针对 特定syn 攻击 软件 发出的 虚假syn 数据包的 某种特征 (这种特征是相对于 合法正常syn包 所说的) 或者发送数据包的某种规律 对其进行过滤
这种技术的优点是 开销最小
缺点是 可能误杀正常连接为代价 而且并不是所有syn flood攻击都有特征
优秀代表产品是 绿盟黑洞( 据说黑洞用了很多种办法 绝对不止过滤技术这一种 这里之所以说到 黑洞 是因为他过滤做得不错 )
最后介绍一下 利用超时重传机制 辨别真假连接的办法
防火墙收到 任何地址任何端口 发来的 第一次syn 请求 都将端口、地址和接收时间纪录并将这个syn 数据包丢弃 特定时间内 防火墙 再次收到这个地址发来的端口一致并且未超时的数据包 那么就将其转发给 服务器 并认为这次连接是真实的
这种防范技术的 优点是 实现简单 代价和效果较为折中
缺点是 很容易针对这种防范机制 设计新的 攻击软件
优秀代表作品是 金盾
我就扯 这么多了 本文是即兴而灌 错误漏洞 难免 你可以骂我 不过要指出原因 还有恳请 顺便 debug
[color=red]我是管理员。首先向大家道歉,因为最近很忙,很少上来。这篇帖子除了里面被我xx的地方,是个很好的帖子。我不删除,但是做了些修改。希望大家还是讨论技术。口头禅可以暂时不用。谢谢大家。[/color]
cnadl 回复于:2005-04-01 08:55:48
:)攻击arp表的DDOS的确比较少见。
攻击DHCP还是有的。
nbest 回复于:2005-04-01 17:16:33
写的很好。
JohnBull 回复于:2005-04-01 21:43:05
广告帖!
herk 回复于:2005-04-01 22:52:04
我们公司截获的主要是teardrop,而且主要日本的IP发过来的。个人认为防范SYN最好还是通过缩短连接超时时间的方法。
另,听说绿盟的黑洞挺差的。
双眼皮的猪 回复于:2005-04-03 12:50:57
缩短连接超时时间.网速慢的就不用连接了.
同意JohnBull老大的看法.
cnadl 回复于:2005-04-03 14:29:33
引用:原帖由 "双眼皮的猪" 发表: 缩短连接超时时间.网速慢的就不用连接了.
同意JohnBull老大的看法.
那也是没办法的事情,关键在于缺省时间实在太长了。
zjzf_1 回复于:2005-04-03 15:23:14
我自己的确在做 抗拒绝服务的 硬件产品
但是 我不是 绿、金、天 的 我分析过他们的产品 因为我觉得他们有代表性
如果 我实在帮他们做广告 我被车撞死
反之 JohnBull 双眼皮的猪 应该感觉自己用嘴随地大便 觉得你们真他妈的恶心
理想的抗syn flood 产品 应该是不改变网络拓扑的 不需要在受保护服务器进行任何设置的
"个人认为防范SYN最好还是通过缩短连接超时时间的方法" 我不介意你这样认为 不过这种办法 真是糟透了
希望来个稍微专业点的 兄弟说两句 我知道很多兄台是搞系统安全的 要不然网络安全这块也不会业余到这种地步
herk 回复于:2005-04-03 16:30:39
“理想的抗syn flood 产品 应该是不改变网络拓扑的 不需要在受保护服务器进行任何设置的 ” 有的时候,如果做一些改动可以带来更好的安全效果,又不影响性能,也是不错的选择。
如果电子商务网站选择安全产品,带宽、错误拒绝这些都是很重要的决定因素。感觉现在还没有什么好的工具可以防范DDOS攻击。只好用土办法了。
另,超时重传机制这种方法对付DOS可能还好些,对付DDOS,恐怕不行。
最后,我想JohnBull,双眼皮的猪都没啥恶意,玩笑话,兄弟不用这么介意。
呵呵!
cnadl 回复于:2005-04-03 20:25:59
引用:原帖由 "herk" 发表: “理想的抗syn flood 产品 应该是不改变网络拓扑的 不需要在受保护服务器进行任何设置的 ” 有的时候,如果做一些改动可以带来更好的安全效果,又不影响性能,也是不错的选择。
我觉得这句话本身就代表着只能通过旁路检测特征识别的方法来实施网络设备上anti syn flood。
个人观点:这个基本是不可能的,如果这不是给我们下圈,那么就是思维走进了死胡同。
herk 回复于:2005-04-03 21:07:32
呵呵!我说的只是针对zjzf_1说的这个。
引用:原帖由 "zjzf_1"]理想的抗syn flood 产品 应该是不改变网络拓扑的 不需要在受保护服务器进行任何设置的 发表:
而且修改超时时间就是对OS(网络设备或服务器)的默认配置的修改。没表达清楚,不好意思。
另外,技术是不断进步的,如果当前的网络拓扑或服务器配置存在严重的安全隐患,进行改变相对于购买相关的安全产品有时是更好的选择。安全产品只是用来解决安全问题的一种方法,并不是绝对的。
zjzf_1 回复于:2005-04-04 10:22:25
我上面介绍的防范办法 也可以在主机上实现的
在主机上实现的主要缺点是 增加主机开销
特别是游戏服务器 绝对忍受不了的
zjzf_1 回复于:2005-04-04 10:31:31
如果 大家感兴趣的话 我可以 组织一次 测试 :)
双眼皮的猪 回复于:2005-04-04 13:19:32
引用:原帖由 "zjzf_1" 发表: 我自己的确在做 抗拒绝服务的 硬件产品
但是 我不是 绿、金、天 的 我分析过他们的产品 因为我觉得他们有代表性
如果 我实在帮他们做广告 我被车撞死
反之 JohnBull 双眼皮的猪 应该感觉自己用嘴随地大便 觉?.........
我真的不想争论...
如果说你在研究,那么我们只讨论技术就可以了
你这说话太难听了~我个人是喜欢讨论技术~但是带上牌子~就怎么着觉得有点不舒服~
如果有说错的地方~我这里给你陪个不是了:)
双眼皮的猪 回复于:2005-04-04 13:40:34
快点组织个测试吧~我个人认为Dos吧~要看该种Dos或者DDos造成什么后果~咱们反推...
譬如syn-flood,造成系统崩溃,那么就考虑对系统做些优化.减少超时时间,增大backlog等...如果早成带宽堵住.就没有办法.(我的想法里没有办法),而外面可以加上nids,或者用一个堡垒主机(相当与fw,我自己喜欢自己custom),来做tcp的握手操作.如果合法则转发给后面的server pool,如果非法则丢弃.
syn-flood主要还是造成主机不能正常处理合法请求,用不了什么带宽。
希望大家多多讨论.偶尔有摩擦,不要介意...看来楼主的设备是基于bsd的:)
那么请问楼主~贵设备如何对待DrDoS?
JohnBull 回复于:2005-04-04 15:04:23
引用:原帖由 "zjzf_1" 发表: 我自己的确在做 抗拒绝服务的 硬件产品
但是 我不是 绿、金、天 的 我分析过他们的产品 因为我觉得他们有代表性
如果 我实在帮他们做广告 我被车撞死
反之 JohnBull 双眼皮的猪 应该感觉自己用嘴随地大便 觉..........
一个玩笑就让这个人这么大反应???更坚定了我的看法!
另:与其分析那些没用的东西,不如去分析TCP原理。
zjzf_1 回复于:2005-04-04 16:17:29
另:与其分析那些没用的东西,不如去分析TCP原理。
在bsd 下的实现 看过n遍了:)
cnadl 回复于:2005-04-04 19:23:18
引用:原帖由 "双眼皮的猪" 发表: 快点组织个测试吧~我个人认为Dos吧~要看该种Dos或者DDos造成什么后果~咱们反推...
譬如syn-flood,造成系统崩溃,那么就考虑对系统做些优化.减少超时时间,增大backlog等...如果早成带宽堵住.就没有办法.(我的想法里没..........
这个偶算过,如果能堵住一条100M的链路,估计遭受的攻击能瘫掉地球处理器——假如地球处理器接受tcp的话
hitma 回复于:2005-04-04 23:49:40
引用:原帖由 "zjzf_1" 发表: 另:与其分析那些没用的东西,不如去分析TCP原理。
在bsd 下的实现 看过n遍了:)
那你应该有空去看一下网络道德和语言文明的东西了。
bend 回复于:2005-04-18 12:13:58
zjzf_1 写到:
理想的抗syn flood 产品 应该是不改变网络拓扑的 不需要在受保护服务器进行任何设置的
我觉得国内的黑洞,是用透明方式的,并不一定代表以后一定要用黑洞这种方式。
个人认为dos,最根本的还是tcp协议的不足,不如从tcp协议出发。
呵呵,只是说说罢了,这个工程是很大的:)
nsqian 回复于:2005-04-19 17:22:58
前一段时间也研究过syn dos的防御实现,得出了两个方法:
方法一:就是前面也有人提到的很不屑一顾的方法,即丢弃第一个syn请求数据包,等待重传,并缩短默认的维护时间,其缺点就是可能会遭到特意实现的攻击。
方法二:TCP协议实现时还有一些交互手段,如没有进行连接建立就发RST包,则系统会忽略,而如果服务器响应数据包为非正常的ACK+1则,客户端会回应RST包,并再次重发SYN请求。基于这两点可以实现另一种更安全的防御机制,那就是收到客户请求的SYN后,先响应一个非正常的ACK+1数据包,并做记录,随后如果是正常的TCP连接请求,那么会回应一个RST包,接获此数据包后才真正确认连接的正确身份。重传时间过后,TCP客户端会再次发送SYN,此时允许通过。当然,如果是攻击包,那就等待超时后删除状态记录即可。
上述二法都有同样的缺点,就是有延迟,,,不过,在攻击发生的情况下有这么点延迟应该是可以理解的啊,嘿嘿。因为攻击没有发生时是不会做上述操作的。
zjzf_1 回复于:2005-04-21 09:54:56
nsqian的发言还有点沾边 不过你看看syn cookies的原理 会比你的二种方法好一点
kevert 回复于:2005-04-24 16:49:27
呵呵
不是还有一个叫做慢速洪水攻击的嘛
不知道算不算呢
nsqian 回复于:2005-04-26 12:23:55
我没有很详细的去分析syn cookies,不过,我目前得到的答案syn cookies只适用于自身的防御,而我所阐述的两种方法是一种透明网关解决方案,可以无缝接入网络,无需要任何设置,即可工作!
对于syn cookies我若理解的不对,还请兄台斧正啊.
xyzzy 回复于:2005-04-27 14:48:08
只要你的响应代价超过伪造包的生成代价,该响应方式就是不可能真正能防DOS的,从这个基础上说TCP就是不可能防止DOS的,那些所谓特征过滤、重复发包等防御方式只因为攻击程序太蠢,发的包太傻!
xie_minix 回复于:2005-04-27 16:23:01
就zjzf_1 在syn flood方面的研究, 我是知道的.他的其他核心技术我不大清楚.但在这方面是非常棒的.其对HASH的一些自己的算法还是比较有效.在效率方面不会比天网的差.对他所写的代码也了解部分.核心思想是非常不错.就说怎么多.
另外: 在讨论这个技术的时候,最好要参考(了解)一些相关的源代码.要不然会没说服力.
zjzf_1 回复于:2005-04-28 15:12:22
xie_minix 谢老师又帮我捧场了 多谢老师!!!
qintel 回复于:2006-04-09 21:43:08
引用:所有到的攻击包 其最后的以太网原地址应该为 最后一站以太网路由的地址
怀疑,本人学得不好,包到达目的时源地址会被经过的路由器换为Route的地址????
源MAC地址会在网络行进过程中被逐段替换,而IP地址是始终不变的,除非经过代理服务器或者 NAT设备.
[ 本帖最后由 qintel 于 2006-4-10 15:34 编辑 ]
colddawn 回复于:2006-04-10 09:27:40
引用:原帖由 qintel 于 2006-4-9 21:43 发表
怀疑,本人学得不好,包到达目的时源地址会被经过的路由器换为Route的地址????
说的是mac地址,他这个说法绝对正确,你确实没学好,没必要挖坟了。
|