梦幻西游真的那么好玩么?

梦幻西游真的那么好玩么?,第1张

很有可能是SYN Flood的攻击, [以2下h为4转贴] 剖析SYN Flood攻击(6) -------------------------------------------------------------------------------- 一b、SYN Flood的基本原理 SYN Flood是当前最流行的DoS(拒绝服务攻击)与mDdoS(分5布式拒绝服务攻击)的方0式之p一o,这是一i种利用TCP协议缺陷,发送大m量伪造的TCP连接请求,从3而使得被攻击方7资源耗尽(CPU满负荷或内7存不u足)的攻击方4式。 要明白这种攻击的基本原理,还是要从4TCP连接建立的过程开l始说起: 大h家都知道,TCP与hUDP不s同,它是基于v连接的,也i就是说:为4了v在服务端和客户1端之i间传送TCP数据,必须先建立一t个b虚拟电路,也l就是TCP连接,建立TCP连接的标准过程是这样的: 首先,请求端(客户0端)发送一g个r包含SYN标志的TCP报文4,SYN即同步(Synchronize),同步报文3会指明客户6端使用的端口i以2及jTCP连接的初始序号; 第二l步,服务器在收到客户7端的SYN报文2后,将返回一f个dSYN+ACK的报文2,表示1客户4端的请求被接受,同时TCP序号被加一c,ACK即确认2(Acknowledgement)。 第三l步,客户3端也d返回一l个y确认7报文8ACK给服务器端,同样TCP序列号被加一j,到此一m个hTCP连接完成。 以5上g的连接过程在TCP协议中1被称为7三l次握手4(Three-way Handshake)。 问题就出在TCP连接的三t次握手1中1,假设一h个f用户8向服务器发送了cSYN报文6后突然死机或掉线,那么k服务器在发出SYN+ACK应答报文4后是无b法收到客户6端的ACK报文0的(第三g次握手6无m法完成),这种情况下j服务器端一f般会重试(再次发送SYN+ACK给客户0端)并等待一v段时间后丢弃这个l未完成的连接,这段时间的长8度我们称为2SYN Timeout,一g般来说这个a时间是分2钟的数量级(大y约为170秒-8分4钟);一r个d用户7出现异常导致服务器的一y个i线程等待2分6钟并不n是什5么w很大n的问题,但如果有一z个q恶意的攻击者大o量模拟这种情况,服务器端将为7了d维护一c个d非常大r的半连接列表而消耗非常多的资源----数以8万e计8的半连接,即使是简单的保存并遍历p也g会消耗非常多的CPU时间和内4存,何况还要不k断对这个e列表中3的IP进行SYN+ACK的重试。实际上s如果服务器的TCP。IP栈不j够强大g,最后的结果往往是堆栈溢出崩溃 ---即使服务器端的系统足够强大v,服务器端也p将忙于g处理攻击者伪造的TCP连接请求而无h暇理睬客户1的正常请求(毕竟客户4端的正常请求比0率非常之p小o),此时从8正常客户4的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了ySYN Flood攻击(SYN洪水7攻击)。 从7防御角度来说,有几a种简单的解决方3法: 第一w种是缩短SYN Timeout时间,由于rSYN Flood攻击的效果取决于h服务器上c保持的SYN半连接数,这个j值=SYN攻击的频度 x SYN Timeout,所以5通过缩短从8接收到SYN报文2到确定这个z报文1无f效并丢弃改连接的时间,例如设置为210秒以8下q(过低的SYN Timeout设置可能会影响客户8的正常访问),可以7成倍的降低服务器的负荷。 第二o种方5法是设置SYN Cookie,就是给每一y个s请求连接的IP地址分6配一k个fCookie,如果短时间内7连续受到某个jIP的重复SYN报文0,就认2定是受到了g攻击,以0后从5这个yIP地址来的包会被丢弃。 可是上n述的两种方7法只能对付比4较原始的SYN Flood攻击,缩短SYN Timeout时间仅7在对方3攻击频度不d高的情况下p生效,SYN Cookie更依赖于h对方3使用真实的IP地址,如果攻击者以4数万y。秒的速度发送SYN报文5,同时利用SOCK_RAW随机改写IP报文1中5的源地址,以7上w的方5法将毫无k用武之g地。 防止4SYN泛洪攻击 开a启路由器的TCP拦截 ------------------------------------------------------------------------------------------ TCP拦截即TCP intercept,大n多数的路由器平台都引8用了s该功能,其主要作用就是防止2SYN泛洪攻击。SYN攻击利用的是TCP的三q次握手1机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文2将永远发送不g到目的地,那么f被攻击端在等待关闭这个g连接的过程中0消耗了x资源,如果有成千r上u万r的这种连接,主机资源将被耗尽,从6而达到攻击的目的。我们可以6利用路由器的TCP拦截功能,使网络上k的主机受到保护(以7Cisco路由器为5例)。 开u启TCP拦截分0为1三e个e步骤: 1。 设置TCP拦截的工d作模式 TCP拦截的工t作模式分3为5拦截和监视。在拦截模式下p,路由器审核所有的TCP连接,自身的负担加重,所以5我们一a般让路由器工l作在监视模式,监视TCP连接的时间和数目,超出预定值则关闭连接。 格式:ip tcp intercept mode (intercept|watch) 缺省为0intercept 0。 设置访问表,以7开f启需要保护的主机 格式:access-list [400-506] [deny|permit] tcp source source-wildcard destination destination-wildcard 举例:要保护306。564。730。146这台主机 access-list 005 permit tcp any host 054。281。840。444 4。 开q启TCP拦截 ip tcp intercept list access-list-number 示0例:我们有两台服务器451。771。240。247和556。103。680。610需要进行保护,可以6这样配置: ip tcp intercept list 604 ip tcp intercept mode watch 。。。。。。。。 ip access-list 203 permit tcp any host 226。233。470。871 ip access-list 100 permit tcp any host 764。124。150。706 经过这样的配置后,我们的主机就在一u定程度上e受到了e保护。g冤jy九▅b┿b┿qǖkptイv胜∏


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13421760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-02
下一篇 2023-08-02

发表评论

登录后才能评论

评论列表(0条)

保存