AP
對于遭受DDoS攻擊是讓人頭疼的,如果我們有良好的DDoS防御方法,那么很多問題就能迎刃而解,我們有哪些有效的方法來做好DDoS防御呢?
對付DDoS攻擊是一個系統(tǒng)工程,想僅僅依靠某種系統(tǒng)或產(chǎn)品防住DDoS攻擊是不現(xiàn)實的。還可以肯定的是,完全杜絕DDoS攻擊目前是不可能的。但通過適當?shù)拇胧┑钟?0%的DDoS攻擊是可以做到的?;诠艉头烙加谐杀鹃_銷的緣故,若通過適當?shù)霓k法增強了抵御DDoS攻擊的能力,也就意味著加大了攻擊者的攻擊成本,那么絕大多數(shù)攻擊者將無法繼續(xù)下去而放棄,也就相當于成功地抵御了DDoS攻擊。
打個比方,這就像是運營.家餐廳,正常情況下,最多可以容納200人同時進餐。顧客走進餐廳,找一張桌子坐下點餐,馬上就可以吃到東西。如果有惡意的300名搗亂顧客同時涌進餐廳。這些人看上去跟正常的顧客一樣,每個都說“我要點餐”。但是,餐廳的容量只有200人,根本不可能同時滿足這么多的點餐需求,加上他們把門口都堵死了,正常用餐的客人根本進不來,就導致餐廳無法正常運營。
這就是DDoS攻擊,它在短時間內(nèi)發(fā)起大量請求,耗盡服務器的資源,無法響應正常的訪問,造成網(wǎng)站實質(zhì)下線。DDoS里面的DoS是denial of service(停止服務)的縮寫,表示這種攻擊的目的,就是使得服務中斷。最前面的那個D是distributed(分布式),表示攻擊不是來自一個地方,而是來自四面八方,因此更難抵御。下面介紹DDoS防御的11種方法。
一、采用高性能的網(wǎng)絡設備
首先,要保證網(wǎng)絡設備不能成為瓶頸,因此選擇路由器、交換機、硬件防火墻等設備的時候要盡量選用知名度高、口碑好的產(chǎn)品;其次,假如和網(wǎng)絡提供商有特殊關系或協(xié)議的話就更好了,當大量攻擊發(fā)生的時候請他們在網(wǎng)絡接點處做下流量限制來對抗某些種類的DDoS攻擊是非常有效的。
二、盡量避免NAT的使用
無論是路由器還是硬件防護墻設備,要盡量避免采用網(wǎng)絡地址轉換NAT技術,因為采用此技術會較大降低網(wǎng)絡通信能力,其實原因很簡單,因為NAT需要對地址來回轉換,轉換過程中需要對網(wǎng)絡包的校驗和進行計算,因此浪費了很多CPU的時間,但有些時候必須使用NAT,那就沒有好辦法了。
三、充足的網(wǎng)絡帶寬保證
網(wǎng)絡帶寬直接決定了能抗受攻擊的能力,假若僅漢有10M帶寬的話,無論采取什么措施都很難對抗現(xiàn)在的SYNFlood攻擊,當前至少要選擇100m的共享帶寬,最好的當然是在1000M的主干上。但需要注意的是,主機上的網(wǎng)卡是1000M的并不意味著它的網(wǎng)絡帶寬就是1000M的,若把它接在100M的交換機上,它的實際帶寬不會超過100M,再就是接在100M的網(wǎng)絡上也不等于就有了100M的帶寬,因為網(wǎng)絡服務商很可能會在交換機上限制實際帶寬為10M,這點一定要搞清楚。
四、升級主機服務器硬件
在有網(wǎng)絡帶寬保證的前提下,盡量提升硬件配置,要有效對抗每秒10萬個SYN攻擊包,只有硬件設備足夠精良,才能更好地應對攻擊。 五、把網(wǎng)站做成靜態(tài)頁面或者(瞬攀態(tài)
大量事實證明,把網(wǎng)站盡可能做成靜態(tài)頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,至少到現(xiàn)在為止關于HTML的溢出還沒出現(xiàn)。新浪、搜狐、網(wǎng)易等門戶網(wǎng)站主要都是靜態(tài)頁面,若你非需要動態(tài)腳本調(diào)用,那就把網(wǎng)站放到另外一臺單獨主機去,免的遭受攻擊時連累主服務器。當然,適當放一些不做數(shù)據(jù)庫調(diào)用的腳本還是可以的。此外,最好在需要調(diào)用數(shù)據(jù)庫的腳本中拒絕使用代理的訪問,因為經(jīng)驗表明使用代理訪問你網(wǎng)站的80%屬于惡意行為。
六、增強操作系統(tǒng)的TCP/IP棧
Windows 2000和Windows 2003作為服務器操作系統(tǒng),本身就具備一定的抵抗DDoS攻擊的能力,只是默認狀態(tài)下沒有開啟而已,若開啟的話可抵擋約10000個SYN攻擊包,若沒有開啟則僅能抵御數(shù)百個,具體怎么開啟,這里就不詳細介紹了。
七、安裝DDoS防火墻
專業(yè)的DDoS防火墻采用MircoKernel微內(nèi)核技術實現(xiàn),工作在系統(tǒng)的最底層,充分發(fā)揮CPU的效能,僅耗費少許內(nèi)存即獲得驚人的處理效能。經(jīng)SmartBit高強度攻防試驗測試表明:在抗DDoS攻擊方面,工作于100M網(wǎng)絡的冰盾防火墻可抵御每秒20多萬個SYN包攻擊,工作于1000M網(wǎng)絡的冰盾防火墻約可抵御160多萬個SYN攻擊包;在防黑客入侵方面,冰盾防火墻可智能識別Port掃描、Unicode惡意編碼、SQL注人攻擊、Trojan木馬上傳、Exploit漏洞利用等2000多種黑客入侵行為并自動阻止。
八、HTTP請求的攔截
如果惡意請求有特征,劉可寸起來很簡單,直接攔截它就行了。HTTP請求的特征一般有兩種:IP地址和User Agent字段。比如,惡意請求都是從某個IP段發(fā)出的,那么把這個IP段封掉就行了?;蛘撸鼈兊腢ser Agent字段有特征(包含某個特定的詞語),那就把帶有這個詞語的請求攔截。
九、備份網(wǎng)站
你要有占個備份網(wǎng)站,或者有占個臨時主頁。服務器萬下線了,可以立刻切換到備份網(wǎng)站。備份網(wǎng)站不一定是全功能的,如果能做到全靜態(tài)瀏覽,就能滿足需求。最低限度應該可以顯示公告,告訴用戶網(wǎng)站出了問題,正在全力搶修。這種臨時主頁建議放到Github Pages或者Netlify,它們的帶寬大,可以應對攻擊,而且都支持綁定域名,還能從源碼自動構建。
十、部署CDN
CDN指的是網(wǎng)站的靜態(tài)內(nèi)容分發(fā)到多個服務器,用戶就近訪問,提高速度。因此,CDN也是帶寬擴容的一種方法,可以用來防御DDoS攻擊。
網(wǎng)站內(nèi)容存放在源服務器,CDN上面是內(nèi)容的緩存。用戶只允許訪問CDN,如果內(nèi)容不在CDN上,CDN再向源服務器發(fā)出請求。這樣的話,只要CDN夠大,就可以抵御很大的攻擊。不過,這種方法有一個前提,網(wǎng)站的大部分內(nèi)容必須可以靜態(tài)緩存。對于動態(tài)內(nèi)容為主的網(wǎng)站(比如論壇),就要想別的辦法,盡量減少用戶對動態(tài)數(shù)據(jù)的請求。
各大云服務商提供的高防IP,背后也是這樣做的。網(wǎng)站域名指向高防IP,它提供一個緩沖層,清洗流量,并對源服務器的內(nèi)容進行緩存。
這里有一個關鍵點,一旦上了CDN,千萬不要泄露源服務器的IP地址,否則攻擊者可以繞過CDN直接攻擊源服務器,前面的努力都將白費。
十一、其他防御措施
以上幾條對抗DDoS建議,適合絕大多數(shù)擁有自己主機的用戶,但假如采取以上措施后仍然不能解決DDoS問題,可能需要更多投資,增加服務器數(shù)量并采用DNS輪巡或負載均衡技術,甚至需要購買七層交換機設備,從而使得抗DDoS攻擊能力成倍提高。