隨著網(wǎng)絡(luò)的發(fā)展,很多的公司都在使用網(wǎng)絡(luò),在網(wǎng)絡(luò)中我們可以進(jìn)行工作和學(xué)習(xí),然而還是要注意到網(wǎng)絡(luò)安全的穩(wěn)定,因?yàn)槊繒r(shí)每刻都會有網(wǎng)絡(luò)攻擊的危險(xiǎn),今天我們騰佑科技帶您了解DDOS攻擊,讓服務(wù)器租用更加的安全。
我們從很多的數(shù)據(jù)可以得知,在全球范圍內(nèi)有很多的網(wǎng)絡(luò)攻擊的現(xiàn)象,在2012年42%的受訪者認(rèn)為更多時(shí)候攻擊罪犯只是試圖證明自己的能力。另外41%的攻擊用于網(wǎng)絡(luò)游戲以進(jìn)行敲詐勒索。現(xiàn)在一種新的攻擊形式就是DDOS.
一、DDOS的產(chǎn)生
DDOS 最早可追述到1996年最初,在中國2002年開始頻繁出現(xiàn),2003年已經(jīng)初具規(guī)模。近幾年由于寬帶的普及,很多網(wǎng)站開始盈利,其中很多非法網(wǎng)站利潤巨大,造成同行之間互相攻擊,還有一部分人利用網(wǎng)絡(luò)攻擊來敲詐錢財(cái)。同時(shí)windows 平臺的漏洞大量的被公布, 流氓軟件,病毒,木馬大量充斥著網(wǎng)絡(luò),有些技術(shù)的人可以很容易非法入侵控制大量的個(gè)人計(jì)算機(jī)來發(fā)起DDOS攻擊從中謀利。
二、被DDoS攻擊時(shí)的現(xiàn)象
被攻擊主機(jī)上有大量等待的TCP連接
網(wǎng)絡(luò)中充斥著大量的無用的數(shù)據(jù)包,源地址為假
制造高流量無用數(shù)據(jù),造成網(wǎng)絡(luò)擁塞,使受害主機(jī)無法正常和外界通訊
利用受害主機(jī)提供的服務(wù)或傳輸協(xié)議上的缺陷,反復(fù)高速的發(fā)出特定的服務(wù)請求,使受害主機(jī)無法及時(shí)處理所有正常請求
三、SYN攻擊解析
SYN攻擊屬于DOS攻擊的一種,它利用TCP協(xié)議缺陷,通過發(fā)送大量的半連接請求,耗費(fèi)CPU和內(nèi)存資源。TCP協(xié)議建立連接的時(shí)候需要雙方相互確認(rèn)信息,來防止連接被偽造和精確控制整個(gè)數(shù)據(jù)傳輸過程數(shù)據(jù)完整有效。所以TCP協(xié)議采用三次握手建立一個(gè)連接。
第一次握手:建立連接時(shí),客戶端發(fā)送syn包到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN 同時(shí)自己也發(fā)送一個(gè)SYN包 即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
四、預(yù)防DDOS的小策略分析
一部份DDOS我們可以通過DOS命令netstat -an|more或者網(wǎng)絡(luò)綜合分析軟件:sniff等查到相關(guān)攻擊手法、如攻擊某個(gè)主要端口、或者對方主要來自哪個(gè)端口、對方IP等。這樣我們可以利用w2k自帶的遠(yuǎn)程訪問與路由或者IP策略等本身自帶的工具解決掉這些攻擊。做為無法利用這些查到相關(guān)數(shù)據(jù)的我們也可以嘗試一下通過對服務(wù)器進(jìn)行安全設(shè)置來防范DDOS攻擊。
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]
關(guān)閉無效網(wǎng)關(guān)的檢查。當(dāng)服務(wù)器設(shè)置了多個(gè)網(wǎng)關(guān),這樣在網(wǎng)絡(luò)不通暢的時(shí)候系統(tǒng)會嘗試連接
第二個(gè)網(wǎng)關(guān),通過關(guān)閉它可以優(yōu)化網(wǎng)絡(luò)。
"EnableDeadGWDetect"=dword:00000000
禁止響應(yīng)ICMP重定向報(bào)文。此類報(bào)文有可能用以攻擊,所以系統(tǒng)應(yīng)該拒絕接受ICMP重定向報(bào)文。
"EnableICMPRedirects"=dword:00000000
不允許釋放NETBIOS名。當(dāng)攻擊者發(fā)出查詢服務(wù)器NETBIOS名的請求時(shí),可以使服務(wù)器禁止響應(yīng)。
注意系統(tǒng)必須安裝SP2以上
"NonameReleaseOnDemand"=dword:00000001
發(fā)送驗(yàn)證保持活動數(shù)據(jù)包。該選項(xiàng)決定TCP間隔多少時(shí)間來確定當(dāng)前連接還處于連接狀態(tài),
不設(shè)該值,則系統(tǒng)每隔2小時(shí)對TCP是否有閑置連接進(jìn)行檢查,這里設(shè)置時(shí)間為5分鐘。
"KeepAliveTime"=dword:000493e0
禁止進(jìn)行最大包長度路徑檢測。該項(xiàng)值為1時(shí),將自動檢測出可以傳輸?shù)臄?shù)據(jù)包的大小,
可以用來提高傳輸效率,如出現(xiàn)故障或安全起見,設(shè)項(xiàng)值為0,表示使用固定MTU值576bytes。
"EnablePMTUDiscovery"=dword:00000000
啟動syn攻擊保護(hù)。缺省項(xiàng)值為0,表示不開啟攻擊保護(hù),項(xiàng)值為1和2表示啟動syn攻擊保護(hù),設(shè)成2之后
安全級別更高,對何種狀況下認(rèn)為是攻擊,則需要根據(jù)下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值
設(shè)定的條件來觸發(fā)啟動了。這里需要注意的是,NT4.0必須設(shè)為1,設(shè)為2后在某種特殊數(shù)據(jù)包下會導(dǎo)致系統(tǒng)重啟。
"SynAttackProtect"=dword:00000002
同時(shí)允許打開的半連接數(shù)量。所謂半連接,表示未完整建立的TCP會話,用netstat命令可以看到呈SYN_RCVD狀態(tài)
的就是。這里使用微軟建議值,服務(wù)器設(shè)為100,高級服務(wù)器設(shè)為500。建議可以設(shè)稍微小一點(diǎn)。
"TcpMaxHalfOpen"=dword:00000064
判斷是否存在攻擊的觸發(fā)點(diǎn)。這里使用微軟建議值,服務(wù)器為80,高級服務(wù)器為400。
"TcpMaxHalfOpenRetried"=dword:00000050
設(shè)置等待SYN-ACK時(shí)間。缺省項(xiàng)值為3,缺省這一過程消耗時(shí)間45秒。項(xiàng)值為2,消耗時(shí)間為21秒。
項(xiàng)值為1,消耗時(shí)間為9秒。最低可以設(shè)為0,表示不等待,消耗時(shí)間為3秒。這個(gè)值可以根據(jù)遭受攻擊規(guī)模修改。
微軟站點(diǎn)安全推薦為2。
"TcpMaxConnectResponseRetransmissions"=dword:00000001
設(shè)置TCP重傳單個(gè)數(shù)據(jù)段的次數(shù)。缺省項(xiàng)值為5,缺省這一過程消耗時(shí)間240秒。微軟站點(diǎn)安全推薦為3。
"TcpMaxDataRetransmissions"=dword:00000003
設(shè)置syn攻擊保護(hù)的臨界點(diǎn)。當(dāng)可用的backlog變?yōu)?時(shí),此參數(shù)用于控制syn攻擊保護(hù)的開啟,微軟站點(diǎn)安全推薦為5。
"TCPMaxPortsExhausted"=dword:00000005
禁止IP源路由。缺省項(xiàng)值為1,表示不轉(zhuǎn)發(fā)源路由包,項(xiàng)值設(shè)為0,表示全部轉(zhuǎn)發(fā),設(shè)置為2,表示丟棄所有接受的
源路由包,微軟站點(diǎn)安全推薦為2。
"DisableIPSourceRouting"=dword:0000002
限制處于TIME_WAIT狀態(tài)的最長時(shí)間。缺省為240秒,最低為30秒,最高為300秒。建議設(shè)為30秒。
"TcpTimedWaitDelay"=dword:0000001e
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters]
增大NetBT的連接塊增加幅度。缺省為3,范圍1-20,數(shù)值越大在連接越多時(shí)提升性能。每個(gè)連接塊消耗87個(gè)字節(jié)。
"BacklogIncrement"=dword:00000003
最大NetBT的連接快的數(shù)目。范圍1-40000,這里設(shè)置為1000,數(shù)值越大在連接越多時(shí)允許更多連接。
"MaxConnBackLog"=dword:000003e8
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAfdParameters]
配置激活動態(tài)Backlog。對于網(wǎng)絡(luò)繁忙或者易遭受SYN攻擊的系統(tǒng),建議設(shè)置為1,表示允許動態(tài)Backlog。
"EnableDynamicBacklog"=dword:00000001
配置最小動態(tài)Backlog。默認(rèn)項(xiàng)值為0,表示動態(tài)Backlog分配的自由連接的最小數(shù)目。當(dāng)自由連接數(shù)目
低于此數(shù)目時(shí),將自動的分配自由連接。默認(rèn)值為0,對于網(wǎng)絡(luò)繁忙或者易遭受SYN攻擊的系統(tǒng),建議設(shè)置為20。
"MinimumDynamicBacklog"=dword:00000014
最大動態(tài)Backlog。表示定義最大"準(zhǔn)"連接的數(shù)目,主要看內(nèi)存大小,理論每32M內(nèi)存最大可以
增加5000個(gè),這里設(shè)為20000。
"MaximumDynamicBacklog"=dword:00002e20
每次增加的自由連接數(shù)據(jù)。默認(rèn)項(xiàng)值為5,表示定義每次增加的自由連接數(shù)目。對于網(wǎng)絡(luò)繁忙或者易遭受SYN攻擊
的系統(tǒng),建議設(shè)置為10。
"DynamicBacklogGrowthDelta"=dword:0000000a