东莞市汽车网
标题:
不用防火墙手动对付SYN攻击方法
[打印本页]
作者:
芽芽妈咪
时间:
2012-5-14 17:56
标题:
不用防火墙手动对付SYN攻击方法
SYN攻击属于D飞鹤奶粉介绍OS攻击的一种,它利报销用TCP协议缺陷,通飞鹤奶粉介绍过发送大量的半连接请飞鹤招聘资源。SYN攻击除了[url=http://www.pcbaby.com.cn/goods/nf/gcnf/1101/979510_1.html]明星私房照[/url源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
一般的SYN Food攻击是利用特殊的程序,设置TCP的Header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。如果你的SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了。其他合法用户的连接都被拒绝掉。此时,服务器已经无法再提供正常的服务了,所以SYN Food攻击是拒绝服务攻击。
检测SYN攻击:
检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat 工具来检测SYN攻击:
# netstat -n -p TCP
tcp 0 0 10.11.11.11:23 124.173.152.8:25882 SYN_RECV -
tcp 0 0 10.11.11.11:23 236.15.133.204:2577 SYN_RECV -
tcp 0 0 10.11.11.11:23 127.160.6.129:51748 SYN_RECV -
tcp 0 0 10.11.11.11:23 222.220.13.25:47393 SYN_RECV -
tcp 0 0 10.11.11.11:23 212.200.204.182:60427 SYN_RECV -
tcp 0 0 10.11.11.11:23 232.115.18.38:278 SYN_RECV -
tcp 0 0 10.11.11.11:23 239.116.95.96:5122 SYN_RECV -
tcp 0 0 10.11.11.11:23 236.219.139.207:49162 SYN_RECV -
...
上面是在LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。
我们也可以通过下面的命令直接查看在LINUX环境下某个端囗的未连接队列的条目数:
# netstat -n -p TCP grep SYN_RECV grep :22 wc -l
324
显示TCP端囗22的未连接数有324个,虽然还远达不到系统极限,但应该引起管理员的注意。
如何做好设置:
对于SYN Flood攻击,目前尚没有很好的监测和防御方法,不过如果系统管理员熟悉攻击方法和系统架构,通过一系列的设定,也能从一定程度上降低被攻击系统的负荷,减轻负面的影响。
对于WindowsNT/2000而言,它的SYN攻击保护机制可以这样考虑:正常情况下,OS对TCP连接的一些重要参数有一个常规的设置:SYN Timeout时间、SYN-ACK的重试次数、SYN报文从路由器到系统再到Winsock的延时等等。这个常规设置针对系统优化,可以给用户提供方便快捷的服务;一旦服务器受到攻击,SYN Half link 的数量超过系统中TCP活动 Half Connction最大连接数的设置,系统将会认为自己受到了SYN Flood攻击,并将根据攻击的判断情况作出反应:减短SYN Timeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等等措施,力图将攻击危害减到最低。如果攻击继续,超过了系统允许的最大Half Connection 值,系统已经不能提供正常的服务了,为了保证系统不崩溃,可以将任何超出最大Half Connection 值范围的SYN报文随机丢弃,保证系统的稳定性。
被攻击时如何手动防御:
一般服务器被SYN Flood攻击时,通过上面所说的 netstat 命令可以看到攻击者的IP记录,确定被攻击以后采取的对应办法:
以75.156.25.192这个IP为例子,我们用封IP段来对付攻击:
打开本地安全设置,点“IP安全策略,在本地机器”—>创建IP安全策略—>下一步—>名称随便写,如输入阻止,然后一直点下一步,出现提示点是,一直到完成,这个时候就创建了一个名为“阻止”的策略了。
下面点“IP安全策略,在本地机器”—>管理IP筛选器表和筛选器操作—>点添加—>名称添75.156.25(为了识别最好填写对应的IP段)—>点添加—>下一步—>源地址选择一个特定的IP子网,IP输入75.156.25.0 子网掩码改为255.255.255.0—>下一步—>目标地址选择我的IP地址—>下一步—>协议类型为任意—>下一步—>完成,全部关闭。
下面点我们开始建立的名为“阻止”的策略,点属性—>填加—>下一步—>下一步网络类型选择所有网络连接—>下一步—>出现提示点是—>到IP筛选列表,点中我们刚才创建的名为75.156.25的选项—>下一步—>选择阻止—>下一步到完成、关闭。
最后点“阻止”这个策略,右键,指派,到这里为止我们就已经阻止了75.156.25开头的网段了,当然也阻止了75.156.25.192这个IP的攻击了,如还要封其他IP的攻击同样操作即可。
用这个方法可以完全阻止SYN Flood攻击,麻烦的一点就是要自己手动查看攻击的代理IP和填加IP策略。
欢迎光临 东莞市汽车网 (http://bbs.qc0769.com/)
Powered by Discuz! X3.2