1、採用高性能的網路設備
首先要保證網路設備不能成為瓶頸,因此選擇路由器、交換機、硬體防火牆等設備的時候要盡量選用知名度高、口碑好的產品。再就是假如和網路提供商有特殊關系或協議的話就更好了,當大量攻擊發生的時候請他們在網路接點處做一下流量限制來對抗某些種類的DDoS攻擊是非常有效的。
2、盡量避免NAT的使用
無論是路由器還是硬體防護牆設備要盡量避免採用網路地址轉換NAT的使用,因為採用此技術會較大降低網路通信能力,其實原因很簡單,因為NAT需要對地址來回轉換,轉換過程中需要對網路包的校驗和進行計算,因此浪費了很多CPU的時間,但有些時候必須使用NAT,那就沒有好辦法了。
3、充足的網路帶寬保證
網路帶寬直接決定了能抗受攻擊的能力,假若僅僅有10M帶寬的話,無論採取什麼措施都很難對抗現在的SYNFlood攻擊,當前至少要選擇100M的共享帶寬,最好的當然是掛在1000M的主幹上了。但需要注意的是,主機上的網卡是1000M的並不意味著它的網路帶寬就是千兆的,若把它接在100M的交換機上,它的實際帶寬不會超過100M,再就是接在100M的帶寬上也不等於就有了百兆的帶寬,因為網路服務商很可能會在交換機上限制實際帶寬為10M,這點一定要搞清楚。
4、升級主機伺服器硬體
在有網路帶寬保證的前提下,請盡量提升硬體配置,要有效對抗每秒10萬個SYN攻擊包,伺服器的配置至少應該為:P4 2.4G/DDR512M/SCSI-HD,起關鍵作用的主要是CPU和內存,若有志強雙CPU的話就用它吧,內存一定要選擇DDR的高速內存,硬碟要盡量選擇SCSI的,別只貪IDE價格不貴量還足的便宜,否則會付出高昂的性能代價,再就是網卡一定要選用3COM或Intel等名牌的,若是Realtek的還是用在自己的PC上吧。
5、把網站做成靜態頁面或者偽靜態
大量事實證明,把網站盡可能做成靜態頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,至少到現在為止關於HTML的溢出還沒出現,看看吧!新浪、搜狐、網易等門戶網站主要都是靜態頁面,若你非需要動態腳本調用,那就把它弄到另外一台單獨主機去,免的遭受攻擊時連累主伺服器,當然,適當放一些不做資料庫調用腳本還是可以的,此外,最好在需要調用資料庫的腳本中拒絕使用代理的訪問,因為經驗表明使用代理訪問你網站的80%屬於惡意行為。
6、增強操作系統的TCP/IP棧
Win2000和Win2003作為伺服器操作系統,本身就具備一定的抵抗DDoS攻擊的能力,只是默認狀態下沒有開啟而已,若開啟的話可抵擋約10000個SYN攻擊包,若沒有開啟則僅能抵禦數百個,具體怎麼開啟,自己去看微軟的文章吧!《強化 TCP/IP 堆棧安全》。
7、安裝專業抗DDOS防火牆
通過像雲漫網路這樣專業的網路安全公司接入專業抗DDOS防火牆,對惡意攻擊進行流量清洗,保障伺服器的穩定運行。
8、HTTP 請求的攔截
如果惡意請求有特徵,對付起來很簡單:直接攔截它就行了。HTTP 請求的特徵一般有兩種:IP 地址和 User Agent 欄位。比如,惡意請求都是從某個 IP 段發出的,那麼把這個 IP 段封掉就行了。或者,它們的 User Agent 欄位有特徵(包含某個特定的詞語),那就把帶有這個詞語的請求攔截。
9、部署CDN
CDN 指的是網站的靜態內容分發到多個伺服器,用戶就近訪問,提高速度。因此,CDN 也是帶寬擴容的一種方法,可以用來防禦 DDOS 攻擊。
網站內容存放在源伺服器,CDN 上面是內容的緩存。用戶只允許訪問 CDN,如果內容不在 CDN 上,CDN 再向源伺服器發出請求。這樣的話,只要 CDN 夠大,就可以抵禦很大的攻擊。不過,這種方法有一個前提,網站的大部分內容必須可以靜態緩存。對於動態內容為主的網站(比如論壇),就要想別的辦法,盡量減少用戶對動態數據的請求。
各大雲服務商提供的高防 IP,背後也是這樣做的:網站域名指向高防 IP,它提供一個緩沖層,清洗流量,並對源伺服器的內容進行緩存。
這里有一個關鍵點,一旦上了 CDN,千萬不要泄露源伺服器的 IP 地址,否則攻擊者可以繞過 CDN 直接攻擊源伺服器,前面的努力都白費。搜一下"繞過 CDN 獲取真實 IP 地址",你就會知道國內的黑產行業有多猖獗。
10、其他防禦措施
以上幾條對抗DDoS建議,適合絕大多數擁有自己主機的用戶,但假如採取以上措施後仍然不能解決DDoS問題,就有些麻煩了,可能需要更多投資,增加伺服器數量並採用DNS輪巡或負載均衡技術,甚至需要購買七層交換機設備,從而使得抗DDoS攻擊能力成倍提高,只要投資足夠深入。