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攻擊的目的。
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"synattackprotect"=dword:00000002
2、無效閘道器檢測功能enabledeadgwdetect:
當伺服器設定了多個閘道器,在網路不通暢的時候系統會嘗試連線第二個閘道器。允許自動探測失效閘道器可導致
dos,關閉它可以抵禦snmp攻擊,優化網路。
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"enabledeadgwdetect"=dword:00000000
3、icmp重定向功能enableicmpredirect:
是否響應
icmp
重定向報文。icmp重定向報文有可能被用以攻擊,所以系統應該拒絕接受此類
報文,用以抵禦icmp攻擊。
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"enableicmpredirect"=dword:00000000
4、ip源路由限制disableipsourcerouting:
是否禁用
ip源路由包,禁用可以提高
ip源路由保護級別,用以防範資料報欺騙
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"disableipsourcerouting"=dword:00000002
5、路由發現功能performrouterdiscovery:
icmp
路由通告報文可以被用來增加路由表紀錄,可能導致
dos攻擊,所以禁止路由發現。
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"performrouterdiscovery"=dword:00000000
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters\inte***ces]
"performrouterdiscovery"=dword:00000000
6、伺服器名響應功能nonamereleaseondemand
允許計算機忽略除來自
windows
伺服器以外的
netbios
名稱發布請求。當攻擊者發出查詢伺服器
netbios
名的請求時,可以使伺服器禁止響應。
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"nonamereleaseondemand"=dword:00000001
7、internet組管理協議級別 igmplevel
用於控制系統在多大程度上支援ip組播和參與internet組管理協議。預設值為2,支援傳送和接收組播資料;項值為1表示只支援傳送組播資料;項值為0表示不支援組播功能。
[hkey_local_machine\system\currentcontrolset\services\tcpip\parameters]
"igmplevel"=dword:00000000
8、匿名訪問限制 restrictanonymous
用於禁止匿名訪問檢視使用者列表和安全許可權。匿名訪問可以使連線者與目標主機建立一條空連線而無需使用者名稱和密碼,利用這個空連線,連線者可以得到使用者列表。有了使用者列表,就可以窮舉猜測密碼。
[hkey_local_machine\system\currentcontrolset\control\lsa]
"restrictanonymous"=dword:00000001
windows伺服器應對高併發和DDOS攻擊
windows系統本身就有很多機制可以用來提高效能和安全,其中有不少可以用來應對高併發請求和ddos攻擊的情況。通過以下配置可以改善windows伺服器效能 一 應對高併發請求 1 tcp連線延遲等待時間 tcptimedwaitdelay 這是設定 tcp ip 可釋放已關閉連線並重用其資源前,必...
Epoll實現伺服器高併發
最近在做乙個關於高併發伺服器相關的專案需要用到非同步 非阻塞io通訊,實現高tcp併發。以下用epoll技術實現乙個簡單的tcp高併發伺服器,驗證無業務處理的情況下,epoll處理併發連線的數的效果。include include include include include include in...
高併發計算伺服器數量
每秒查詢率qps 對乙個特定的查詢伺服器在規定時間內所處理流量多少的衡量標準,即每秒請求數,即最大談吐能力。併發數 併發數和qps是不同的概念,一般說qps會說多少併發使用者下qps,當qps相同時,併發使用者數越大,併發處理能力越好。當併發使用者數過大時,會造成程序 執行緒 頻繁切換,反正真正用於...