記一次Widows2008r2遭遇10小時SYN Flood的優化無用功


Windows Vista, Windows 2008以上系統會針對syn flood攻擊對TCP/IP棧進行智能調優,無須額外配置。雖然如此我還是根據業務量配了值,也不知會不會生效。

參考官方論壇一測試大佬的帖子

https://blogs.technet.microsoft.com/nettracer/2010/06/01/syn-attack-protection-on-windows-vista-windows-2008-windows-7-windows-2008-r2-windows-88-1-windows-2012-and-windows-2012-r2/

 

 

 

 

 

 

原優化記錄,只針對2008以下系統有效。

SynAttackProtect配置

https://security.pconline.com.cn/0811/1481843_3.html

當SynAttackProtect 值為2時(Microsoft推薦使用此值),系統不僅使用backlog隊列,還使用附加的半連接指示,以此來處理更多的SYN連接,使用此鍵值時, tcp/ip的TCPInitialRTT、window size和可滑動窗囗將被禁止。

平時,系統是不啟用SynAttackProtect機制的,僅在檢測到SYN攻擊時,才啟用,並調整tcp/ip協議棧。那么系統是如何檢測SYN攻擊發生的呢?事實上,系統根據TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三個參數判斷是否遭受SYN攻擊。

  TcpMaxHalfOpen 表示能同時處理的最大半連接數,如果超過此值,系統認為正處於SYN攻擊中。Win2000 server默認值為100,Win2000 Advanced server為500。

  TcpMaxHalfOpenRetried定義了保存在backlog隊列且重傳過的半連接數,如果超過此值,系統自動啟動 SynAttackProtect機制。Win2000 server默認值為80,Win2000 Advanced server為400。

  TcpMaxPortsExhausted 是指系統拒絕的SYN請求包的數量,默認是5

 

官方論壇討論

https://social.technet.microsoft.com/Forums/windows/en-US/568cc9fa-ec3d-491f-aaf7-95c4e8735f8b/2008r2-connections-stuck-in-synreceived?forum=winservergen

https://social.technet.microsoft.com/Forums/Lync/en-US/c53806fa-3c62-4b2b-a85a-fb1047a231bd/sync-attack-protection?forum=winserversecurity

利用netstat檢查

netstat -n -p TCP | find /i "syn"

利用netsh抓包

netsh trace start capture=yes provider=Microsoft-Windows-TCPIP level=0x05 tracefile=TCPIP.etl

 

抓包分析

https://blog.csdn.net/scugxl/article/details/75000180

 

SynAttackProtect保護(挨打)機制

https://www.jianshu.com/p/65371757889a

一旦服務器受到攻擊,SYN半連接的數量超過TcpMaxHalfOpenRetried的設置,系統會認為自己受到了SYN Flood攻擊,此時設置在SynAttackProtect鍵值中的選項開始作用,SYN Timeout時間被減短,SYN-ACK的重試次數減少,系統也會自動對緩沖區中的報文進行延時,避免對TCP/IP堆棧造成過大的沖擊,力圖將攻擊危害減到最低;如果攻擊強度不斷增大, 超過了TcpMaxHalfOpen值,此時系統已經不能提供正常的服務了,更重要的是保證系統不會崩潰,所以系統將會丟棄任何超出TcpMaxHalfOpen值范圍的SYN報文(應該是使用隨機丟包策略),保證系統的穩定性。 所以,對於需要進行SYN攻擊保護的系統,我們可以測試/預測一下訪問峰值時期的半連接打開量,以其作為參考設定TcpMaxHalfOpenRetried的值(保留一定的余量),然后再以TcpMaxHalfOpenRetried的1.25倍作為TcpMaxHalfOpen值,這樣可以最大限度地發揮WIN2K自身的SYN攻擊保護機制。 通過設置注冊表防御SYN Flood攻擊,采用的是“挨打”的策略


免責聲明!

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



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