论坛风格切换切换到宽版
  • 940阅读
  • 9回复

[问题求助]讨论半连接的问题 [复制链接]

上一主题 下一主题
离线evasyy.
 
发帖
2023
C币
-60854
威望
372
贡献值
1
银元
0
铜钱
4499
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
大.家知道,我们的系统会花费一定的资源去维护网络中的半连接,所谓半连接也就是还没完全建.立连.接的会话(tcp完全建立连接需要完成三次握手),当有人恶意攻击的时候,他就会伪造这样的半连接,从而消耗我们的.网络资源,以达到攻击的目的,现在我看到业界里面已经有针对这种情况做了防范。          婚庆
做法是:当看.到半连接的会话达.到一定的阀值的时候就去删除它,以恢复到一个安全可接受的数量。服务器
这边想和大家.讨论的是:1. 怎么去判断当前网络系统中的半连接数量和建立半连接的速.度。<性病>
     .         .        2. 怎么去删除现有的半连接数量以及去限制建立半连接建立的速度。教育
希望有这方面经验的兄弟跟下贴,好好研究这个方面的问题,因为..我发现这个方面的动作资料还是比较少!虚拟主机
非常感谢!

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线xdlyly.
发帖
2058
C币
-139587
威望
385
贡献值
1
银元
0
铜钱
4510
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
这种方法我认为不能够做到防御半连接的攻击。下面是我个人的分析:

假设一个系统最多之允许5个半连接,假设阈值设置为4个,这样当有4个恶意的攻击进来的时候,因为刚好达到阈值,这4个半连接没有被删除,假设此时来了第5个半连接,因为超过了阈值,这个时候可以这样做 1),删除新进来的连接,但是如果这个连接是合法的,那么同样达到了拒绝服务攻击。2)删除原来4个连接中的一个,但是该删除那一个呢?如果这4个中也有合法的连接,是不是也同样达到了拒绝服务的效果呢?

上面仅仅是我对LZ的方法的理解,如果不对或者有相关的资料还请LZ指教。

我个人认为的方法:
1、缩短半连接的超时数。
2、扩大可允许的半连接上限。
3、采用syn cookies等类似的技术,来限制实际到达服务器的连接数目。

离线jiji134.
发帖
2135
C币
-236194
威望
372
贡献值
1
银元
-3
铜钱
4705
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13


QUOTE:原帖由 ssffzz1 于 2008-1-15 10:21 发表
这种方法我认为不能够做到防御半连接的攻击。下面是我个人的分析:

假设一个系统最多之允许5个半连接,假设阈值设置为4个,这样当有4个恶意的攻击进来的时候,因为刚好达到阈值,这4个半连接没有被删除,假设 ...


首先很是感谢斑主,你的说法有道理,根据我参考的一家公司的手册(在这边就不说是哪个公司了,谅解),他是这样做的:

1.删除现有的半连接以达到可以接受新连接的目的,删除现有连接是根据时间长的先删除。
2.检测当前建立半连接的速度,当速度快于某个值的时候就进行深度的限制。
你所说的:缩短半连接的超时数,扩大可允许的半连接上限。这两种方法没有从根本上去解决半连接的问题,因为时间长还是会消耗资源,
唯一从根本上解决问题的就是删除过多的半连接来恢复资源。
采用syn cookies等类似的技术,来限制实际到达服务器的连接数目,这样做有点绝对,不是太合适。
采用保险值和阈值的做法很有道理,比如说保险值是70,阈值是100,那么在70-100之间我们是不去做删除动作的虽然他超过了保险值。
不知道我的描述怎么样,现在难点就是怎么去删除这个动作,郁闷了

离线zybt.
发帖
2081
C币
-235379
威望
364
贡献值
1
银元
-2
铜钱
4606
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
希望有更多的兄弟加入这个方面的讨论,谢谢!、、
我感觉只有半连接才是从根本上防了DOS,别的都是假的!

发帖
2100
C币
0
威望
392
贡献值
1
银元
-1
铜钱
4594
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
貌似我碰到的ddos都是全连接的!感觉全连接处理难度更大!

离线chkey.
发帖
2007
C币
-140550
威望
405
贡献值
1
银元
-1
铜钱
4645
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13


QUOTE:原帖由 heizi_liu 于 2008-1-15 16:28 发表
希望有更多的兄弟加入这个方面的讨论,谢谢!、、
我感觉只有半连接才是从根本上防了DOS,别的都是假的!

是的,严格意义上说是 syn_proxy
什么增加连接数量,减少连接时间,限制 syn 的速率,都是假的

离线郝晓琳.
发帖
1973
C币
-263017
威望
344
贡献值
1
银元
-4
铜钱
4457
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
删除现有的半连接以达到可以接受新连接的目的,删除现有连接是根据时间长的先删除

这个好像和半连接的超时机制没什么不同。

.检测当前建立半连接的速度,当速度快于某个值的时候就进行深度的限制。

这个可能就是该技术的关键了,但是不知道是基于什么来判断速度的,如果是基于某个源IP,那么现在的DDOS攻击都可以随机源IP了,显然力不从心。如果基于半连接的接入速度,那么当访问量大一些的时候还不是一样的造成了拒绝服务。

感觉关键的难点在于如何的识别非法于合法。

当然预防DDOS,最根本的解决之道还是增加带宽,以及负载均衡。

离线i65u.
发帖
2099
C币
-313896
威望
378
贡献值
4
银元
-3
铜钱
4649
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
我看了一下,判断速度:是它每过一分钟去看有多少个半连接产生了,这样就知道大概的一个建立半连接的速度了,如果这个值过大了,那么他就进行限制。当然他是不会根据什么IP来判断的,就是很粗造的去判断当前所有合法或者不合法的连接,因为你实在没办法去判断谁是合法的。(这算是一个牺牲吧,没有办法的,就像化疗一样,好的细胞也杀死了,呵呵),另外还请斑竹注意一个问题,当访问量大了他不是拒绝服务,而是访问会变的很慢,另外我看了 一下,半连接是没有办法判断其是否是合法的,要不也不会去做这些无用功了,另外我想说,关键点还是在如何去删除,删除现有的半连接。
非常感谢兄弟们。

发帖
2086
C币
-60314
威望
409
贡献值
1
银元
-1
铜钱
4738
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13


QUOTE:我看了一下,判断速度:是它每过一分钟去看有多少个半连接产生了,这样就知道大概的一个建立半连接的速度了,如果这个值过大了,那么他就进行限制。

限制了就会拒绝新的进入,新的里面包括非法的与合法的,拒绝后新的也很难进入,逐渐还是会形成拒绝服务,拒绝服务攻击实现了
你的方法就是我上面说的几种之一,属于治标不治本,纯属瞎掰

离线黑咖啡.
发帖
1883
C币
-235722
威望
335
贡献值
1
银元
-2
铜钱
4227
人人网人气币
0
只看该作者 9楼 发表于: 2010-04-13
判断速度:是它每过一分钟去看有多少个半连接产生了,这样就知道大概的一个建立半连接的速度了,如果这个值过大了,那么他就进行限制

从这句话来说,跟没限制一样的,和采用降低超时值,和加大队列长度完全相同.
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个