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