windows系統本身就有很多機制可以用來提高性能和安全,其中有不少可以用來應對高并發請求和DDOS攻擊的情況。
通過以下配置可以改善windows服務器性能:
一、應對高并發請求:
1、TCP連接延遲等待時間 TcpTimedWaitDelay:
這是設定TCP/IP 可釋放已關閉連接并重用其資源前,必須經過的時間。關閉和釋放之間的此時間間隔通稱 TIME_WAIT狀態或兩倍最大段生命周期(2MSL)狀態。在此時間內,重新打開到客戶機和服務器的連接的成本少于建立新連接。減少此條目的值允許 TCP/IP更快地釋放已關閉的連接,為新連接提供更多資源。如果運行的應用程序需要快速釋放和創建新連接,而且由于 TIME_WAIT中存在很多連接,導致低吞吐量,則調整此參數。缺省值240秒,最小30秒,最大300秒,建議設為30秒。
代碼如下:
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]
"TcpTimedWaitDelay"=dword:0000001e
2、最大TCP使用端口 MaxUserPort:
TCP客戶端和服務器連接時,客戶端必須分配一個動態端口,默認情況下這個動態端口的分配范圍為 1024-5000,也就是說默認情況下,客戶端最多可以同時發起3977個Socket連接。通過修改調整這個動態端口的范圍,可以提高系統的數據吞吐率
代碼如下:
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]
"MaxUserPort"=dword:000ffffe
3、保持連接時間 KeepAliveTime:
Windows默認情況下不發送保持活動數據包,但某些TCP包中可能請求保持活動的數據包。保持連接可以被攻擊者利用建立大量的連接造成服務器拒絕服務。降低這個參數值有助于系統更快速地斷開非活動會話。
代碼如下:
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]
"KeepAliveTime"=dword:000493e0
4、TCP數據最大重發次數 TcpMaxDataRetransmissions
此參數控制TCP在連接異常中止前數據段重新傳輸的次數。如果這個限定次數內,計算機沒有收到任何確認消息,連接將會被終止。
代碼如下:
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]
"TcpMaxDataRetransmissions"=dword:00000003
5、TCP連接最大重發次數 TcpMaxConnectResponseRetransmissions
此參數設定SYN-ACK等待時間,可以用來提高系統的網絡性能。缺省時間為3,消耗時間為45秒;項值為2,消耗時間為21秒;項值為1,消耗時間為9秒;項值為0,表示不等待,消耗時間為3秒
代碼如下:
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters]
"TcpMaxConnectResponseRetransmissions"=dword:00000002
二、應對DDOS攻擊:(包括以上設置)
1、SYN攻擊防護 SynAttackProtect:
為防范SYN攻擊,Windows NT系統的TCP/IP協議棧內嵌了SynAttackProtect機制。SynAttackProtect機制是通過關閉某些socket選項,增加額外的連接指示和減少超時時間,使系統能處理更多的SYN連接,以達到防范SYN攻擊的目的。
新聞熱點
疑難解答