一、什么是DDoS?
DDOS是英文Distributed Denial ofService的縮寫,意即“分布式拒絕服務”,那么什么又是拒絕服務(Denial ofService)呢?可以這么理解,凡是能導致合法用戶不能夠訪問正常網(wǎng)絡服務的行為都算是拒絕服務攻擊。也就是說拒絕服務攻擊的目的非常明確,就是要阻止合法用戶對正常網(wǎng)絡資源的訪問,從而達成攻擊者不可告人的目的。分布式拒絕服務攻擊一旦被實施,攻擊網(wǎng)絡包就會猶如洪水般涌向受害主機,從而把合法用戶的網(wǎng)絡包淹沒,導致合法用戶無法正常訪問服務器的網(wǎng)絡資源,因此,拒絕服務攻擊又被稱之為“洪水式攻擊”,常見的DDOS攻擊手段有SYNFlood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、ScriptFlood、Proxy Flood等
二、當前主要三種流行的DDOS攻擊方式
1、SYN/ACKFlood攻擊:這種攻擊方法是經(jīng)典最有效的DDOS方法,可通殺各種系統(tǒng)的網(wǎng)絡服務,主要是通過向受害主機發(fā)送大量偽造源IP和源端口的SYN或ACK包,導致主機的緩存資源被耗盡或忙于發(fā)送回應包而造成拒絕服務,由于源都是偽造的故追蹤起來比較困難,少量的這種攻擊會導致主機服務器無法訪問,但卻可以Ping的通,在服務器上用Netstat-na命令會觀察到存在大量的SYN_RECEIVED狀態(tài),大量的這種攻擊會導致Ping失敗、TCP/IP棧失效,并會出現(xiàn)系統(tǒng)凝固現(xiàn)象,即不響應鍵盤和鼠標。普通防火墻大多無法抵御此種攻擊。
2、TCP全連接攻擊:這種攻擊是為了繞過常規(guī)防火墻的檢查而設計的,一般情況下,常規(guī)防火墻大多具備過濾TearDrop、Land等DOS攻擊的能力,但對于正常的TCP連接是放過的,殊不知很多網(wǎng)絡服務程序(如:IIS、Apache等Web服務器)能接受的TCP連接數(shù)是有限的,一旦有大量的TCP連接,即便是正常的,也會導致網(wǎng)站訪問非常緩慢甚至無法訪問,TCP全連接攻擊就是通過許多僵尸主機不斷地與受害服務器建立大量的TCP連接,直到服務器的內(nèi)存等資源被耗盡而被拖跨,從而造成拒絕服務,這種攻擊的特點是可繞過一般防火墻的防護而達到攻擊目的,缺點是需要找很多僵尸主機,并且由于僵尸主機的IP是暴露的,因此容易被追蹤。
3、刷Script腳本攻擊:這種攻擊主要是針對存在ASP、JSP、php、CGI等腳本程序,并調(diào)用MSSQLServer、MySQLServer、Oracle等數(shù)據(jù)庫的網(wǎng)站系統(tǒng)而設計的,特征是和服務器建立正常的TCP連接,并不斷的向腳本程序提交查詢、列表等大量耗費數(shù)據(jù)庫資源的調(diào)用,典型的以小博大的攻擊方法。一般來說,提交一個GET或POST指令對客戶端的耗費和帶寬的占用是幾乎可以忽略的,而服務器為處理此請求卻可能要從上萬條記錄中去查出某個記錄,這種處理過程對資源的耗費是很大的,常見的數(shù)據(jù)庫服務器很少能支持數(shù)百個查詢指令同時執(zhí)行,而這對于客戶端來說卻是輕而易舉的,因此攻擊者只需通過Proxy代理向主機服務器大量遞交查詢指令,只需數(shù)分鐘就會把服務器資源消耗掉而導致拒絕服務,常見的現(xiàn)象就是網(wǎng)站慢如蝸牛、ASP程序失效、PHP連接數(shù)據(jù)庫失敗、數(shù)據(jù)庫主程序占用CPU偏高。這種攻擊的特點是可以完全繞過普通的防火墻防護,輕松找一些Proxy代理就可實施攻擊,缺點是對付只有靜態(tài)頁面的網(wǎng)站效果會大打折扣,并且有些Proxy會暴露攻擊者的IP地址。
三、怎么抵御DDOS?
1、采用高性能的網(wǎng)絡設備
首先要保證網(wǎng)絡設備不能成為瓶頸,因此選擇路由器、交換機 、硬件防火墻等設備的時候要盡量選用知名度高、口碑好的產(chǎn)品。再就是假如和網(wǎng)絡提供商有特殊關系或協(xié)議的話就更好了,當大量攻擊發(fā)生的時候請他們在網(wǎng)絡接點處做一下流量限制來對抗某些種類的DDOS攻擊是非常有效的。

2、盡量避免NAT的使用
無論是路由器還是硬件防護墻設備要盡量避免采用網(wǎng)絡地址轉(zhuǎn)換NAT的使用,因為采用此技術會較大降低網(wǎng)絡通信能力,其實原因很簡單,因為NAT需要對地址來回轉(zhuǎn)換,轉(zhuǎn)換過程中需要對網(wǎng)絡包的校驗和進行計算,因此浪費了很多CPU的時間,但有些時候必須使用NAT,那就沒有好辦法了。
3、充足的網(wǎng)絡帶寬保證
網(wǎng)絡帶寬直接決定了能抗受攻擊的能力,假若僅僅有10M帶寬的話,無論采取什么措施都很難對抗現(xiàn)在的SYNFlood攻擊,當前至少要選擇100M的共享帶寬,最好的當然是掛在1000M的主干上了。但需要注意的是,主機上的網(wǎng)卡是1000M的并不意味著它的網(wǎng)絡帶寬就是千兆的,若把它接在100M的交換機上,它的實際帶寬不會超過100M,再就是接在100M的帶寬上也不等于就有了百兆的帶寬,因為網(wǎng)絡服務商很可能會在交換機上限制實際帶寬為10M,這點一定要搞清楚。
4、升級主機服務器硬件
在有網(wǎng)絡帶寬保證的前提下,請盡量提升硬件配置,要有效對抗每秒10萬個SYN攻擊包,服務器的配置至少應該為:P42.4G/DDR512M/SCSI-HD,起關鍵作用的主要是CPU和內(nèi)存,若有志強雙CPU的話就用它吧,內(nèi)存一定要選擇DDR的高速內(nèi)存,硬盤要盡量選擇SCSI的,別只貪IDE價格不貴量還足的便宜,否則會付出高昂的性能代價,再就是網(wǎng)卡一定要選用3COM或Intel等名牌的,若是Realtek的還是用在自己的PC上吧。
5、把網(wǎng)站做成靜態(tài)頁面
大量事實證明,把網(wǎng)站盡可能做成靜態(tài)頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,至少到現(xiàn)在為止關于html的溢出還沒出現(xiàn),看看吧!新浪、搜狐、網(wǎng)易等門戶網(wǎng)站主要都是靜態(tài)頁面,若你非需要動態(tài)腳本調(diào)用,那就把它弄到另外一臺單獨主機去,免的遭受攻擊時連累主服務器,當然,適當放一些不做數(shù)據(jù)庫調(diào)用腳本還是可以的,此外,最好在需要調(diào)用數(shù)據(jù)庫的腳本中拒絕使用代理的訪問,因為經(jīng)驗表明使用代理訪問你網(wǎng)站的80%屬于惡意行為。
6、增強操作系統(tǒng)的TCP/IP棧
Win2000和Win2003作為服務器操作系統(tǒng),本身就具備一定的抵抗DDOS攻擊的能力,只是默認狀態(tài)下沒有開啟而已,若開啟的話可抵擋約10000個SYN攻擊包,若沒有開啟則僅能抵御數(shù)百個,具體怎么開啟,自己去看微軟的文章吧!《強化 TCP/IP 堆棧安全》。
也許有的人會問,那我用的是linux和FreeBSD怎么辦?很簡單,按照這篇文章去做吧!《SYN Cookies》。
7、安裝專業(yè)抗DDOS防火墻
8、其他防御措施
以上幾條對抗DDOS建議,適合絕大多數(shù)擁有自己主機的用戶,但假如采取以上措施后仍然不能解決DDOS問題,就有些麻煩了,可能需要更多投資,增加服務器數(shù)量并采用DNS輪巡或負載均衡技術,甚至需要購買七層交換機設備,從而使得抗DDOS攻擊能力成倍提高,只要投資足夠深入。TG-NET智能網(wǎng).絡世界_萬兆交換機_萬兆環(huán)網(wǎng)交換機_POE供電_POE交換機_智能流控路由器