觀點 · 資訊分享

Cloudflare WAF 新增「正向安全」:先學會你的網站長怎樣,不合格的請求先標出來再決定擋不擋

Cloudflare WAF 推出 Application Profiles:不只比對已知攻擊,還會從流量學習合法請求的樣子,把形狀不對的請求標出來,先看數據再決定要不要封鎖。目前限 API Security 客戶與受邀的 Enterprise 客戶。

發布
2026-09-07
篇幅
約 5 分鐘 · 2,283 字
結構
7 節 + 4 題常見問題
標籤
#Cloudflare#WAF#Application Profiles#正向安全#API 安全
Cloudflare WAF 新增「正向安全」:先學會你的網站長怎樣,不合格的請求先標出來再決定擋不擋

一句話看懂:Cloudflare WAF 新增 Application Profiles,先學會你的網站「正常請求長什麼樣子」,形狀不對的就標出來,等你確認沒誤殺再決定要不要擋。

WAF 新增 Application Profiles資訊圖卡:先學會合法請求長怎樣,形狀不對的就標出來,再決定擋不擋

先用白話講:正向安全是什麼?

想像一間夜店有兩種門口管理方式。第一種是黑名單:保全記得壞人長相,看到像壞人的就攔下來,但新來的壞人他不認得。第二種是邀請名單:只放持邀請函的人進門,沒邀請函的一律請到旁邊問清楚。

WAF(網站應用程式防火牆)以往大多是第一種:比對請求像不像已知的攻擊,這叫負向安全。這次 Cloudflare 新增的 Application Profiles 則是第二種:先學習「合法請求應該長怎樣」,再把不合格的標出來,這叫正向安全。

發生什麼事

Cloudflare 在 9 月 7 日宣布 WAF 新增 Application Profiles。重點有幾個:

  • 目前只有 Schema Profile:學習路徑變數、查詢參數、標頭、Cookie、JSON 內容與表單內容,並建立欄位型別與限制(例如數字範圍、字串長度、字元類型)
  • 永遠開著、只分類:設定檔可用之後,偵測會把請求分成「符合」與「不符合」,但不會封鎖
  • 先看再擋:在 Security Analytics 的 Profile Analysis 檢視符合度趨勢與抽樣的違規細節,準備好了再用自訂規則,依主機名稱、路徑或攻擊分數等條件限定範圍去封鎖

同一天,Cloudflare 也宣布 Attack Signature Detection 進入搶先體驗:用 Cloudflare 的攻擊特徵比對請求,只記錄不動作,讓你先調查再決定怎麼處理。

誰能用?

對象 狀況
有 API Security 的客戶 已可透過 Schema Learning 與 Schema Validation 使用
沒有 API Security 的 Enterprise 客戶 封閉測試,限受邀,需聯絡 Cloudflare 業務窗口
其他方案 官方沒有說明,且強調封閉測試不代表未來的方案或價格

給開發者的技術細節

以下依 Cloudflare 目前的文件整理(文件在公告之後仍持續更新,細節以官方頁面為準):

  • 端點(operation):由 HTTP 方法、主機名稱樣式、路徑樣式組成;探索到端點只是加入清單,要在端點選單選 Learn profile 才會開始學習
  • 學習條件:每週執行一次,只採用前 7 天內回應 2xx 的請求;學習欄位需要 1,000 筆合格請求,學習數值範圍與字串長度需要 10,000 筆
  • 首次出現時間:排程學習下,門檻達標後最久可能要等 7 天才會出現第一份設定檔,也可要求整個網站區域立即跑一次
  • 可驗證的型別:整數、字串、UUID、陣列;列舉值最多支援 3 個
  • 改用上傳規格:可以把學到的 schema 匯出成 OpenAPI 後再上傳驗證;上傳規格的違規欄位是 cf.schema_validation.uploaded.violated
  • 限制:不支援 multipart 表單、GraphQL、XML;不強制必填參數存在;新增參數本身不算違規;限制只套用在學到的欄位,並不是完整的允許清單
  • 提醒:成功的流量裡也可能混有機器人或惡意請求,所以啟用前要先檢查學到的內容

我的看法

幫中小企業做網站時,客戶多半是免費或 Pro 方案,這個功能目前只限 API Security 與受邀 Enterprise,短期內不太會直接用到。但它的思路很值得借鏡:不要只靠「擋已知壞東西」,也要定義「什麼是正常」。

對自己寫 API 的人來說,最實際的做法其實在應用程式裡:欄位型別、長度、範圍都在後端做白名單驗證,不要相信前端傳來的內容。另外,官方設計成「偵測、分析、封鎖」三個分開的步驟,我覺得也是好習慣:新規則先用記錄模式跑一陣子,確認沒誤殺正常使用者,再正式上線封鎖。

名詞小辭典

  • WAF(Web Application Firewall):網站應用程式防火牆,檢查進到網站的請求,擋掉可疑的。
  • 正向安全/負向安全:正向是「只允許符合預期的」;負向是「擋下符合已知攻擊的」。
  • Schema(結構描述):描述資料長怎樣的規格,例如某個欄位必須是 1 到 100 的整數。
  • OpenAPI:用來描述 API 有哪些路徑、參數與格式的通用規格檔。

資料來源

常見問題

「正向安全」跟一般 WAF 有什麼不同?
一般 WAF 多半是「負向」:比對請求像不像已知的攻擊。正向安全則反過來,先定義「正常請求該長什麼樣子」,不符合的就標出來。官方說,不合格的請求不需要符合任何攻擊樣式也能被抓到。
設定檔會自動擋掉可疑請求嗎?
不會。官方寫明,設定檔上線後會有一個永遠開啟的偵測,只負責分類請求,不會處理流量。要封鎖的話,請先在 Security Analytics 的 Profile Analysis 檢視符合度與抽樣的違規細節,再建立自訂規則。
它是怎麼學會「正常請求」的?
從你的流量學。依官方文件,學習每週執行一次,只採用前 7 天內回應 2xx 的請求;學欄位要 1,000 筆合格請求,學數值範圍、字串長度這類限制要 10,000 筆。也可以改上傳 OpenAPI 規格。
一般免費或 Pro 方案能用嗎?
目前不行。官方只說有 API Security 的客戶已可使用,另外對受邀的 Enterprise 客戶開放封閉測試,且封閉測試不代表未來一定會開放給其他方案或決定價格。
LINE