拒絕服務(wù)攻擊時(shí),攻擊者想非法占用被攻擊者的一些資源,比如如:帶寬,CPU,內(nèi)存等等,使得被攻擊者無(wú)法響應(yīng)正常用戶的請(qǐng)求。
講泛洪攻擊之前,我們先了解一下DoS攻擊和DDoS攻擊,這兩個(gè)攻擊大體相同,前者的意思是:拒絕服務(wù)攻擊;后者的意思是:分布式拒絕服務(wù)攻擊。不要看這兩個(gè)攻擊前一個(gè)比后一個(gè)多了一個(gè)字母,后一個(gè)攻擊比掐你一個(gè)攻擊少了"分布式"三個(gè)字,其實(shí)他們具體的來(lái)說(shuō)還是有所區(qū)分的。
DDoS是DoS攻擊中的一種方法。下面我們來(lái)詳細(xì)看一下區(qū)分:
DoS(拒絕服務(wù)):不是DOS操作系統(tǒng),造成DoS的攻擊行為被稱為DoS攻擊,它的目的是使得計(jì)算機(jī)或者網(wǎng)絡(luò)我無(wú)法提供正常服務(wù)。最常見(jiàn)的DOS攻擊有計(jì)算機(jī)網(wǎng)絡(luò)帶寬攻擊和連通性的攻擊。
DDoS(分布式拒絕服務(wù));這個(gè)的攻擊借助于客戶/服務(wù)器技術(shù),將多個(gè)計(jì)算機(jī)聯(lián)合起來(lái)作為一個(gè)攻擊平臺(tái),對(duì)一個(gè)或者是多個(gè)目標(biāo)發(fā)動(dòng)攻擊,從而成倍的提高就裁決服務(wù)攻擊的威力。
簡(jiǎn)單地說(shuō),DDoS的攻擊威力要大于DoS的攻擊威力,DDoS主要是發(fā)動(dòng)群體攻擊。
以上的內(nèi)容就是對(duì)DoS和DDoS攻擊文字上的一個(gè)概念。
TCP的通信的三次握手,如果說(shuō)攻擊端,發(fā)送完第一次握手的數(shù)據(jù)后,然后就"消失"了,那么服務(wù)器就會(huì)不斷的發(fā)送第二次握手的數(shù)據(jù),可是攻擊端的人找不到了。于是,服務(wù)器的資源大量被消耗,直到死機(jī)為止。當(dāng)然了,如果要完全弄懂機(jī)制,需要對(duì)TCP有相當(dāng)深入的了解。
現(xiàn)在回到我們的原題:SYN泛洪攻擊,其實(shí)這個(gè)攻擊主要利用的就是TCP三次握手機(jī)制的缺陷。
TCP SYN泛洪主要發(fā)生在OSI的第四層,(關(guān)于這個(gè)OSI我會(huì)在后面的文章給大家講述。)利用了這個(gè)TCP三次握手的特性。
A(攻擊者)發(fā)送TCP SYN,SYN是TCP三次握手中的第一個(gè)數(shù)據(jù)包,而當(dāng)這個(gè)服務(wù)器返回ACK以后,A不再進(jìn)行確認(rèn),那這個(gè)連接就處在了一個(gè)掛起的狀態(tài),也就是半連接的意思,那么服務(wù)器收不到再確認(rèn)的一個(gè)消息,還會(huì)重復(fù)發(fā)送ACK給A。這樣一來(lái)就會(huì)更加浪費(fèi)服務(wù)器的資源。A就對(duì)服務(wù)器發(fā)送非法大量的這種TCP連接,由于每一個(gè)都沒(méi)法完成握手的機(jī)制,所以它就會(huì)消耗服務(wù)器的內(nèi)存最后可能導(dǎo)致服務(wù)器死機(jī),就無(wú)法正常工作了。更進(jìn)一步說(shuō),如果這些半連接的握手請(qǐng)求是惡意程序發(fā)出,并且持續(xù)不斷,那么就會(huì)導(dǎo)致服務(wù)端較長(zhǎng)時(shí)間內(nèi)喪失服務(wù)功能——這樣就形成了DoS攻擊。這種攻擊方式就稱為SYN泛洪攻擊。
那么我們?nèi)绾稳シ婪哆@種SYN攻擊呢?
其實(shí)最常用的一個(gè)手段就是優(yōu)化主機(jī)系統(tǒng)設(shè)置。比如降低SYN timeout時(shí)間,使得主機(jī)盡快釋放半連接的占用或者采用SYN cookie設(shè)置,如果短時(shí)間內(nèi)收到了某個(gè)IP的重復(fù)SYN請(qǐng)求,我們就認(rèn)為受到了攻擊。我們合理的采用防火墻設(shè)置等外部網(wǎng)絡(luò)也可以進(jìn)行攔截。