| 我目前正在研究防DOS/DDOS的办法,主要是找一些思路,对占用网络带宽的DOS/DDOS攻击做一些通用的防范,以减缓DOS/DDOS的危害。写了一点东西,望大家指正。再提供一些思路给我,不胜感激。
如下是利用TTL值进行抑制的方法:
1、 针对不同范围对TTL进行统计。由于在DOS攻击中,大批的包会来源于同一台攻击主机,所以这些包到达监控点的TTL值会很接近。这个特点可以作为监控攻击的手段。
TTL的初始值通常为:32、64、128、255,通常的路由hop为10-20,所以有效的TTL值范围为:235-255、108-128、44-64、12-32。
将TTL值分为9列,为了更精确一些,可以分更多的范围:
|
范围 |
0-11
|
12-32 |
33-43
|
44-64 |
65-107
|
108-128 |
129-234
|
235-255 |
|
有效性 |
可疑
|
有效 |
可疑
|
有效 |
可疑
|
有效 |
可疑
|
有效 |
|
前20ms统计值 |
|
|
|
|
5
|
|
|
|
|
当前20ms统计值 |
|
|
|
|
200
|
|
|
|
|
结论及措施 |
|
|
|
|
有攻击嫌疑,对此范围内数据包间歇性丢弃
|
|
|
|
对各范围统计值进行监控,如可疑范围的统计值突然增大,则有攻击嫌疑,后续间断性丢弃此范围数据包;如有效范围的统计值突然增大,则结合其它方法判断是否发生了攻击,如有攻击嫌疑,对此范围内的数据包结合其它判断条件进行选择性丢弃。
2、对于各TTL区间进行包协议统计。
协议可大致分为四类:tcp, udp, icmp, other。在统计TTL值的同时,统计各协议半连接数。如某一协议的半连接数明显多于其它协议,则此类协议有攻击嫌疑。
3、对各TTL区间进行源IP统计。
为节省空间,可将IP分为4段,单独统计。源IP的统计也与TTL值和协议统计保持同步。实时选出各IP段半连接最多的几个IP。这几个IP有攻击的嫌疑,作为包丢弃的依据。
4、每隔一定间隔,先检查各TTL范围,如可疑TTL范围内半连接数突然增大,则在后续一定时间内对此TTL范围内的进行丢弃;如正常TTL范围内半连接数突然增大,则看此TTL范围内有没有某个协议半连接数远远多于其它协议,同时看此TTL范围内有没有某些IP半连接数远远多于其它IP,如存在这种现象,则可能发生了 DOS/DDOS攻击,则进入丢包状态,在一定时间内,对此TTL范围内的此类协议,此类IP或网段进行丢包。
注:以上处理都针对半连接,这样能有效的抑制攻击而不影响正常流量。
PS:这样对流量攻击应该是有效的,不过对服务器的性能有很高的要求,如果服务器都处理不过来,一些都没有什么用了。 ----IFriend 【转自世纪安全网 http://www.21safe.com】
|