香港服務器CDN加速與DDOS防禦方案

一、目的

香港服務器實現國外節點的訪問加速,分區域分線路加速,防禦來自競爭對手的DDos惡意攻擊,常見的延緩性CC攻擊和致命的大流量攻擊。針對以上的加速策略和兩種攻擊方式進行一些防禦方案的簡單介紹。

二、CDN加速

利用第三方的DNS智能解析分區域分線路進行,就近原則,例如Cloudxns/DNSpod/51DNS/DNSla 等。

在這裏插入圖片描述

CDN節點選擇:

主節點選擇香港服務器,其他節點根據應用部署區域進行優選(馬來、新加坡、柬埔寨、菲律賓等),旁路做流量清洗(遭遇攻擊),

自建CDN優勢:

旁路做流量清洗

資源充分利用:無攻擊時,做路由加速,被攻擊時做節點切換

長遠規劃,後期可增加節點、硬件配置等,根據需要自由提升防禦DDOS攻擊能力

架構設計:

我們將CDN節點分解成反向代理+緩存加速+攻擊防禦這三個層次的功能結構。

反向代理: 路由加速,隱藏主節點,負載均衡

緩存加速:靜態推送,節省後端主節點帶寬

攻擊防禦:快速解析,建立syslog分析日誌,匹配過濾惡意攻擊, 多節點CDN可以採用聯動方案,建立syslog系統,採集所有節點訪問日誌,編寫腳本分析日誌,發現異常請求後通過ansible工具發送命令到節點。

三、攻擊防禦

延緩性CC攻擊:

這類攻擊的主要特點是,攻擊者藉助網絡上提供的大量代理服務器 IP,使用攻擊軟件,生成合法請求指向受害主機。這類攻擊成本低,網上現成能發動攻擊軟件多,其目的是通過漸增的垃圾請求,消耗CPU、內存、網絡資源,造成擁堵,達到網站訪問變慢,直至無法訪問。

防禦思路:

這類攻擊有兩個特徵比較明顯,第一個特徵,由於是人爲生成了大量的非法請求,所以會引發網絡的入口異常流量增大(正常情況下出口流量大,入口流量小);

第二個特徵,攻擊力度有一個漸增的過程,機器可以充分利用這個時間智能做出反應,調用日誌分析腳本,進行引流和IP封殺。

具體策略:

1、採用監控軟件的流量監控來觸發日誌分析腳本(zabbix 爲例)

在這裏插入圖片描述

2、採用python腳本統計入口流量,發現異常時,調用日誌分析腳本,第一時間找出IP、Agent等特徵碼,利用iptables對惡意IP進行過濾,應用層上利用nginx關鍵詞進行過濾。

致命的大流量攻擊:

這類攻擊主要特點是,通常以 tcp,icmp 和 UDP(尤其是 UDP 包,單 UDP 的數據包可以很大)方式爲主,攻擊流量可以達到幾十GB以上,整個機房都能受到影響,攻擊者通常利用大量肉雞,對目標進行流量打擊,此時流量會迅速佔滿服務器的帶寬,導致無法響應任何用戶請求。

這類攻擊需要購置大量帶寬,對於攻擊者來說,成本還挺高,但是下手“快狠準”,讓網站在短時間內完全無響應。

由於這類攻擊會引起流量劇增,IDC通常採取的措施是丟車保帥,直接

將被攻擊IP下線,這無疑是落井下石。

防禦思路:

架設硬防火牆(成本高)

租用高防節點

租用大流量CDN分散目標流量(引流)

長久之計,自建CDN

防禦策略:

HAProxy+Nginx/ Varnish/ATS組合,我們稱它爲防禦型反向代理緩存策略,功能角色如下:

HAProxy負責動靜資源分離,實現會話粘滯,節點負載均衡,故障轉移,開啓 HAProxy 的 httplog 功能,做日誌記錄

Nginx負責反向代理緩存

四、架構細節

DNS智能解析+輪詢+存活監測:

1.部署智能DNS就近匹配CDN節點

我們自建CDN其中一個目的是做訪問優化,因此當部署完多個CDN節點後,爲使這些節點協同運作,同時優化用戶的訪問路徑,使得訪客能夠根據自己所在的區域和線路類型,就近從CDN節點上獲取頁面內容,從而優化訪客的路由。

2.DNS自動輪詢+故障監測

利用DNS輪詢來爲網站進行分流負載。如果條件充裕,後期可以部署冗餘的CDN節點,這樣既能緩解某個單一節點的負載,同時能爲節點作互備,當一個區內的CDN節點因故障失效之後,調度機制要在最快時間內將故障節點的流量牽引至當前可用節點,不影響訪客的正常請求。

3.日誌分析+攻擊防禦:

CDN作爲網站的前端節點,實時記錄着訪客的所有訪問行爲。利用好這些訪問日誌,對其進行的分析和挖掘,感知業務層面的一些異常活動,當面臨DDoS攻擊時,能夠提供足夠的證據來區分惡意的IP。

區分惡意攻擊的主要依據類型有:

某個IP發起大量的併發請求

大量連續的IP段發起請求

大量無規則的IP發起請求

目前我們對HAProxy的日誌分析僅作用於單節點,可以利用下面的CDN圖形化管理工具對日誌進行統一管理。

4.多節點CDN圖形化管理工具:

管理和運維一套CDN系統是一件很麻煩的事,想要實現快速部署、集中管理,我們可以利用軟件工具來管理所有CDN在這裏插入圖片描述節點,這裏採用Fikker 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章