很有可能是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胜∏
DNS劫持,缓存投毒,DDoS攻击,反射式DNS放大攻击。1DNS劫持,DNS劫持又称域名劫持,这类攻击一般是通过恶意软件、修改
缓存、控制域名管理系统等方式取得DNS解析控制权,然后通过修改DNS解析记录或更改解析服务器方式,将用户引导至不可达的站点或受攻击者控制的非法网站,以达到非法获取用户数据,谋取非法利益的目的。2缓存投毒,攻击者将非法网络域名地址传送给DNS服务器,一旦服务器接收该非法地址,其缓存就会被攻击。其实现方式有多种,比如可以通过利用客户ISP端的DNS缓存服务器的漏洞进行攻击或控制,从而改变该ISP内的用户访问域名的响应结果;或者,黑客通过利用用户权威域名服务器上的漏洞,如当用户权威域名服务器同时可以被当作缓存服务器使用,黑客可以实现缓存投毒,将错误的域名纪录存入缓存中,从而使所有使用该缓存服务器的用户得到错误的DNS解析结果。
与钓鱼攻击采用非法URL不同,DNS缓存中毒使用的是合法的URL地址,用户往往会以为登陆的是自己熟悉的网站,其实却是其他的网站。3DDoS攻击,攻击者通过控制多台计算机并伪造大量的源IP向攻击目标持续不断地发起海量DNS查询请求,使得DNS服务器频繁地进行全球迭代查询,从而导致网络带宽耗尽而无法进行正常DNS查询请求。攻击者还会利用DNS协议中存在的漏洞,恶意创造一个载荷过大的请求,导致目标DNS服务器崩溃。4反射式DNS放大攻击,DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器。
腾讯云服务器被DDOS和其他服务器被DDOS都一样,解决方法只有两个。
第一,上硬防,一般来说20G的硬防就够用了,当然如果有钱上50G或者更高硬防更好
第二,套CDN,只是国内CDN都收费,很容易流量超标,可以用cloudflare
旁道攻击不攻击密码本身,而是攻击那些实现于不安全系统(会在不经意间泄漏信息)上的加密系统。
2005年4月,DJ Bernstein公布了一种缓存时序攻击法,他以此破解了一个装载OpenSSL AES加密系统的客户服务器。为了设计使该服务器公布所有的时序信息,攻击算法使用了2亿多条筛选过的明码。有人认为,对于需要多个跳跃的国际互联网而言,这样的攻击方法并不实用。
2005年10月,Eran Tromer和另外两个研究员发表了一篇论文,展示了数种针对AES的缓存时序攻击法[8]。其中一种攻击法只需要800个写入动作,费时65毫秒,就能得到一把完整的AES密钥。但攻击者必须在运行加密的系统上拥有运行程序的权限,方能以此法破解该密码系统。
评论列表(0条)