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

評論