秒懂邊緣雲 | CDN基礎入門:訪問控制及頻寬閾值
作者:辰舒
在透過CDN對外提供服務時,為了保障資源的安全性,我們建議對請求進行訪問許可權控制,避免被惡意使用者請求,提升業務在CDN上的安全性。
準備工作
1.已經新增完成的CDN域名
2.阿里雲CDN控制檯。
基礎介紹
在使用CDN前,一般鑑權和響應均在源站完成。如下圖,當終端使用者對資源發起請求時,請求到達源站先校驗是否符合許可權控制規則,如果鑑權透過,源站再響應終端使用者所請求的內容。
當業務使用CDN後,可能面臨兩個問題:
- 如果CDN在命中快取時直接返回內容給終端使用者,無需回源站,那此時源站的鑑權規則不會被觸發。
- 如果鑑權token引數透過請求的query攜帶(例如: ),由於鑑權引數值頻繁變化,此時,CDN視為獨立請求回源站進行鑑權,每次都無法共享快取,導致無法享受正常快取加速的效果。
那這兩個問題如何解決呢?我們需要鑑權和響應拆分為兩個環節去處理,其中的鑑權動作拆分到CDN節點執行,響應由源站和CDN節點共同完成。
如下圖,當終端使用者對資源發起請求時,請求到達CDN節點,由CDN節點校驗是否符合許可權控制規則。如果鑑權透過,CDN節點再執行內容響應動作:
- 節點本地已有快取時,CDN節點將直接響應給使用者,無需源站處理;
- 節點本地無快取時,CDN節點將逐級回源拉取,直至回到源站獲取。
瞭解鑑權功能的實現位置後,我們再一起學習CDN已經開放的鑑權功能,概覽資訊參考下表,常見功能將在下文介紹,您可以根據需求選擇性閱讀。在配置時,也可以透過基礎防護組合進階防護的方式,共同完成加強防護等級的目的。 針對常用的基礎防護和進階防護,下文將為您具體介紹其工作邏輯及配置方法。如果您需要使用特殊防護中的功能,可以在控制檯申請開通,參考產品文件進行配置。
類別 |
功能 |
效果 |
優點 |
缺點 |
安全指數 |
基礎防護 |
Referer防盜鏈 |
透過配置訪問的 Referer黑名單和白名單來實現對訪客身份的識別和過濾 |
配置簡單,定向防護 |
過濾方式單一,可能被偽造 |
★☆☆ |
IP黑白名單 |
透過配置IP黑名單和白名單來實現對訪客身份的識別和過濾 |
配置簡單,定向防護 |
過濾方式單一,可能被偽造 |
★☆☆ | |
UA黑白名單 |
透過配置 UserAgent黑名單和白名單來實現對訪客身份的識別和過濾 |
配置簡單,定向防護 |
過濾方式單一,可能被偽造 |
★☆☆ | |
進階防護 |
URL鑑權 |
透過配置URL鑑權功能保護使用者站點的資源不被非法站點下載盜用 |
安全性相對簡單配置功能較高,無法偽造 |
被抓取URL後,在有效期內仍有遭受攻擊可能。 |
★★★ |
遠端鑑權 |
透過配置遠端鑑權功能,對傳送到 CDN邊緣節點上的使用者請求進行校驗,避免CDN節點上的資源被非授權使用者訪問。 |
鑑權邏輯可根據業務需求自定義規則,調整便捷度高,安全度可控 |
源站需要部署鑑權伺服器,客戶需要有開發能力
|
★★★ | |
特殊防護 |
頻次控制 |
遭受惡意CC攻擊導致響應緩慢,可透過頻次控制功能攔截惡意流量,阻斷訪問該網站的所有請求,提升網站的安全性。 |
專注對CC的防護。 |
需要申請開通 |
★★☆ |
區域封禁 |
一鍵阻斷來自指定區域的訪問請求,解決部分地區高發的惡意請求問題。 |
按照區域劃分,攔截面較大 |
需要申請開通 |
★★☆ | |
CDN WAF |
結合邊緣Web應用防火牆WAF能力,將業務流量進行惡意特徵識別及防護,將正常、安全的流量回源到 伺服器 |
對請求行為有分析識別能力,阻斷常規攻擊注入手段。 |
增值服務 |
★★★ |
基礎防護
配置入口: 登入 ,在左側導航欄,單擊 域名管理 ,單擊目標域名對應的 管理 ,單擊 訪問控制 ,在 Referer防盜鏈/IP黑白名單/UA黑白名單 區域,單擊 修改配置。
Referer防盜鏈(推薦)
基於HTTP協議支援的Referer機制,透過請求header中攜帶的Referer頭部跟蹤來源,對來源進行識別和判斷。
以下圖為例,該請求發出時,瀏覽器自動攜帶了請求頭referer:,代表該請求來源為阿里雲CDN控制檯域名,被請求域名可以透過referer防盜鏈控制放行或者拒絕該referer的請求。
- 配置時,支援黑名單機制或白名單機制:
- 黑名單:僅黑名單內域名禁止訪問該資源
- 白名單:僅允許白名單內域名訪問該資源
- 配置需要放行/限制的域名即可,支援萬用字元*匹配多個子域名。
- 允許透過位址列直接訪問資源URL:
在瀏覽器位址列中直接輸入URL地址進行訪問時,其來源為空,因此請求頭部中預設不會攜帶referer,如允許此類不攜帶referer訪問請求,建議勾選開啟。如果該域名下資源的所有請求都會攜帶referer,可以保持關閉。
IP黑白名單
透過對客戶端真實IP或客戶端建聯IP進行限制,實現僅部分IP使用者可訪問,或特定使用者IP不允許訪問的需求。 支援輸入IP段,限制某個地址段使用者的訪問。
- 客戶端真實IP: 使用者請求中x-forwarded-for請求頭攜帶的第一個IP
- 客戶端建聯IP: 客戶端與CDN節點之間建連使用的IP
預設情況下,僅校驗客戶端真實IP,如需校驗建聯IP需透過提交工單申請。配置時,支援黑名單機制或白名單機制:
- 黑名單:僅黑名單內IP禁止訪問該域名
- 白名單:僅白名單內IP允許訪問該域名
UA黑白名單
User-Agent是HTTP請求頭的一部分,包含使用者訪問時所使用的作業系統及版本、瀏覽器型別及版本等標識資訊。
配置UA黑白名單後,使用者請求資源時,CDN將獲取使用者請求時HTTP請求頭中的User-Agent欄位,同配置中的黑/白名單進行匹配。
以下圖為例,該請求發出時,瀏覽器自動攜帶了請求頭
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
代表該請求來源的客戶端資訊,被請求域名可以透過user-agnet黑白名單控制放行或者拒絕該UA的請求。
一般適用於限制特定UA的終端請求,或對當客戶端攜帶特定UA才允許放行的場景適用。
配置時,支援黑白名單兩種防護方式,配置規則時支援萬用字元*匹配,多個值時使用 | 分割,例如 *curl*|*IE*|*chrome*|*firefox*。
如果需要對空UA(不攜帶UA 或 UA值為空)限制,規則的值可以配置用 ^$ 表示。
進階防護
如果您的業務對URL資源安全性要求較高,擔心基礎防護無法滿足安全性需求,可以瞭解URL鑑權和遠端鑑權功能,兩者均能實現較高的安全防護。
配置入口: 登入 ,在左側導航欄,單擊 域名管理 ,單擊目標域名對應的 管理 ,單擊 訪問控制 ,在 URL鑑權/遠端鑑權 區域,單擊 修改配置。
URL鑑權(推薦)
URL鑑權功能透過阿里雲CDN加速節點與客戶資源站點配合,形成了更為安全可靠的源站資源防盜方法。主要由以下幾個部分配合:
- 源站應用伺服器:根據鑑權URL生成規則(包括鑑權演算法、金鑰)生成鑑權URL返回給客戶端。
- 客戶端:發起資源請求,併傳送鑑權URL給CDN節點進行驗證。
- CDN節點:對鑑權URL中的鑑權資訊(鑑權字串、時間戳等)進行驗證。
開啟鑑權前訪問URL:
開啟鑑權後訪問URL: (A類鑑權為例)
當使用者攜帶的時間戳或鑑權憑證錯誤時,訪問到達CDN節點後將被拒絕,返回狀態碼403。
URL鑑權支援三種鑑權的籤算演算法:
- A方式
- B方式
- C方式
格式1:
格式2:
三種方式在安全等級上一致,但URL的構造形式有所區別,如果不需要混淆URL,選擇方式A即可,如果有混淆URL的需求,可以選擇方式B或者C,演算法詳情請參考產品文件說明。
注意:
- 如果您是線上域名,需要確保業務已經攜帶正確鑑權引數後,再點選確定開啟功能,防止開啟後因鑑權失敗導致業務無法訪問。
- 如果您已關閉URL鑑權,請刪除業務中攜帶的鑑權引數,或,配置忽略引數快取,避免業務因鑑權引數無法命中快取(開啟鑑權時自動忽略鑑權引數快取)。
遠端鑑權
如果您覺得URL鑑權的演算法模式單一,無法滿足業務的定製化鑑權訴求,您也可以透過遠端鑑權,透過自行維護的鑑權伺服器用於自主管理。
① 使用者發起的資源訪問請求到達CDN節點,請求中攜帶了鑑權引數。
② CDN節點收到使用者請求,將使用者請求直接轉發(或者經過指定的規則處理後轉發)給鑑權伺服器。
③ 鑑權伺服器根據使用者請求中攜帶的鑑權引數給出鑑權結果,並返回給CDN節點。
④ CDN節點根據鑑權伺服器返回的鑑權結果執行對應的動作,並返回對應的資料給使用者。
鑑權結果舉例如下:
舉例1:鑑權成功,CDN節點與使用者開始正常的快取資料訪問互動。
舉例2:鑑權失敗,CDN節點返回404狀態碼給使用者。(失敗狀態碼可自定義)
舉例3:鑑權失敗,CDN節點對使用者訪問進行限速。
舉例4:鑑權超時,CDN節點執行鑑權超時的預設動作,即放行或者拒絕使用者請求。
在配置遠端鑑權時,您需要指定以下資訊
- 鑑權伺服器的地址,CDN轉發鑑權請求時所使用的請求方法,以及是否需求針對特定檔案型別鑑權。
- 請求鑑權伺服器時,訪問URL中的請求引數是否需要全部保留轉發。
- 鑑權伺服器返回的狀態碼,具體如何判斷鑑權成功或失敗。
- 如果鑑權伺服器返回鑑權失敗,CDN需要返回什麼狀態碼給客戶端。
- 鑑權伺服器多久未響應時判定為超時,超時後應判斷本次鑑權透過還是拒絕。
頻寬上限閾值
如果您擔心存在突發流量導致的損失,可以為域名設定封頂頻寬。頻寬封頂,即透過設定頻寬上限,來控制頻寬用量。當指定加速域名在統計週期(1分鐘)內產生的平均頻寬超出預設上限,CDN將停止為該域名提供加速服務,且該域名會被解析到無效地址 offline.***.com ,無法被繼續訪問。
注意:觸發封頂後業務將無法繼續被訪問,非限速策略。
配置入口: 登入 ,在左側導航欄,單擊 域名管理 ,單擊目標域名對應的 管理 ,單擊 流量限制 ,單擊 修改配置。
- 域名頻寬小於上限 :域名正常使用CDN加速服務。
- 突發流量,域名頻寬達到或超過頻寬上限 :域名將會自動下線,並透過CNAME域名被解析到無效地址 offline.***.com ,無法被繼續訪問。
- 突發流量恢復正常,域名頻寬重新小於頻寬上限 :CDN預設不會自動恢復加速服務,您需要在CDN控制檯手動啟用該域名來恢復CDN加速服務。如果您需要恢復業務,可以在 的 域名管理 頁面,選中該域名,單擊 啟用 ,重新啟用該域名。
小提示:
- 開啟頻寬封頂功能後,您的域名會受到頻寬封頂的限制而下線。為了不影響您的域名業務,建議您合理評估,謹慎設定您的頻寬峰值。
- 由於頻寬的監控資料存在一定的延遲,因此域名將在頻寬達到峰值後10分鐘左右被下線。
結束
至此,訪問控制及頻寬閾值的介紹及使用部分已經結束,在下個章節中,我們會繼續學習CDN監控與計量相關內容,主要包含內容有:
- 如何檢視邊緣訪問/回源的狀態碼分佈、頻寬、流量等資訊。
- 如何分割槽域/運營商檢視業務頻寬分佈。
- 如何配置CDN的業務監控告警規則。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70018969/viewspace-2913390/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 秒懂邊緣雲 | CDN基礎入門:CDN監測、計量與告警
- 秒懂邊緣雲 | 邊緣雲技術進階
- opencv——自適應閾值Canny邊緣檢測OpenCV
- 摩杜雲:以邊緣計算CDN技術為基礎,打造一站式邊緣化雲端計算服務
- 摩杜雲:邊緣計算推動CDN行業創新,傳統CDN與邊緣計算合作並存行業
- 使用摩杜雲物件儲存MOS搭配CDN加速,有效最佳化小頻寬網站訪問速度!物件網站
- CDN及CDN資源訪問流程簡介
- 什麼是安全訪問服務邊緣(SASE)?—Vecloud微雲Cloud
- 邊緣計算2.0時代,“雲邊緣”與“邊緣雲”你分清了嗎?
- 摩杜雲:以邊緣計算為基礎,讓“雲”無處不在
- 頻頻落子 Aruba的“智慧邊緣”棋局
- 天翼雲邊緣函式、邊緣安全專案入選“可信邊緣計算推進計劃”函式
- 【WEB基礎】HTML & CSS 基礎入門(5)邊框與背景WebHTMLCSS
- 戰鬥數值新手入門指北:MOBA基礎及裝備篇
- 直播預告 | 看完秒懂 5G頻段劃分及頻點計算
- 阿里雲容器服務入選雲原生邊緣「領導力企業TOP3」,推動「原生雲邊」基礎設施標準建立阿里
- 產品更新 | 阿里雲CDN邊緣影像處理功能開放內測阿里
- 閾值分割及 threshold 實現
- 【WEB基礎】HTML & CSS 基礎入門(3)段落及文字WebHTMLCSS
- 阿里雲如何基於標準 K8s 打造邊緣計算雲原生基礎設施阿里K8S
- Casbin訪問控制框架入門框架
- Java零基礎入門(三)流程控制Java
- 【邊緣計算】劉陽:邊緣計算髮展中的若干熱點問題及思考
- 最佳實踐:使用阿里雲CDN加速OSS訪問阿里
- 零基礎看得懂的C語言入門教程C語言
- 遠端訪問及控制——ssh
- SSH遠端訪問及控制
- shell入門基礎&常見命令及用法
- Pytest學習(一)- 入門及基礎
- Json入門--基礎定義及使用JSON
- 阿里雲CDN基於雲邊協同的轉型創新實踐阿里
- 雲原生與邊緣計算的碰撞——邊緣原生應用實踐
- 從中心走向邊緣——深度解析雲原生邊緣計算落地痛點
- 專線網路與家庭寬頻區別(基礎篇)
- DDR記憶體基礎知識和頻寬測試記憶體
- 5G直播課預告 | 看完秒懂5G頻段劃分及頻點計算
- 深耕邊緣計算 揭秘阿里雲邊緣雲網一體化的技術實踐阿里
- RabbitMQ基礎入門MQ