SYN 攻擊原理及解決方法


原理
SYN foold攻擊主要針對tcp通信三次握手期間做的手腳,所以要弄懂這個攻擊的原理我們首先必須知道tcp三次握手的詳細過程

 

 

由上圖可知tcp三次握手顧名思義要經過三個步驟,這三個步驟分別是

客戶端向服務端發送SYN J(同步信號假設序號為J),相當於通知服務端我要開始建立連接了;
服務端收到客戶端的SYN J信號后將發送確認信號ACK J+1和一個新的同步信號SYN K作為回應
客戶端收到服務端的回應之后發送最后的確認信號ACK J+1
那我我們重點看第二個步驟:服務端在收到SYN信號后會將ACK信號和新的SYN信號返回給客戶端,並將該連接計入半連接隊列數目中,當半連接數目大於系統設定的最大值(/proc/sys/net/ipv4/tcp_max_syn_backlog)時系統將不能再接收其他的連接,所以攻擊者利用這個原理,在服務器向客戶端發送SYN和ACK信號后不做任何回應,這樣鏈接將一直不會被釋放,直到累計到鏈接最大值而不能再創建新的鏈接,從而達到了讓服務器無法響應正常請求的目的。

解決方法
使syncookies生效,將/proc/sys/net/ipv4/tcp_syncookies值置改為1即可,這樣即使是半連接隊列syn queue已經滿了,也可以接收正常的非惡意攻擊的客戶端的請求,
但是這種方法只在無計可施的情況下使用
————————————————
版權聲明:本文為CSDN博主「不會飛的pig」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u011007991/article/details/95369916


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM