全部產品
Search
文件中心

CDN:防範流量盜刷最佳實務

更新時間:Apr 28, 2025

當您的網域名稱因被惡意攻擊或流量被惡意盜刷,產生了突發高頻寬或者大流量消耗,導致產生高於日常消費金額的高額賬單。因惡意攻擊或流量盜刷產生的高額賬單無法免除/退款,為盡量避免此類風險,本文為您介紹這一類情況的應對辦法。

及時止損

當您已經發現網域名稱因被惡意攻擊或流量被惡意盜刷,並且產生了高額賬單,請先設定頻寬上限和單請求限速,以此來減少進一步的損失,設定完成後再進一步分析日誌做出針對性的安全設定。

控制頻寬用量

通過設定頻寬上限,來控制頻寬用量。當指定加速網域名稱在統計周期(1分鐘)內產生的平均頻寬超出預設上限,CDN將停止為該網域名稱提供加速服務,且該網域名稱會被解析到無效地址offline.***.com,無法繼續訪問。因此設定頻寬封頂頻寬值時,可根據日常業務峰值預留適當頻寬空間。具體操作請參見配置頻寬封頂

image

限制下行速率

通過配置單請求限速,對使用者訪問到CDN節點的所有請求進行下行速率限速,以此來壓制加速網域名稱的全網頻寬峰值。具體操作請參見配置單請求限速

image

分析原因

查詢賬單明細,確認流量異常的時間段

您可以在費用與成本明細賬單頁面查看雲產品相關的消費明細。根據實際需求選擇統計維度和統計周期,查看不同維度報表。詳細操作請參見明細賬單

統計周期選擇明細產品選擇CDN,仔細審查賬單,注意流量和頻寬的異常增加,以及流量異常的時間段。具體請參見賬單查詢

檢查記錄檔,識別異常流量

基礎查詢:離線日誌

通過下載離線日誌,查看相關時間段的訪問日誌,分析HTTP請求的詳細資料,識別可疑的IP地址、User-Agent等。離線日誌欄位資料相對較少,如果您想查看更多資料,可使用即時日誌功能。

獲得離線記錄檔後,您可以使用命令列工具來快速解析記錄檔,提取訪問量TOP10的IP地址或User-Agent等資訊,詳情請參見CDN訪問日誌的分析方法

進階查詢:營運報表和即時日誌

重要
  • 營運報表需定製後才會進行生產統計分析,如果您之前已配置過即時日誌推送或訂閱營運報表,您可以查看到過去的日誌資訊。營運報表為CDN內建免費功能,無需額外付費。

  • 即時日誌需要開通Log Service(SLS)並成功投遞日誌後,才會產生即時日誌。即時日誌為付費功能,具體計費請參見計費詳情

  • 即時日誌和營運報表均需要提前配置,如果您在產生高額賬單之前未配置過這兩項功能,只能通過離線日誌進行歷史資料分析。

營運報表

定製營運報表後,您可以看到使用者訪問的PV/UV地區和電訊廠商網域名稱排行熱門referer熱門URL回源熱門URLTop用戶端IP等報表內容。具體操作請參見定製和訂閱營運報表

image

即時日誌

如果您想查詢更多日誌資訊,例如Referer和URI等資訊,需要開通Log ServiceSLS,將採集到的即時日誌即時推送至Log Service。開啟即時日誌,並成功投遞日誌後,根據日誌投遞條數產生計費。

  1. 參考配置即時日誌推送為需要分析使用者訪問資料的CDN加速網域名稱配置即時日誌推送。

  2. 在即時日誌功能頁面找到需要分析日誌的Project名稱,單擊日誌分析

    image

  3. 進入日誌分析頁面,在右上方過濾時間段,單擊左側原始日誌頁簽,找到refer_domain欄位,您可以看到由高到低排列的Referer資訊。

    image

解決問題

當您擷取到了日誌或報表資料後,您可以通過資料特徵來分析攻擊類型。通常您可以分析Top資訊(Top IP、Top User-Agent、Top Referer等)提取特徵。

限制可疑IP訪問

通過配置IP黑名單,限制訪問源IP。分析日誌後,篩選出一些可疑的攻擊IP,您需要將這些可疑的IP地址列入黑名單。具體操作請參見配置IP黑白名單

image

過濾可疑User-Agent

攻擊者通過偽造User-Agent欄位發送大量請求,試圖繞過安全檢查。偽造的User-Agent可能是空值、隨機字串或常見瀏覽器的偽造字串。您可以配置User-Agent白名單或黑名單,拒絕非正常的User-Agent請求。例如,拒絕空User-Agent或不符合規範的隨機字串,您可以使用參數this-is-empty-uaRandomString分別來表示空User-Agent和隨機字串。具體操作請參見配置UA黑白名單

image

添加可疑Referer至黑名單

攻擊者在要求標頭中偽造Referer欄位,以假冒合法的引用來源,進行惡意請求。配置Referer黑白名單,允許合法的Referer訪問,防止未經授權的第三方網站連結到資源,拒絕帶有惡意Referer的請求。在規則輸入框中填寫日誌中查詢出的異常Referer,建議勾選忽略scheme。具體操作請參見配置Referer黑/白名單

image

升級至ESA並接入WAF、Bots防護

建議您將網域名稱遷移至ESA產品,ESA提供豐富的防護功能,不僅可以保護資料安全,同時也提升了訪問速度和使用者體驗。您可以根據如何從CDN、DCDN升級到ESA的指引,快速完成網域名稱的遷移。然後根據下方引導,快速接入ESA的安全防護功能。

WAF

ESAWAF提供了IP訪問規則、白名單規則、自訂規則等豐富的規則匹配攔截能力,避免網站伺服器被惡意入侵,保障業務的核心資料安全。

配置IP訪問規則

  1. 在ESA控制台,選擇網站管理,在站点列單擊目標網站。

  2. 在網站詳情頁面,選擇安全防護 > WAF > IP訪問規則

  3. 選擇並填寫需要防護的IP/IP段ASN號、地區資訊,並設定執行動作,單擊添加規則。執行動作詳情參考執行動作說明

    image

  4. 可選:建立的規則預設對網站下所有HTTP(7層)請求生效。如需在TCP/UDP(4層代理)請求中生效需在網站詳情頁面,選擇四層代理>配置,在配置頁面點擊建立應用,在建立應用頁面中開啟IP存取控制

    image

配置白名單規則

  1. 在ESA控制台,選擇網站管理,在站点列單擊目標網站。

  2. 在網站詳情頁面,選擇安全防護 > WAF > 白名單規則

  3. 白名單規則頁簽,單擊新增規則

    • 填寫規則名稱

    • 當請求匹配以下規則時...地區設定要匹配的使用者請求特徵,請求匹配規則詳細資料請參見規則運算式的組成

    • 則跳過...地區設定當請求具有指定特徵時,使請求不經過特定防護規則監測。

      • 全部規則:代表跳過所有WAF和Bot管理的規則。

      • 部分規則:可精細化選擇要跳過的規則。其中當選擇託管規則時,可指定跳過規則的種類或ID,例如跳過SQL注入的規則或輸入具體的規則ID跳過。

  4. 單擊確定

配置自訂規則

  1. 在ESA控制台,選擇網站管理,在站点列單擊目標網站。

  2. 在左側導覽列,選擇安全防護 > WAF

  3. 單擊自訂規則頁簽,進入自訂規則頁簽,單擊新增規則

    • 填寫規則名稱

    • 當請求匹配以下規則時...地區設定要匹配的使用者請求特徵,請求匹配規則參見規則運算式的組成

    • 則執行...地區設定當請求命中該規則時,要執行的防護動作,詳細資料請參見執行動作說明

  4. 單擊確定

Bots防護

ESABots支援簡易模式進階模式的配置。通過簡易模式您可以快速的為當前網站配置爬蟲管理,而進階模式提供了更為精準的爬蟲規則,方便您針對性的對網站或APP作出調整。

簡易模式

簡易模式是面向安全入門級使用者的機器流量、爬蟲管理功能,相比於需要專業配置能力配置複雜規則的進階模式,簡易模式只需要快速選擇對某類爬蟲的處置動作即可實現對爬蟲的管理。

操作步驟

  1. 在ESA控制台,選擇網站管理,在站点列單擊目標網站。

  2. 在左側導覽列,選擇安全防護 > Bots

  3. Bot管理頁面,選擇簡易模式,根據下列說明選擇合適的配置項進行配置開啟

    • 絕對是Bot絕對是Bot的請求往往包含大量惡意爬蟲請求。一般建議做攔截或滑塊挑戰。

    • 可能是Bot可能是Bot的請求風險較絕對是Bot相對較低,有可能包含惡意爬蟲以及其他流量。一般建議觀察或在風險較高時期做滑塊挑戰。

    • 已通過驗證的Bot已通過驗證的Bot通常是各類搜尋引擎的爬蟲,有利於您網站的SEO最佳化。一般建議允許存取,如您不希望任何搜尋引擎爬蟲訪問您的網站時可做攔截操作。

    • 可能是真人(該類型不支援設定處置動作):大機率來自真實真人使用者的訪問,不建議做特殊處置動作。

    • 對靜態資源請求生效:絕對是Bot、可能是Bot、已通過驗證的Bot的配置預設僅對動態資源請求(這些請求將會經過加速訪問您的來源站點)生效,開啟後將對命中ESA緩衝的請求(通常是圖片、視頻等靜態檔案)生效。

    • JavaScript檢測ESA將使用輕量隱性的JavaScript檢測最佳化Bot識別結果。

      說明

      僅瀏覽器用戶端可以通過JavaScript檢測,如果您存在從IDC機房訪問您的網站的業務,請不要開啟該功能,以避免誤攔截。

進階模式

通過進階模式,您可以為瀏覽器Web頁面或基於iOS/Android原生開發的App提供防爬功能。Bot管理支援您對不同特徵的請求做爬蟲挑戰,也支援您直接使用系統內建的爬蟲庫(搜尋引擎爬蟲、AI智能防護、爬蟲威脅情報庫、IDC黑名單、偽造爬蟲名單等)而無需自己手動分析和更新爬蟲特徵。

操作步驟

  1. 在ESA控制台,選擇網站管理,在站点列單擊目標網站。

  2. 在左側導覽列,選擇安全防護 > Bots

  3. Bot管理頁面,選擇進階模式,單擊建立規則集

  4. 根據介面提示設定相關參數,單擊確定

設定網頁防爬規則

如果您通過瀏覽器訪問網頁或H5頁面(包括App中使用的H5頁面)等,您可以通過設定瀏覽器訪問網頁的防爬規則,更有針對性地對業務進行爬蟲風險防護。

配置模組

配置項

說明

全域配置

規則集名稱

設定規則集名稱,支援輸入英文字元(大小寫)、數字(0~9)及底線_

防護目標類型

選擇網頁/瀏覽器,表示防護通過瀏覽器訪問的網頁或H5頁面等,包括App中使用純H5頁面呈現的內容。

SDK整合方式

  • 自動整合(推薦):

    WAF將自動在您網站的HTML頁面中引用SDK並嵌入JS代碼,SDK採集相關的瀏覽器資訊、特定攻防探針、操作行為等(不涉及個人敏感資訊)後,WAF將根據擷取的資訊請求風險識別和攔截。

  • 手動整合

    若當前環境不適用自動整合,您可以採用手動整合,複製頁面上提供的JS代碼將其植入您的HTML代碼中。

跨域調用

選擇自動整合時,如果您有多個網站均開啟了Bot管理的Web SDK自動整合且多個網站網域名稱互相訪問(如通過網站B下某頁面調用當前網站A的登入介面),為了防止多次嵌入JS代碼,您需勾選並選擇跨域訪問的來來源站點點網域名稱(即例子中的B網站)。

當請求匹配以下規則時...

設定要匹配的使用者請求特徵,請求匹配規則詳細資料請參見規則運算式的組成

則執行...

合法Bot管理

搜尋引擎爬蟲白名單,支援主流搜尋引擎的爬蟲IP資訊,可動態更新,目前包含Google、百度、搜狗、Bing、360、Yandex。

選擇指定的搜尋引擎爬蟲後,來自相關搜尋引擎的合法爬蟲IP將被直接允許存取,不經過Bot管理模組的防護檢測。

Bot特徵識別

  • 簡單指令碼過濾(JavaScript挑戰):開啟此開關後,對訪問防爬防護目標的用戶端進行JS校正,對不支援JS校正的來自非瀏覽器類工具的流量過濾,阻斷簡單指令碼類攻擊。

  • 進階Bot防禦(動態令牌挑戰):開啟此開關後,對每一次請求資料進行簽名驗證,不能通過驗簽的請求將被攔截。您可以選擇簽名驗證異常(該項為必選,指未攜帶簽名或者簽名非法)、簽章時間戳異常、WebDriver攻擊。

Bot行為識別

AI智能防護,防爬規則會通過AI智能防護引擎對訪問流量進行分析和自動學習,產生有針對性的防護規則或黑名單。

  • 觀察:防爬規則會允許存取命中流量並將流量記錄在安全報表中。

  • 滑塊校正:用戶端需完成滑塊校正後才能繼續訪問防護目標。

自訂限速

  • IP限速(預設):規定在統計時間長度內,來自同一IP地址的訪問次數超過指定閾值時,對來自該IP的訪問請求執行滑塊攔截觀察的限速動作,並規定限速動作的限速時間。最多添加3個條件,條件之間為“或”關係。

  • 自訂會話限速:您可以設定會話類型,自訂會話限速條件來規定在統計時間長度內,來自同一會話的訪問次數超過指定閾值時,對該會話進行滑塊攔截觀察的限速動作,並規定處置動作的限速時間。最多添加3個條件,條件之間為“或”關係。

爬蟲威脅情報庫

收錄一段時間內在阿里雲上對多個使用者有多次惡意爬取行為的攻擊源IP地址。

您可設定爬蟲威脅情報庫為觀察滑塊校正

IDC黑名單封鎖

會封鎖選中IP庫。如果您使用公用雲端或IDC機房的源IP來訪問,請注意加白已知的合法調用,如支付寶或微信的支付回調、監控程式等。IDC黑名單封鎖支援如下IP庫:阿里雲、世紀互聯、美團雲、騰訊雲、其他。

您可設定IDC黑名單封鎖為觀察滑塊校正攔截

偽造爬蟲攔截

開啟後將攔截合法Bot管理中所有搜尋引擎的User-Agent,已開啟白名單的搜尋引擎對應的合法用戶端IP將被允許存取。

生效時間

建立規則後預設立即生效且永久生效。您可以選擇對不同規則按指定時間段生效或按指定的周期生效。

設定App防爬規則

如果您使用的是基於iOS或Android原生開發的App(不包括App中使用的H5頁面),您可以通過設定App防爬規則,更有針對性地對業務進行爬蟲風險防護。

配置模組

配置項

說明

全域配置

規則集名稱

設定規則集名稱,支援輸入英文字元(大小寫)、數字(0~9)及底線_

防護目標類型

選擇APP,表示對使用基於iOS或Android原生開發的App(不包括App中使用的H5頁面)進行防護。

SDK整合方式

您需要單擊擷取並複製appkey,填寫資訊申請擷取SDK包。更多資訊,請參見Android應用整合SDKiOS應用整合SDK。SDK整合後,將會採集用戶端的風險特徵並產生安全簽名附帶在請求中,WAF會根據簽名特徵進行請求風險的識別和攔截。

當請求匹配以下規則時...

設定要匹配的使用者請求特徵,請求匹配規則詳細資料請參見規則運算式的組成

則執行...

Bot特徵識別

  • 裝置特徵異常:啟用此項後,防爬規則會對具有異常特徵的裝置發起的請求進行檢測和管控。裝置的異常特徵包括:

    • 簽名到期:預設開啟,表示裝置請求的時間戳記到期。

    • 使用模擬器:表示裝置上使用了模擬器。

    • 使用代理:表示裝置上使用了代理服務。

    • Root裝置:表示裝置開放了Root許可權。

    • 偵錯模式:表示裝置開啟了偵錯模式。

    • APP被hook:表示裝置上存在hook程式。

    • App多開:表示裝置上同時開啟了多個被防護App的進程。

    • 類比執行:表示裝置存在類比使用者行為的操作。

    • 指令碼工具:表示裝置存在自動執行指令碼。

  • 自訂加簽欄位:選擇欄位名,在header參數cookie中自訂加簽欄位。

    對於簽名對象比較特殊的情境(如body超長、為空白或特殊編碼等情境),可將簽名內容用hash等方式處理後放在自訂的加簽欄位中,WAF將按照此處的內容進行驗簽。

  • 防護動作:您可根據需要將規則設定為觀察攔截

    • 觀察:觸發警示,不阻斷請求。

    • 攔截:直接阻斷攻擊請求。

  • 二次打包檢測:啟用此項後,如果有不在合法包名和包簽名白名單中的App請求,將被視為二次打包請求。您可以設定合法版本資訊:

    • 指定合法包名:指定合法的App包名稱。例如,example.aliyundoc.com。

    • 包簽名:請聯絡阿里雲相關安全技術人員擷取。如果無需驗證對應的App包簽名,則包簽名項為空白即可,WAF將只驗證所設定的合法App包名稱。

      說明

      包簽名不是App認證簽名。

Bot限速

  • IP限速(預設):規定在統計時間長度內,來自同一IP地址的訪問次數超過指定閾值時,對來自該IP的訪問請求執行攔截觀察的限速動作,並規定限速動作的限速時間。

  • 裝置限速:您可以通過設定裝置限速條件來規定在統計時間長度內,來自同一裝置的訪問次數超過指定閾值時,對來自該裝置的訪問請求執行攔截觀察的限速動作,並規定限速動作的限速時間。

  • 自訂會話限速:您可以設定會話類型,自訂會話限速條件來規定在統計時間長度內,來自同一會話的訪問次數超過指定閾值時,對該會話、攔截觀察的限速動作,並規定處置動作的限速時間。

爬蟲威脅情報庫

收錄一段時間內在阿里雲上對多個使用者有多次惡意爬取行為的攻擊源IP地址。

IDC黑名單封鎖

開啟此開關後,會封鎖選中IP庫。如果您使用公用雲端或IDC機房的源IP來訪問,請注意加白已知的合法調用,如支付寶或微信的支付回調、監控程式等。IDC黑名單封鎖支援如下IP庫:阿里雲、世紀互聯、美團雲、騰訊雲、其他。

生效時間

建立規則後預設立即生效且永久生效。您可以選擇對不同規則按指定時間段生效或按指定的周期生效。

安全分析

安全分析用於展示WAF和Bot管理的攔截、觀察和總訪問量等資料,以便您根據資料動態調整您的防護規則。

分析維度

  • 篩選器:支援按照HostHTTP版本用戶端IP等維度篩選過濾。選擇篩選條件後,僅顯示與篩選條件匹配的資料結果。

  • 查詢時間:預設展示過去24小時的請求特徵資訊,支援自訂查詢時間,最多可查詢至過去30天的資料。

查看安全分析報表

在Web應用遭遇突發性流量峰值或檢測到異常攻擊行為時,應通過安全分析模組對HTTP/S請求流量進行即時特徵解析,核驗其與預設的合法請求特徵基準(包括但不限於Header結構、載荷模式、訪問頻率)的合規性。針對偏離基準的非預期流量(如SQL注入特徵、CC攻擊特徵),可聯動WAF引擎動態載入預定義或自訂防護規則集(如Regex匹配、速率限制策略),實施精準的請求阻斷與攻擊溯源,實現縱深防禦體系下的主動式威脅處置。

  1. 在ESA控制台,選擇網站管理,在站点列單擊目標網站。

  2. 在左側導覽列,選擇安全防護 > 安全分析

  3. 安全分析頁面,查看防護資訊,通過篩選器選出您需要的資料資訊。可以點擊image表徵圖列印頁面報告或點擊image表徵圖將資料以CSV格式下載儲存到本地進行分析。

    說明

    安全分析事件分析擷取的資料資訊存在約5分鐘的延遲。

    image

後續防護

設定即時監控

設定對CDN產品下指定網域名稱的頻寬峰值監控,達到設定的頻寬峰值後將會給管理員發送警示(簡訊、郵件和DingTalk),便於更加及時地發現潛在風險。詳情請參見設定警示

設定費用預警

您可以在控制台右上方功能表列費用選擇費用與成本,通過設定以下這幾個功能來更好地控制賬戶的消費額度,避免產生過高的賬單。

  • 可用額度預警:您可以設定賬戶餘額低於一定金額時即向您傳送簡訊警示。

  • 高額消費預警:您可以開啟預警,設定產品日賬單大於預警閾值時將會傳送簡訊警示。

說明

為了保證計量資料統計的完整性,確保賬單的準確性,CDN產品需要在記賬周期結束後大約3個小時才能產生實際的賬單,因此實際扣款時間與對應的資源消費時間存在一定的時延,無法通過賬單來即時反饋資源消耗情況,這是由CDN產品自身的分布式節點特性決定的,每個CDN服務商都採用類似的處理辦法。