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

評論