我們?cè)谏暇W(wǎng)時(shí)可能會(huì)遇到無(wú)法訪問(wèn)網(wǎng)站、網(wǎng)站加載緩慢、游戲卡頓等現(xiàn)象,我們通常認(rèn)為這是網(wǎng)速問(wèn)題。
其實(shí)這只是其中一種可能性,今天文檔君就給大家揭秘另一種可能——SynFlood泛洪攻擊。
1什么是SynFlood
SynFlood泛洪攻擊也叫SYN泛洪,是DDoS(Distributed Denial of Service,分布式拒絕服務(wù))的經(jīng)典攻擊方式之一。
SynFlood就像它的名字一樣,利用洪水一樣的Syn報(bào)文來(lái)攻擊服務(wù)器,占用服務(wù)器的資源,導(dǎo)致服務(wù)器無(wú)法為正常用戶服務(wù)。
當(dāng)我們遇到網(wǎng)站無(wú)法訪問(wèn)等問(wèn)題時(shí),可能就是因?yàn)榉?wù)器被Syn泛洪攻擊了,導(dǎo)致無(wú)法響應(yīng)我們的請(qǐng)求。
由于攻擊者可以利用工具向服務(wù)器發(fā)送海量變?cè)碔P地址或變?cè)?a target="_blank">端口的Syn報(bào)文,因此即使增強(qiáng)了服務(wù)器的性能、或提高服務(wù)器的連接能力,也無(wú)法抵御Syn泛洪攻擊。
防御SynFlood的關(guān)鍵在于判斷哪些連接請(qǐng)求來(lái)自于非正常用戶,讓服務(wù)器屏蔽非正常用戶的請(qǐng)求,保障正常用戶的業(yè)務(wù)請(qǐng)求能得到服務(wù)。
2SynFlood是如何抓住漏洞進(jìn)行攻擊的
SynFlood是一種攻擊服務(wù)器的方式,它通過(guò)向服務(wù)器發(fā)送大量偽造的Syn報(bào)文來(lái)耗盡服務(wù)器的資源,從而使服務(wù)器無(wú)法響應(yīng)正常用戶的請(qǐng)求。
其中,Syn報(bào)文指的是TCP協(xié)議中的Synchronize報(bào)文,是TCP三次握手過(guò)程中客戶端向服務(wù)器發(fā)送的首個(gè)報(bào)文。
要了解Syn Flood的攻擊手段,首先我們先來(lái)回顧一下TCP三次握手的過(guò)程是什么樣的:
第一次握手:客戶端向服務(wù)器發(fā)送一個(gè)Syn請(qǐng)求報(bào)文,等待服務(wù)器確認(rèn)。
第二次握手:服務(wù)器收到Syn報(bào)文,回應(yīng)一個(gè)Syn-Ack請(qǐng)求確認(rèn)報(bào)文。
第三次握手:客戶端收到服務(wù)器的Syn-Ack報(bào)文,向服務(wù)器發(fā)送Ack確認(rèn)報(bào)文表示確認(rèn),服務(wù)器收到Ack報(bào)文后完成三次握手,建立TCP連接。
在上述過(guò)程中,還有一個(gè)重要的概念就是未連接隊(duì)列。
在三次握手的過(guò)程中,服務(wù)器在收到客戶端的Syn報(bào)文后,會(huì)在未連接隊(duì)列中,為每個(gè)客戶端的Syn報(bào)文開(kāi)設(shè)一個(gè)條目。
該條目表明服務(wù)器已收到Syn包,并向客戶發(fā)出Syn-Ack報(bào)文,等客戶端回復(fù)Ack報(bào)文或連接超時(shí)之后,服務(wù)器才刪除該條目。
當(dāng)未連接隊(duì)列被占滿后,服務(wù)器就無(wú)法響應(yīng)其他客戶的請(qǐng)求了。
而SynFlood正是利用TCP連接中三次握手的這種機(jī)制,如下圖所示,SynFlood的攻擊過(guò)程如下圖所示:
攻擊者通過(guò)偽造的源IP地址或端口,向服務(wù)器發(fā)送大量的Syn報(bào)文,請(qǐng)求建立TCP連接。
服務(wù)器收到Syn報(bào)文,回應(yīng)一個(gè)Syn-Ack報(bào)文并等待用戶確認(rèn)。
由于源地址是不存在的,服務(wù)器接收不到回應(yīng)的Ack報(bào)文,需要反復(fù)發(fā)送Syn-Ack確認(rèn)報(bào)文直至連接超時(shí)。這些偽造的Syn包將長(zhǎng)時(shí)間占用未連接隊(duì)列,使服務(wù)器無(wú)法回應(yīng)正常用戶的Syn報(bào)文請(qǐng)求。
3如何應(yīng)對(duì)SynFlood
對(duì)于SynFlood這樣利用海量Syn報(bào)文攻占服務(wù)器連接資源的攻擊,提高服務(wù)器的連接能力并沒(méi)有太大的作用。
所以,必須在這些攻擊報(bào)文到達(dá)服務(wù)器之前就進(jìn)行攔截。
但是對(duì)于防火墻這類安全系統(tǒng)而言,Syn報(bào)文是正常的業(yè)務(wù)報(bào)文,防火墻無(wú)法將其攔截,否則服務(wù)器將無(wú)法對(duì)外提供服務(wù)。
另外,防火墻也不能提前明確虛假源的IP地址,利用安全策略來(lái)攔截這些源發(fā)來(lái)的Syn報(bào)文。
這時(shí)就需要Anti-DDoS系統(tǒng)的能力了,Anti-DDos系統(tǒng)部署在客戶端和服務(wù)器之間,可以在服務(wù)器之前處理Syn報(bào)文,識(shí)別出虛假源,屏蔽這些地址發(fā)送的報(bào)文,只將合法的Syn報(bào)文傳送給服務(wù)器。
Anti-DDos系統(tǒng)處理Syn報(bào)文的方式主要有兩種:源認(rèn)證和首包丟棄。
源認(rèn)證
Anti-DDos系統(tǒng)攔截客戶端發(fā)送的Syn報(bào)文。 如下圖所示,在源認(rèn)證方式下,Anti-DDos系統(tǒng)會(huì)代替服務(wù)器向客戶端發(fā)送Syn-Ack報(bào)文,如果客戶端無(wú)回應(yīng),則認(rèn)為該客戶端為虛假源。 如果客戶端應(yīng)答,則認(rèn)為該客戶端為真實(shí)源,將該客戶端加入白名單,在一段時(shí)間內(nèi)允許該客戶端發(fā)送的所有Syn報(bào)文通過(guò)。 但這種方式其實(shí)是將服務(wù)器的壓力轉(zhuǎn)移到Anti-DDos系統(tǒng)上,一旦Anti-DDos系統(tǒng)的資源被消耗完,攻擊還是會(huì)回到服務(wù)器上。
首包丟棄
TCP協(xié)議的可靠性除了體現(xiàn)在三次握手機(jī)制,還體現(xiàn)在超時(shí)與重傳的機(jī)制。
首包丟棄的方式就是利用TCP協(xié)議可靠性中超時(shí)與重傳的機(jī)制。
就像服務(wù)器如果長(zhǎng)時(shí)間未收到客戶端的Ack報(bào)文,會(huì)重新給客戶端發(fā)送Syn-Ack報(bào)文一樣,如果客戶端發(fā)送Syn請(qǐng)求報(bào)文后長(zhǎng)時(shí)間未收到服務(wù)器發(fā)來(lái)的Syn-Ack報(bào)文,客戶端也將重新發(fā)送Syn請(qǐng)求報(bào)文給服務(wù)器。
如下圖所示,Anti-DDos系統(tǒng)會(huì)丟棄客戶端發(fā)送的第一個(gè)Syn報(bào)文。
而因?yàn)楣粽咴诎l(fā)動(dòng)SynFlood攻擊時(shí),發(fā)送的絕大多數(shù)是變?cè)吹腟yn報(bào)文,因此這些Syn報(bào)文對(duì)于Anti-DDos系統(tǒng)來(lái)說(shuō)都是首包,系統(tǒng)將直接丟棄。只有當(dāng)客戶端重傳了Syn報(bào)文,Anti-DDos才會(huì)對(duì)該報(bào)文進(jìn)行源認(rèn)證,這樣就大大減少了Anti-DDos系統(tǒng)的壓力。
通過(guò)首包丟棄和源認(rèn)證這兩種方式的結(jié)合使用,就可以幫助服務(wù)器有效抵御Syn Flood攻擊,讓服務(wù)器可以為正常用戶提供服務(wù)。
網(wǎng)絡(luò)世界就像我們每天進(jìn)出的家門,Syn Flood攻擊就好比一群陌生人瘋狂按你門鈴,直到你不勝其煩。
而Anti-DDos系統(tǒng)就是你的家庭保安,讓你不受陌生人的侵?jǐn)_。
對(duì)于Syn Flood攻擊這種“缺德行為”,我們要做的就是選擇帶有“保安”的APP和網(wǎng)站,它們的背后有專業(yè)的團(tuán)隊(duì)幫忙抗傷害,咱們只管放心沖浪。
-
DDoS
+關(guān)注
關(guān)注
3文章
178瀏覽量
23566 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9770瀏覽量
87760 -
端口
+關(guān)注
關(guān)注
4文章
1046瀏覽量
32877
原文標(biāo)題:網(wǎng)頁(yè)無(wú)法加載?原來(lái)是服務(wù)器被洪水沖垮了
文章出處:【微信號(hào):ztedoc,微信公眾號(hào):中興文檔】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
用防火墻封阻應(yīng)用攻擊的八項(xiàng)指標(biāo)
影響 Linux 系統(tǒng)安全基石的 glibc 嚴(yán)重漏洞
你的數(shù)據(jù)安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn資源管理系統(tǒng)未授權(quán)訪問(wèn)漏洞進(jìn)行攻擊
固件漏洞安全問(wèn)題的解決辦法
HUAWEI DevEco Testing注入攻擊測(cè)試:以攻為守,守護(hù)OpenHarmony終端安全
RIP路由協(xié)議及其漏洞攻擊防范
微軟再次對(duì)IE零日攻擊漏洞發(fā)出警告
基于攻擊圖的風(fēng)險(xiǎn)評(píng)估方法

評(píng)論