問題分析
CDN流量出現突增時,先要檢查是否是有一些業務上的推廣導緻的流量增加。如果不是業務推廣,卻突然産生了大量的異常流量,則很可能是被惡意攻擊或者刷流量導緻,需要定位用戶端來源資訊來加以防護。通常是借助CDN提供的監控統計以及日志來加以分析。
一.監控統計
CDN控制台提供了監控統計分析,包含七個部分:PV/UV、Top用戶端IP、地區和營運商、域名排名、熱門Referer、熱門URL、熱門URLs(回源)、域名排行。使用者可以導出原始詳細資料,如網絡帶寬、流量、域名按流量占比排名以及訪客區域、營運商分布等。使用者可以通過這些監控統計分析用戶端的來源資訊、請求URL、Top用戶端等資訊。其中中等是分析Top用戶端IP以及Top Referer資訊,具體可以看如下圖

注意:Referer為"-"則表示是空Referer的請求。
二.日志分析
CDN控制台的顯示統計分析報表資料會有延遲,對于正在發生的惡意刷流量或攻擊行為,往往無法擷取實時的資訊,這種情況下需要借助CDN提供的日志來分析定位用戶端的來源資訊。目前CDN提供的日志分為兩種:離線日志和實時日志。
(1)離線日志:預設開啟,日志檔案延遲一般情況下延遲在24小時之内,但是也有可能超過24小時。登入CDN控制台,下載下傳日志檔案,日志相關字段說明請參
日志下載下傳。可以借助Linux指令來分析日志,例如執行如下指令,查詢通路量前十的IP:
cat [$Log_Txt] | awk '{print $3}' |sort|uniq -c|sort -nr |head -10
用同樣的方法可以分析通路量前10的Top Referer、URL資訊,更多請參考
日志分析。
(2)實時日志:屬于計費服務,預設不開啟,需要手動開啟,日志資料延遲不超過3分鐘。阿裡雲CDN通過與日志服務融合,将采集到的實時日志實時推送至日志服務,并進行日志分析。通過日志的實時分析,使用者可以快速發現和定位問題。除此之外,通過對日志資料的挖掘,提高資料的決策能力,将您的業務推向一個新的高度,更多請參考
實時日志幫助文檔。
安全防護
通過分析出用戶端來源資訊以後,可以按照以下處理流程圖來處理
(1)
配置IP黑白名單:通過監控統計分析和日志檢視是否存在異常IP位址通路資源。如果有短時間大量通路的惡意IP位址,請将IP位址配置為黑名單。
(2)
配置Referer防盜鍊:該功能是根據HTTP請求的Referer字段來對請求來源的域名進行篩選和連結。CDN支援三種防盜鍊設定:白名單、黑名單以及是否允許空refer。防盜鍊功能主要通過URL過濾的方法對來源Host的位址進行過濾,其中黑名單和白名單隻能有一種生效,可以将惡意Referer加入黑名單或将正常業務Referer加入白名單,通過該功能可以對請求來源進行限制。
(3)
配置頻次控制:如果惡意IP量比較大且不固定,不容易配置IP黑名單,可以考慮配置頻次控制。可以根據實際場景自定義配置頻次控制功能,設定機關時間内單IP通路頻次超過設定的門檻值則觸發阻斷,通過頻次控制功能,可以秒級阻斷通路該網站的請求,提升網站的安全性。
(4)
配置URL鑒權:URL鑒權功能主要用于保護使用者站點的資源不被非法站點下載下傳盜用。通過防盜鍊方法添加Referer黑名單和白名單的方式可以解決一部分盜鍊問題,由于Referer内容可以僞造,是以Referer防盜鍊方式無法徹底保護站點資源。是以,可以采用URL鑒權方式保護源站資源更為安全有效。
(5)
配置UA黑白名單:可以通過配置User-Agent黑名單和白名單來實作對訪客身份的識别和過濾,進而限制通路CDN資源的使用者,提升CDN的安全性。
安全加速
阿裡雲CDN是公共的加速服務,承載着成千上萬的域名加速,預設不提供抗攻擊能力。是以當使用者域名遭受大量攻擊時,CDN系統會自動将對應域名切入沙箱,防止影響其他正常使用者的加速服務,域名進入沙箱後,服務品質不再保證且無法恢複,是以做好防護工作十分重要。
(1)對于CC攻擊,可以考慮
配置WAF防護功能,使用CDN WAF功能不能解決惡意刷流量問題,但是可以防資料洩密,避免因黑客的注入入侵攻擊,導緻網站核心資料被拖庫洩露;阻止木馬上傳網頁篡改,保障網站的公信力;提供虛拟更新檔,針對網站被曝光的最新漏洞,最大可能地提供快速修複規則。
(2)如果域名經常遭受攻擊,可以根據自身業務需求考慮使用
SCDN來做安全加速。SCDN(Secure Content Delivery Network),即擁有安全防護能力的CDN服務,提供穩定加速的同時,深度內建抗DDoS、CC攻擊的防護功能。基于阿裡雲飛天平台的計算能力,使用深度學習的算法,智能預判攻擊行為,通過智能的排程系統将DDoS惡意請求平滑切換至高防IP完成清洗,保護源站。
系統監控
CDN被惡意刷流量導緻流量異常時,會産生一定的經濟損失,是以建議提前做好監控和安全防護工作。通常我們可以通過CDN的帶寬封頂功能以及雲監控的門檻值報警功能來做監控。
一.帶寬封頂
帶寬封頂功能是指當統計周期(5分鐘)産生的平均帶寬超出設定的帶寬最大值時,為了保護CDN域名安全,此時域名會自動下線,所有的請求會回到源站,CDN将停止加速服務,避免異常流量給使用者帶來的異常消費。域名下線後,可以在控制台重新啟用該域名,具體請參考
帶寬封頂注:因為觸發帶寬封頂以後域名會停止CDN加速,域名會解析到源站,是以相當于會把源站位址暴露出去,這裡也帶寬安全隐患,是以建議根據實際情況考慮使用啟用該功能。
二. 雲監控報警規則
結合阿裡雲的雲監控服務,通過設定雲監控的報警功能,可以設定帶寬峰值和下行流量的報警規則。當流量達到門檻值時,系統自動通過電話、短信、郵件等方式通知使用者,請及時采取措施。登入
雲監控控制台,依次選擇【報警服務】>【報警規則】>【門檻值報警】>【建立報警規則】,選擇産品 CDN以後去設定規則。建立針對CDN的報警規則,詳情請參見
建立門檻值報警規則