沒有産品在購物車中。
深入了解 SYN Flood 攻击的原理、类型及其对服务器的危害,掌握多种防御措施,如 SYN Cookies、流量限制、负载均衡等,帮助企业构建坚实的防御体系,有效抵御 DDoS 攻击,确保网络安全。
我們在上網時可能會遇到無法訪問網站、網站加載緩慢、遊戲卡頓等現象,我們通常認爲這是網速問題。 ? ?
其實這只是其中一種可能性,今天文檔君就給大家揭秘另一種可能——SynFlood泛洪攻擊。 ?
SynFlood泛洪攻击也叫SYN泛洪,是DDoS(Distributed Denial of Service,分布式拒绝服务)的经典攻击方式之一。 ? ?
SynFlood就像它的名字一樣,利用洪水一樣的Syn報文來攻擊服務器,占用服務器的資源,導致服務器無法爲正常用戶服務。 ? ?
當我們遇到網站無法訪問等問題時,可能就是因爲服務器被Syn泛洪攻擊了,導致無法響應我們的請求。 ? ?
由于攻擊者可以利用工具向服務器發送海量變源IP地址或變源端口的Syn報文,因此即使增強了服務器的性能、或提高服務器的連接能力,也無法抵禦Syn泛洪攻擊。 ? ?
防禦SynFlood的關鍵在于判斷哪些連接請求來自于非正常用戶,讓服務器屏蔽非正常用戶的請求,保障正常用戶的業務請求能得到服務。 ?
SynFlood是一種攻擊服務器的方式,它通過向服務器發送大量僞造的Syn報文來耗盡服務器的資源,從而使服務器無法響應正常用戶的請求。 ? ?
其中,Syn報文指的是TCP協議中的Synchronize報文,是TCP三次握手過程中客戶端向服務器發送的首個報文。 ? ?
要了解Syn Flood的攻击手段,首先我们先来回顾一下TCP三次握手的过程是什么样的: ?
第一次握手:客戶端向服務器發送一個Syn請求報文,等待服務器確認。 ? ?
第二次握手:服務器收到Syn報文,回應一個Syn-Ack請求確認報文。 ? ?
第三次握手:客戶端收到服務器的Syn-Ack報文,向服務器發送Ack確認報文表示確認,服務器收到Ack報文後完成三次握手,建立TCP連接。 ? ?
?
在上述過程中,還有一個重要的概念就是未連接隊列。 ? ?
在三次握手的過程中,服務器在收到客戶端的Syn報文後,會在未連接隊列中,爲每個客戶端的Syn報文開設一個條目。 ? ?
該條目表明服務器已收到Syn包,並向客戶發出Syn-Ack報文,等客戶端回複Ack報文或連接超時之後,服務器才刪除該條目。 ? ?
當未連接隊列被占滿後,服務器就無法響應其他客戶的請求了。 ? ?
而SynFlood正是利用TCP連接中三次握手的這種機制,如下圖所示,SynFlood的攻擊過程如下圖所示: ? ?
?
1.攻擊者通過僞造的源IP地址或端口,向服務器發送大量的Syn報文,請求建立TCP連接。 ? ?
2.服務器收到Syn報文,回應一個Syn-Ack報文並等待用戶確認。 ? ?
3.由于源地址是不存在的,服務器接收不到回應的Ack報文,需要反複發送Syn-Ack確認報文直至連接超時。這些僞造的Syn包將長時間占用未連接隊列,使服務器無法回應正常用戶的Syn報文請求。 ?
對于SynFlood這樣利用海量Syn報文攻占服務器連接資源的攻擊,提高服務器的連接能力並沒有太大的作用。 ? ?
所以,必須在這些攻擊報文到達服務器之前就進行攔截。 ? ?
但是對于防火牆這類安全系統而言,Syn報文是正常的業務報文,防火牆無法將其攔截,否則服務器將無法對外提供服務。 ? ?
另外,防火牆也不能提前明確虛假源的IP地址,利用安全策略來攔截這些源發來的Syn報文。 ? ?
這時就需要Anti-DDoS系統的能力了,Anti-DDos系統部署在客戶端和服務器之間,可以在服務器之前處理Syn報文,識別出虛假源,屏蔽這些地址發送的報文,只將合法的Syn報文傳送給服務器。 ? ?
Anti-DDos系統處理Syn報文的方式主要有兩種:源認證和首包丟棄。 ?
源認證
Anti-DDos系統攔截客戶端發送的Syn報文。
如下图所示,在源認證方式下,Anti-DDos系统会代替服务器向客户端发送Syn-Ack报文,如果客户端无回应,则认为该客户端为虚假源。 ? ?
如果客戶端應答,則認爲該客戶端爲真實源,將該客戶端加入白名單,在一段時間內允許該客戶端發送的所有Syn報文通過。 ? ?
但這種方式其實是將服務器的壓力轉移到Anti-DDos系統上,一旦Anti-DDos系統的資源被消耗完,攻擊還是會回到服務器上。 ?
?首包丟棄 ? ?
TCP協議的可靠性除了體現在三次握手機制,還體現在超時與重傳的機制。 ? ?
首包丟棄的方式就是利用TCP协议可靠性中超时与重传的机制。 ? ?
就像服務器如果長時間未收到客戶端的Ack報文,會重新給客戶端發送Syn-Ack報文一樣,如果客戶端發送Syn請求報文後長時間未收到服務器發來的Syn-Ack報文,客戶端也將重新發送Syn請求報文給服務器。 ? ?
如下圖所示,Anti-DDos系統會丟棄客戶端發送的第一個Syn報文。 ? ?
而因为攻击者在发动SynFlood攻击时,发送的绝大多数是变源的Syn报文,因此这些Syn报文对于Anti-DDos系统来说都是首包,系统将直接丢弃。只有当客户端重传了Syn报文,Anti-DDos才会对该报文进行源認證,这样就大大减少了Anti-DDos系统的压力。 ? ?
?
通过首包丟棄和源認證这两种方式的结合使用,就可以帮助服务器有效抵御Syn Flood攻击,让服务器可以为正常用户提供服务。 ? ?
-END- ? ?
网络世界就像我们每天进出的家门,Syn Flood攻击就好比一群陌生人疯狂按你门铃,直到你不胜其烦。 ? ?
而Anti-DDos系統就是你的家庭保安,讓你不受陌生人的侵擾。 ? ?
对于Syn Flood攻击这种“缺德行为”,我们要做的就是选择带有“保安”的APP和网站,它们的背后有专业的团队帮忙抗伤害,咱们只管放心冲浪 ? ?
來源:中興文檔公衆號 ? ?
初审:沙鱼 尹航 ? ?
複審:夏琰 ? ?
終審:張丹陽 ?