<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Waf on Tarragon</title><link>https://tarrragon.github.io/blog/tags/waf/</link><description>Recent content in Waf on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/waf/index.xml" rel="self" type="application/rss+xml"/><item><title>Cloudflare WAF</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/cloudflare-waf/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/cloudflare-waf/</guid><description>&lt;p>Cloudflare WAF 是 &lt;em>edge-deployed&lt;/em> 的 Web Application Firewall、跑在 Cloudflare 全球 anycast 網路上、攔截 HTTP/HTTPS 攻擊在抵達 origin 之前。它跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &amp;#43; Managed Rule Group &amp;#43; Rate-based Rule、Shield Standard 內含">AWS WAF&lt;/a> / &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &amp;#43; ATO &amp;#43; Bot 一體">Fastly Next-Gen WAF&lt;/a> 的核心差異是 &lt;em>跟其他 Cloudflare 產品深度整合&lt;/em>：DDoS protection、Bot Management、Rate Limiting、Page Shield（JS supply chain）、API Shield（schema validation）、Zero Trust、Workers 邊緣計算共用同一個控制面。客戶選 Cloudflare WAF 通常不只是要 WAF、是要 &lt;em>整套 edge security suite&lt;/em>。&lt;/p>
&lt;h2 id="服務定位">服務定位&lt;/h2>
&lt;p>Cloudflare WAF 的核心定位是 &lt;em>把攻擊擋在 origin 之前的一站式 edge security&lt;/em>。流量打到 Cloudflare anycast IP、經過 WAF / DDoS / Bot / Rate Limit / Page Shield 多層處理、再 proxy 到 origin。這跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &amp;#43; Managed Rule Group &amp;#43; Rate-based Rule、Shield Standard 內含">AWS WAF&lt;/a> 跑在 AWS 內部 ALB / CloudFront / API Gateway 前是不同部署模型 — AWS WAF 流量 &lt;em>已經進到 AWS&lt;/em>、Cloudflare WAF 流量 &lt;em>還沒到 origin&lt;/em>。對 origin 是 &lt;em>任意雲 / on-prem&lt;/em> 的客戶、Cloudflare 是天然選項；對 AWS-only 客戶、AWS WAF 整合更深但 edge 範圍小。&lt;/p>
&lt;p>跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &amp;#43; ATO &amp;#43; Bot 一體">Fastly Next-Gen WAF&lt;/a>（前 Signal Sciences）相比、Cloudflare 走 &lt;em>signature + managed rule + ML&lt;/em> 混合、Fastly NG-WAF 走 &lt;em>語意分析 + behavioral detection&lt;/em>（不靠 regex signature）。Cloudflare managed rule 覆蓋廣但 false positive 較常見、需要 &lt;em>sensitivity tuning&lt;/em>；Fastly NG-WAF 預設較低 FP 但需要 &lt;em>自己定義業務 anomaly&lt;/em>。&lt;/p></description><content:encoded><![CDATA[<p>Cloudflare WAF 是 <em>edge-deployed</em> 的 Web Application Firewall、跑在 Cloudflare 全球 anycast 網路上、攔截 HTTP/HTTPS 攻擊在抵達 origin 之前。它跟 <a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a> / <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a> 的核心差異是 <em>跟其他 Cloudflare 產品深度整合</em>：DDoS protection、Bot Management、Rate Limiting、Page Shield（JS supply chain）、API Shield（schema validation）、Zero Trust、Workers 邊緣計算共用同一個控制面。客戶選 Cloudflare WAF 通常不只是要 WAF、是要 <em>整套 edge security suite</em>。</p>
<h2 id="服務定位">服務定位</h2>
<p>Cloudflare WAF 的核心定位是 <em>把攻擊擋在 origin 之前的一站式 edge security</em>。流量打到 Cloudflare anycast IP、經過 WAF / DDoS / Bot / Rate Limit / Page Shield 多層處理、再 proxy 到 origin。這跟 <a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a> 跑在 AWS 內部 ALB / CloudFront / API Gateway 前是不同部署模型 — AWS WAF 流量 <em>已經進到 AWS</em>、Cloudflare WAF 流量 <em>還沒到 origin</em>。對 origin 是 <em>任意雲 / on-prem</em> 的客戶、Cloudflare 是天然選項；對 AWS-only 客戶、AWS WAF 整合更深但 edge 範圍小。</p>
<p>跟 <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a>（前 Signal Sciences）相比、Cloudflare 走 <em>signature + managed rule + ML</em> 混合、Fastly NG-WAF 走 <em>語意分析 + behavioral detection</em>（不靠 regex signature）。Cloudflare managed rule 覆蓋廣但 false positive 較常見、需要 <em>sensitivity tuning</em>；Fastly NG-WAF 預設較低 FP 但需要 <em>自己定義業務 anomaly</em>。</p>
<p>關鍵張力：客戶信任的不只是 <em>WAF rule 攔截能力</em>、還包括 <em>Cloudflare control plane 的安全性</em>。<a href="/blog/backend/07-security-data-protection/cases/cloudflare-control-plane-token-2023/" data-link-title="7.C2 Cloudflare：2023 Control-plane Token 事件" data-link-desc="控制面 token 事件如何回寫 secrets 與機器憑證治理。">Cloudflare 2023 control plane token</a> 跟 <a href="/blog/backend/07-security-data-protection/cases/cloudflare-route-leak-2026/" data-link-title="7.C1 Cloudflare：2026 Route Leak 事件" data-link-desc="BGP 路由政策自動化失誤如何回寫控制面治理。">Cloudflare 2026 route leak</a> 兩個事件展示：vendor 自己被打進去 / 自動化配置失誤時、客戶側 <em>直接修不了</em>、只能等公告 + 客戶側 token rotation + emergency bypass。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本頁、讀者能判斷：</p>
<ol>
<li>Cloudflare WAF 在 edge security stack 中承擔哪一段（DDoS / WAF / Bot / Page Shield / API Shield）、哪些要靠 origin 自己做</li>
<li>Managed Rule vs Custom Rule 的取捨、sensitivity tuning 跟 false positive curve</li>
<li>Cloudflare control plane 出事時的客戶側補強路徑（API token rotation、Origin Rules bypass、第二邊界 fallback）</li>
<li>何時用 Cloudflare、何時走 <a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a> / <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly NG-WAF</a> 的取捨</li>
</ol>
<h2 id="最短判讀路徑">最短判讀路徑</h2>
<p>判斷 Cloudflare WAF 配置是否健康、最少看四件事：</p>
<ul>
<li><strong>誰能改 WAF 規則</strong>：Cloudflare account 的 admin / member role 配置、API token scope（不要用 Global API Key、用 scoped API token + 限定 zone / 限定 permission）、Audit Log 是否同步到 SIEM</li>
<li><strong>規則覆蓋面</strong>：Managed Ruleset（OWASP Core Ruleset + Cloudflare Managed Ruleset + Exposed Credentials Check）是否開、Sensitivity（Low / Medium / High）對應的 FP rate 是否監控、Custom Rule 是否進版控（Terraform provider）</li>
<li><strong>入口暴露</strong>：origin IP 是否曝光（DNS 直查 / 歷史 SAN cert / 子域名）、Argo Tunnel / Authenticated Origin Pull 是否強制、繞過 Cloudflare 直連 origin 的路徑是否封住</li>
<li><strong>證據可回查</strong>：Security Events Log 是否同步到 SIEM（Logpush 推到 R2 / S3 / Splunk）、Page Shield 偵測異常 script 是否 alert、API token 異常操作（特別 zone settings 變更）是否 alert</li>
</ul>
<p>四件事任一缺失、就是 <a href="/blog/backend/knowledge-cards/audit-log/" data-link-title="Audit Log" data-link-desc="說明高風險操作如何留下可追溯、可稽核的紀錄">Audit Log</a> 與 <a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">Entry Point Protection</a> 邊界的待補項目。</p>
<h2 id="日常操作與決策形狀">日常操作與決策形狀</h2>
<p><strong>Managed Ruleset 分層</strong>：Cloudflare 提供三類 managed rule — <em>OWASP Core Ruleset</em>（OWASP CRS、寬覆蓋、FP 較多）、<em>Cloudflare Managed Ruleset</em>（Cloudflare 維護、針對熱門 CMS / framework）、<em>Exposed Credentials Check</em>（檢測登入流量中的已洩漏 credential）。production 通常開全部三套 + 各設適當 sensitivity。Sensitivity 不是「敏感度越高越好」— High sensitivity 攔截更多 borderline traffic、business-critical endpoint 可能誤殺合法請求。建議從 <em>Log Mode</em> 開始、觀察 1-2 週的 FP pattern、再切到 <em>Block</em>。</p>
<p><strong>Custom Rule（Cloudflare Rules）</strong>：用 Rules language（類 SQL 表達式）定義條件 + 動作（Block / Challenge / Log / JS Challenge / Managed Challenge）。常見用法：geo block（特定國家）、known bad IP（threat intel feed）、URI path-based limit（admin endpoint 限定 IP）、header anomaly（缺 User-Agent / 異常 Referer）。所有 Custom Rule 走 Terraform provider 進版控、避免 console 直接改、變更走 PR review。</p>
<p><strong>Rate Limiting</strong>：跟 WAF rule 是 <em>獨立 product</em>、配置是 <em>threshold + window + action</em>（例：1000 req/min per IP → challenge）。Rate Limiting 比 WAF 適合處理 <em>legitimate-looking high volume</em>（credential stuffing、scraping、API abuse）。注意 <em>NAT pool IP</em> 的問題 — 一個公司 / ISP NAT 出口可能合法產生高 QPS、簡單 per-IP rate limit 會誤殺、需要組合 <em>cf.threat_score</em> 或 <em>cookie-based identification</em>。</p>
<p><strong>Bot Management（單獨 SKU）</strong>：免費版 WAF 不含 Bot Management、需要 Pro / Business / Enterprise 才有。Bot Management 用 ML + behavioral fingerprint 區分 <em>human / good bot（搜尋引擎）/ likely bot / verified bot</em>、給 bot score（1-99）。客戶在 Custom Rule 用 <code>cf.bot_management.score &lt; 30</code> 之類條件挑出 likely bot 處理。簡單 user-agent 過濾擋不住現代 headless browser、必須走 Bot Management。</p>
<p><strong>Page Shield（JS supply chain 防護）</strong>：Page Shield 監測客戶網頁載入的 JS / connect 來源、發現 <em>新出現的腳本</em> 或 <em>已洩漏的 script</em>（CT log + threat intel）就 alert。意義是 <em>防 third-party script 被供應鏈攻擊</em>（類 <a href="https://en.wikipedia.org/wiki/Magecart">Magecart</a>）— WAF 攔不住、因為攻擊發生在 <em>browser 端</em> 而非 <em>origin 流量</em>。需要在 Page 載入 Page Shield 的 monitoring script。</p>
<p><strong>API Shield</strong>：用 OpenAPI schema validation、auto-discovery API endpoint、mTLS 驗證、JWT validation。對於有 schema 的 API、可以擋掉 <em>schema 不符的請求</em>（多餘欄位、型別錯誤、缺必要欄位）— 比 generic WAF rule 精準。</p>
<p><strong>Origin 暴露面收緊</strong>：Cloudflare 唯一有效的前提是 <em>流量必須經過 Cloudflare</em>。如果攻擊者拿到 origin 真實 IP（DNS 歷史記錄、漏洞披露網站、SSL cert SAN）、可以繞過 Cloudflare 直打 origin。控制方法：origin firewall 只允許 Cloudflare IP range 入站、Argo Tunnel（origin 主動建 outbound 連線到 Cloudflare、不開任何入站 port）、Authenticated Origin Pull（origin 用 cert 驗證請求來自 Cloudflare）三選一或組合。</p>
<p><strong>API token 治理</strong>：避免 Global API Key（全帳號 root token）、改用 <em>scoped API token</em>（限 zone + 限 permission + 限 IP + 限 TTL）。token 進 <a href="/blog/backend/knowledge-cards/secret-management/" data-link-title="Secret Management" data-link-desc="說明 token、key、password 與憑證如何保存、輪替與撤銷">Secret Management</a> / <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">Vault</a>、定期 rotate。對應 <a href="/blog/backend/07-security-data-protection/cases/cloudflare-control-plane-token-2023/" data-link-title="7.C2 Cloudflare：2023 Control-plane Token 事件" data-link-desc="控制面 token 事件如何回寫 secrets 與機器憑證治理。">Cloudflare control plane token 2023</a> 揭示的 lesson：Cloudflare 自己也踩過 token 治理不足、客戶側不能假設 vendor 完美。</p>
<h2 id="核心取捨表">核心取捨表</h2>
<table>
  <thead>
      <tr>
          <th>取捨維度</th>
          <th>Cloudflare WAF</th>
          <th>AWS WAF</th>
          <th>Fastly Next-Gen WAF</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>部署位置</td>
          <td>Cloudflare global edge（300+ POP）</td>
          <td>AWS region 內 ALB / CloudFront / API Gateway 前</td>
          <td>Fastly edge + Agent + Module（自管 Nginx / Apache / Envoy / IIS）+ Cloud WAF proxy、三模型可混</td>
      </tr>
      <tr>
          <td>Origin 中立性</td>
          <td>強 — origin 可以是任何雲 / on-prem</td>
          <td>弱 — 跟 AWS 緊耦合（限 AWS service 前）</td>
          <td>強 — Fastly CDN / 任何 origin</td>
      </tr>
      <tr>
          <td>偵測模型</td>
          <td>Signature + Managed Rule + ML</td>
          <td>Signature + Managed Rule + Lambda 自訂</td>
          <td>Signal / behavioral（語意分析、低 FP）</td>
      </tr>
      <tr>
          <td>DDoS 內建</td>
          <td>是 — 跟 WAF 同套餐</td>
          <td>AWS Shield Standard 內建、Advanced 加價</td>
          <td>內建 + Fastly DDoS</td>
      </tr>
      <tr>
          <td>Bot Management</td>
          <td>加價 add-on（Pro / Business / Enterprise）</td>
          <td>AWS WAF Bot Control</td>
          <td>加價 add-on</td>
      </tr>
      <tr>
          <td>JS supply chain</td>
          <td>Page Shield（Business+）</td>
          <td>無原生、靠後端 CSP / 第三方</td>
          <td>Inline JS monitoring（Next-Gen WAF 部分）</td>
      </tr>
      <tr>
          <td>API schema</td>
          <td>API Shield（Enterprise）</td>
          <td>AWS WAF + API Gateway request validator</td>
          <td>NG-WAF inline + sigsci-agent</td>
      </tr>
      <tr>
          <td>學習曲線</td>
          <td>中 — UI / Rules language 易上手、Terraform 完整</td>
          <td>較陡 — JSON policy + 跟 AWS service 整合多軌</td>
          <td>中 — agent 安裝 + Signal 語意設定</td>
      </tr>
      <tr>
          <td>第三方信任成本</td>
          <td>高 — Cloudflare 控制面（2023、2026 自家事件）</td>
          <td>中 — AWS 控制面、跟 IAM 同套</td>
          <td>中 — Fastly 控制面（規模小、事件少但社群影響也小）</td>
      </tr>
      <tr>
          <td>適合場景</td>
          <td>Multi-cloud / on-prem origin、要整套 edge security</td>
          <td>AWS-heavy、ALB / CloudFront 是主要入口</td>
          <td>高 FP 容忍度低、業務有 schema、想避 regex signature</td>
      </tr>
  </tbody>
</table>
<p>選 Cloudflare WAF 的核心訴求：<em>多雲 / on-prem origin</em> + 需要 <em>整套 edge security suite</em>（DDoS + WAF + Bot + Page Shield + API Shield） + 接受 Cloudflare 控制面風險、且有預算做 Enterprise tier 才能拿到完整功能。純 AWS-internal app + ALB origin 用 AWS WAF 整合更直接。</p>
<h2 id="進階主題">進階主題</h2>
<p><strong>Workers + Workers AI 作為 custom logic</strong>：當 managed rule + custom rule 表達力不夠（例：根據 user account tier 決定 challenge 強度、整合內部 risk score API）、可以用 Cloudflare Workers 寫 JavaScript / TypeScript / Rust 在 edge 執行。Workers AI 提供 edge ML inference、可以做 inline content moderation 或 anomaly detection。代價是 <em>Workers code 進 Cloudflare 控制面</em>、變更要走部署流程、debug 跟 origin 是兩條 trace。</p>
<p><strong>Logpush 跟 SIEM 整合</strong>：Cloudflare Security Events 量大、free / Pro 在 dashboard 看、Business / Enterprise 走 Logpush 到 R2 / S3 / Splunk / Datadog / Sumo Logic。production 必須走 Logpush、不能只在 dashboard — 事件 30 天保留期是 Cloudflare 端、SIEM 留更久。Logpush 也是 SIEM 上做 <em>跨來源 correlation</em> 的前提（WAF event + origin app log + IdP log）。</p>
<p><strong>Multi-account / Tenant</strong>：大企業有多個 Cloudflare account（不同 BU / 不同產品線）、要走 <em>Cloudflare for SaaS</em> 或 <em>Account-level access</em>、API token scope 要限定 account。Single account 多 zone 是常見小組織配置、但跨組織 / 跨產品線必須拆 account 隔離 admin compromise blast radius。</p>
<p><strong>Magic Transit / Zero Trust integration</strong>：Magic Transit 是 L3 DDoS（不只 HTTP、TCP / UDP 也 anycast）、Zero Trust 是 employee access（取代 VPN）。跟 WAF 是不同產品、但常一起部署 — Magic Transit 防 L3/L4 attack、WAF 防 L7、Zero Trust 防內部 east-west。</p>
<h2 id="排錯與失敗快速判讀">排錯與失敗快速判讀</h2>
<ul>
<li><strong>Managed Rule 誤殺合法請求</strong>：High sensitivity 開後 business endpoint 變慢 / 報錯 — 看 Security Events 找 rule_id、用 Custom Rule skip 該 rule 在特定 path / 特定 user-agent、不要全 zone 關 rule</li>
<li><strong>Bot Management 太嚴 / 太鬆</strong>：bot score threshold 設不對、合法 API client 被當 bot、或攻擊者拿到 verified bot 假冒 — 用 <em>Bot Analytics</em> 看分數分布、調整 threshold 同時加白名單（API key + IP CIDR）</li>
<li><strong>Rate Limit 誤殺 NAT 用戶</strong>：per-IP rate limit 在 NAT 出口 IP 上炸 — 改 per-session（cookie-based）或 cf.threat_score 條件</li>
<li><strong>Origin IP 外洩</strong>：DNS 歷史 + 漏洞披露 + cert SAN 揭露真實 origin、攻擊繞 Cloudflare 直打 — 換 IP + 開 origin firewall（只允許 Cloudflare CIDR）+ Argo Tunnel</li>
<li><strong>API token over-scoped</strong>：CI / 第三方 SaaS 拿到 Global API Key、整 account 都被改 — 改 scoped token、限 zone + permission + IP、進 <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">Vault</a></li>
<li><strong>Security Events 沒進 SIEM</strong>：事件只在 dashboard、跨來源 correlation 沒法做 — 配 Logpush + alert 規則</li>
<li><strong>Page Shield 沒裝</strong>：客戶端 JS 被植入、伺服器端日誌看不到攻擊、第三方 script CDN 被打 — 啟用 Page Shield + CSP report-uri 雙軌</li>
<li><strong>第二邊界沒設</strong>：完全依賴 Cloudflare、Cloudflare 出事流量全停（<a href="/blog/backend/07-security-data-protection/cases/cloudflare-route-leak-2026/" data-link-title="7.C1 Cloudflare：2026 Route Leak 事件" data-link-desc="BGP 路由政策自動化失誤如何回寫控制面治理。">2023 / 2026 自家事件</a>）— 高 SLA 服務應該設 fallback origin / secondary DNS（如 Route53 health check failover 到 Fastly 或直連 origin）</li>
</ul>
<h2 id="何時改走其他服務">何時改走其他服務</h2>
<table>
  <thead>
      <tr>
          <th>需求形狀</th>
          <th>改走</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>AWS-only + ALB / CloudFront origin</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a></td>
      </tr>
      <tr>
          <td>低 FP 容忍 / 業務有 schema</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a></td>
      </tr>
      <tr>
          <td>純內部 mTLS / east-west</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/spire/" data-link-title="SPIRE" data-link-desc="SPIFFE Runtime Environment、attested workload identity、short-lived SVID &#43; Trust Bundle、跨組織 federation">SPIRE</a> + service mesh</td>
      </tr>
      <tr>
          <td>Cert lifecycle</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/cert-manager/" data-link-title="cert-manager" data-link-desc="K8s 原生 certificate lifecycle automation、支援 Let&#39;s Encrypt / Vault PKI / Venafi 等多 issuer、auto-renewal &#43; Challenge solver">cert-manager</a> / <a href="/blog/backend/07-security-data-protection/vendors/letsencrypt/" data-link-title="Let&#39;s Encrypt" data-link-desc="免費 &#43; 自動化的公共 ACME CA、90 天 TTL 強制自動化、跨雲跨平台 public TLS cert 的事實基礎">Let&rsquo;s Encrypt</a></td>
      </tr>
      <tr>
          <td>客戶端 JS supply chain</td>
          <td>Page Shield + <a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">supply chain integrity</a></td>
      </tr>
      <tr>
          <td>DDoS L3/L4</td>
          <td>Cloudflare Magic Transit / AWS Shield Advanced</td>
      </tr>
  </tbody>
</table>
<h2 id="不在本頁內的主題">不在本頁內的主題</h2>
<ul>
<li>Cloudflare 完整 product line（Workers / Pages / R2 / D1 / Magic Transit / Zero Trust 各自細節）</li>
<li>WAF Rules language 完整語法 reference</li>
<li>Page Shield / API Shield Enterprise tier 完整功能對照</li>
<li>各 PCI DSS / SOC 2 / FedRAMP 合規矩陣</li>
<li>Cloudflare 在中國的部署模式（JD Cloud Union 合作）</li>
</ul>
<h2 id="案例回寫">案例回寫</h2>
<p>Cloudflare WAF 在 07 案例庫有 <em>兩個直接 vendor-level 事件</em> + 多個 edge-exposure 對照：</p>
<table>
  <thead>
      <tr>
          <th>案例</th>
          <th>跟 Cloudflare WAF 的關係</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/cases/cloudflare-control-plane-token-2023/" data-link-title="7.C2 Cloudflare：2023 Control-plane Token 事件" data-link-desc="控制面 token 事件如何回寫 secrets 與機器憑證治理。">Cloudflare Control Plane Token 2023</a></td>
          <td>直接 — Cloudflare 自家 API token 治理不足、客戶側必須假設 vendor 也會被打、API token rotation 跟 IP allowlist 必做</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/cases/cloudflare-route-leak-2026/" data-link-title="7.C1 Cloudflare：2026 Route Leak 事件" data-link-desc="BGP 路由政策自動化失誤如何回寫控制面治理。">Cloudflare Route Leak 2026</a></td>
          <td>直接 — 自動化路由配置錯誤導致流量擁塞、客戶側應有 secondary DNS / failover origin 預案</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/edge-exposure/citrix-bleed-2023-session-hijack/" data-link-title="7.R7.3.3 Citrix Bleed 2023：會話被劫持與重放風險" data-link-desc="邊界設備會話資料外洩後，如何演變成帳號與服務風險">Citrix Bleed 2023 Session Hijack</a></td>
          <td>對照啟示 — WAF 攔不住 edge appliance zero-day、需要「修補 + session 失效 + 異常清查」三同步</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/edge-exposure/fortinet-cve-2023-27997-sslvpn-overflow/" data-link-title="7.R7.3.21 Fortinet 2023：CVE-2023-27997 SSL-VPN 溢位" data-link-desc="SSL-VPN 漏洞在邊界設備上會放大大規模掃描與利用速度">Fortinet SSL-VPN CVE 2023-27997</a></td>
          <td>對照啟示 — vendor patch 前的臨時 WAF rule + 收斂可達來源是修補窗口期的標準動作</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/supply-chain/log4shell-cve-2021-44228-component-chain/" data-link-title="7.R7.2.7 Log4Shell 2021：共用元件風險與修補鏈" data-link-desc="共用元件漏洞如何同步影響多服務，並迫使團隊建立依賴治理 workflow">Log4Shell CVE-2021-44228</a></td>
          <td>對照啟示 — WAF rule 是 emergency mitigation、但 exploitation 過 WAF 後在後端執行、不能單靠 WAF 防後端 supply chain</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/identity-access/okta-cloudflare-2023-support-supply-chain/" data-link-title="7.R7.1.2 Okta &#43; Cloudflare 2023：支援流程與身分供應鏈" data-link-desc="支援工單與第三方身份供應商路徑如何變成入侵鏈的一部分">Okta-Cloudflare 2023 Support Supply Chain</a></td>
          <td>對照啟示 — 上游 IdP 出事傳導到 Cloudflare admin 帳號、API token / admin session 要立即 rotate、不等供應商公告</td>
      </tr>
  </tbody>
</table>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>上游：<a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口治理與伺服器防護</a></li>
<li>平行：<a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a>、<a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a></li>
<li>下游：<a href="/blog/backend/07-security-data-protection/data-protection-and-masking-governance/" data-link-title="7.4 資料保護與遮罩治理" data-link-desc="以問題驅動方式整理資料分級、遮罩、匯出與備份治理">7.4 資料保護與遮罩治理</a>（WAF block 不夠時、資料層也要遮罩）</li>
<li>跨類：<a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">HashiCorp Vault</a>（Cloudflare API token 存放）、<a href="/blog/backend/07-security-data-protection/vendors/okta/" data-link-title="Okta" data-link-desc="SaaS Identity Provider 主流選項、SSO / MFA / lifecycle 整合、第三方信任邊界的代價">Okta</a>（Cloudflare admin 走 SSO）</li>
<li>跨模組：<a href="/blog/backend/08-incident-response/vendors/" data-link-title="事故處理 Vendor 清單" data-link-desc="規劃 on-call、incident response、status page 與 postmortem 工具的服務頁撰寫順序與判準">8 事故處理 vendor 清單</a>（WAF block 事件 / Cloudflare 自家事件如何 routing 進 IR）</li>
<li>官方：<a href="https://developers.cloudflare.com/waf/">Cloudflare WAF Documentation</a></li>
</ul>
]]></content:encoded></item><item><title>AWS WAF</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-waf/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-waf/</guid><description>&lt;p>AWS WAF 是 &lt;em>AWS-internal&lt;/em> 的 Web Application Firewall、掛在 ALB、CloudFront、API Gateway、App Runner、AppSync 與 Cognito User Pool 的前面，攔截 HTTP/HTTPS 攻擊。它跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &amp;#43; DDoS &amp;#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF&lt;/a> / &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &amp;#43; ATO &amp;#43; Bot 一體">Fastly Next-Gen WAF&lt;/a> 的核心差異是 &lt;em>部署位置在 AWS 內部&lt;/em>：流量先經 AWS 邊界進來、再進 Web ACL 過濾、最後抵達 origin；不是在 Cloudflare anycast edge 提早攔。對 AWS-heavy 客戶、AWS WAF 的價值是 &lt;em>跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-iam/" data-link-title="AWS IAM" data-link-desc="AWS cloud resource permission engine、Role / Policy / STS、跨帳號信任邊界與 OIDC federation 的核心">AWS IAM&lt;/a> / VPC / &lt;a href="https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html">AWS Shield&lt;/a> 同一個控制面&lt;/em>；對 multi-cloud / on-prem origin、AWS WAF 觸不到、要回到 edge WAF。&lt;/p>
&lt;h2 id="服務定位">服務定位&lt;/h2>
&lt;p>AWS WAF 的核心定位是 &lt;em>跟 AWS 服務深度耦合的 L7 防護層&lt;/em>。Web ACL 直接掛 AWS resource、規則用 IAM policy 管理、log 進 Kinesis Firehose / CloudWatch Logs / S3、跟 AWS Shield Standard（內含、L3/L4 DDoS）自動整合。這跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &amp;#43; DDoS &amp;#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF&lt;/a> 在 &lt;em>origin 之前的 edge&lt;/em> 攔截不同 — AWS WAF 流量 &lt;em>已經進到 AWS 邊界&lt;/em>、不是擋在外部。對 origin 跑在 ALB / CloudFront / API Gateway 後的客戶、AWS WAF 是天然選項；origin 在其他雲或地端、AWS WAF 觸不到。&lt;/p>
&lt;p>跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &amp;#43; ATO &amp;#43; Bot 一體">Fastly Next-Gen WAF&lt;/a> 相比、AWS WAF 走 &lt;em>signature + managed rule group&lt;/em> 偵測模型、不像 Fastly NG-WAF 走語意 / behavioral；AWS WAF 的 Managed Rule Group 來自 AWS Managed 與 AWS Marketplace 第三方（Fortinet、F5、Imperva 等）、客戶端 &lt;em>看不到 rule logic&lt;/em>、debug 時要靠 sampled request 反推。&lt;/p></description><content:encoded><![CDATA[<p>AWS WAF 是 <em>AWS-internal</em> 的 Web Application Firewall、掛在 ALB、CloudFront、API Gateway、App Runner、AppSync 與 Cognito User Pool 的前面，攔截 HTTP/HTTPS 攻擊。它跟 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> / <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a> 的核心差異是 <em>部署位置在 AWS 內部</em>：流量先經 AWS 邊界進來、再進 Web ACL 過濾、最後抵達 origin；不是在 Cloudflare anycast edge 提早攔。對 AWS-heavy 客戶、AWS WAF 的價值是 <em>跟 <a href="/blog/backend/07-security-data-protection/vendors/aws-iam/" data-link-title="AWS IAM" data-link-desc="AWS cloud resource permission engine、Role / Policy / STS、跨帳號信任邊界與 OIDC federation 的核心">AWS IAM</a> / VPC / <a href="https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html">AWS Shield</a> 同一個控制面</em>；對 multi-cloud / on-prem origin、AWS WAF 觸不到、要回到 edge WAF。</p>
<h2 id="服務定位">服務定位</h2>
<p>AWS WAF 的核心定位是 <em>跟 AWS 服務深度耦合的 L7 防護層</em>。Web ACL 直接掛 AWS resource、規則用 IAM policy 管理、log 進 Kinesis Firehose / CloudWatch Logs / S3、跟 AWS Shield Standard（內含、L3/L4 DDoS）自動整合。這跟 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> 在 <em>origin 之前的 edge</em> 攔截不同 — AWS WAF 流量 <em>已經進到 AWS 邊界</em>、不是擋在外部。對 origin 跑在 ALB / CloudFront / API Gateway 後的客戶、AWS WAF 是天然選項；origin 在其他雲或地端、AWS WAF 觸不到。</p>
<p>跟 <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a> 相比、AWS WAF 走 <em>signature + managed rule group</em> 偵測模型、不像 Fastly NG-WAF 走語意 / behavioral；AWS WAF 的 Managed Rule Group 來自 AWS Managed 與 AWS Marketplace 第三方（Fortinet、F5、Imperva 等）、客戶端 <em>看不到 rule logic</em>、debug 時要靠 sampled request 反推。</p>
<p>計費模型也是關鍵差異：AWS WAF 按 <em>per-Web-ACL + per-rule + per-request</em> 計費（單 ACL $5/月、單 rule $1/月、$0.60 per 1M request），Managed Rule Group 算多 rule、開太多套 ruleset 與流量大時帳單會明顯漲。Cloudflare 是 plan-tier 計費（Pro / Business / Enterprise）、不會因為多開 rule 線性漲價。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本頁、讀者能判斷：</p>
<ol>
<li>AWS WAF 在 AWS-internal 防護 stack 中承擔哪一段、哪些要靠 <a href="https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html">AWS Shield</a> / VPC / CloudFront 補位</li>
<li>Web ACL scope（Regional vs CloudFront）的選擇與跨 region 部署成本</li>
<li>Managed Rule Group / Custom Rule / Rate-based Rule 的取捨、Bot Control add-on 是否值得開</li>
<li>何時用 AWS WAF、何時走 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> / <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly NG-WAF</a> 的判準</li>
</ol>
<h2 id="最短判讀路徑">最短判讀路徑</h2>
<p>判斷 AWS WAF 配置是否健康、最少看四件事：</p>
<ul>
<li><strong>Web ACL scope 對不對</strong>：CloudFront distribution 必須掛 <em>CloudFront scope</em>（強制在 us-east-1 建立 ACL）、ALB / API Gateway 必須掛 <em>Regional scope</em>（每個 region 各一份）；scope 配錯掛不上去、跨 region 部署是否用 IaC（Terraform / CloudFormation）同步複製 ACL</li>
<li><strong>Managed Rule Group 與 sensitivity</strong>：是否啟用 <em>AWSManagedRulesCommonRuleSet</em>（CRS）、<em>AmazonIpReputationList</em>（已知惡意 IP）、<em>AnonymousIpList</em>（VPN / proxy / Tor）、<em>KnownBadInputsRuleSet</em>（已知 exploit pattern）、Marketplace rule 是否在 Count mode 觀察 1-2 週 FP 再切 Block</li>
<li><strong>Logging 有沒有開</strong>：Web ACL log 預設關閉、必須手動配 Kinesis Firehose / CloudWatch Logs / S3 destination；event 是否進 SIEM（見 <a href="/blog/backend/07-security-data-protection/detection-coverage-and-signal-governance/" data-link-title="7.13 偵測覆蓋率與訊號治理" data-link-desc="定義偵測覆蓋、訊號品質與誤報成本的治理問題">7.13 偵測覆蓋率與訊號治理</a>）、是否能對 sampled request 反推 rule 行為</li>
<li><strong>IAM 邊界</strong>：誰能 update Web ACL（<code>wafv2:UpdateWebACL</code>、<code>wafv2:UpdateRuleGroup</code>）、是否限定 admin role 才能改、CI 是否只有 <code>wafv2:Get*</code> / <code>List*</code> 用來 verify、敏感變更是否走 Change Management / <a href="/blog/backend/knowledge-cards/audit-log/" data-link-title="Audit Log" data-link-desc="說明高風險操作如何留下可追溯、可稽核的紀錄">Audit Log</a></li>
</ul>
<p>四件事任一缺失、就是 <a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">Entry Point Protection</a> 邊界的待補項目。</p>
<h2 id="日常操作與決策形狀">日常操作與決策形狀</h2>
<p><strong>Web ACL 與 scope</strong>：Web ACL 是 AWS WAF 的 <em>規則容器</em>、必須 attach 到 AWS resource。Scope 兩種：<em>Regional</em>（給 ALB / API Gateway / App Runner / AppSync / Cognito User Pool、每 region 獨立）與 <em>CloudFront</em>（給 CloudFront distribution、必須在 us-east-1 建立、全球生效）。同一個 ACL 不能跨 scope 共用；跨 region 部署同一套規則必須複製 ACL、用 Terraform / CloudFormation 管理避免 drift。</p>
<p><strong>Rule action 五種</strong>：每個 rule 觸發時可以做 <em>Block</em>（直接 403）、<em>Allow</em>（跳過後續 rule、放行）、<em>Count</em>（不擋、只記錄、用於 dry-run 觀察 FP）、<em>CAPTCHA</em>（出題給人類解、bot 過不去）、<em>Challenge</em>（silent JS challenge、無感驗證）。新 rule 上線標準動作是先 <em>Count</em> 1-2 週看 sample、確認 FP 在容忍範圍才切 <em>Block</em>。CAPTCHA / Challenge 是 <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">Bot Control add-on</a> 配套、要額外計費。</p>
<p><strong>Managed Rule Group（managed by AWS / Marketplace）</strong>：AWS Managed（免費含在 WAF）涵蓋 <em>Common Rule Set</em>（OWASP top10 對應）、<em>Known Bad Inputs</em>、<em>SQL Database</em>、<em>Linux</em>、<em>Unix</em>、<em>Windows</em>、<em>Anonymous IP List</em>、<em>Amazon IP Reputation List</em>、<em>Account Takeover Prevention (ATP)</em>、<em>Account Creation Fraud Prevention (ACFP)</em>。AWS Marketplace（付費）來自 Fortinet / F5 / Imperva / Cyber Security Cloud 等。Marketplace 規則 <em>不公開 rule logic</em>、攔錯時只能用 sampled request 反推、debug 比 AWS Managed 困難。</p>
<p><strong>Custom Rule（statement + 條件）</strong>：Custom Rule 用 <em>statement</em>（match condition + transformation）組合：IP Set match、Geo match、Regex Pattern Set、Size constraint、SQL injection match、XSS match、String match（含 header / body / URI / query 各部位）。複雜條件用 AND / OR / NOT 組合、上限是每 Web ACL 5,000 Web ACL Capacity Units（WCU）— 規則越複雜 WCU 越高、Marketplace 大型 rule group 可能直接吃掉一半 budget。</p>
<p><strong>IP Set / Regex Pattern Set</strong>：IP Set 存 IPv4 / IPv6 CIDR 清單、Regex Pattern Set 存正則表達式集合。兩者都是 <em>獨立資源</em>、可在多個 Web ACL 引用、單獨更新（不必動 Web ACL 結構）。實務上 threat intel feed 應該 push 到 IP Set、用 Lambda 自動 sync、不用手動加。</p>
<p><strong>Rate-based Rule</strong>：限制 <em>單一 aggregate key</em> 在滾動 5 分鐘窗口內的請求數、超過 threshold 觸發 action。aggregate key 可選 <em>IP</em>、<em>Forwarded-IP</em>（看 X-Forwarded-For）、<em>HTTP method</em>、<em>URI path</em>、<em>Header</em>、<em>Cookie</em> 或組合。關鍵陷阱：<strong>CloudFront 後 origin ALB 必須用 Forwarded-IP</strong>、否則 Rate-based Rule 看到的全是 CloudFront 邊緣節點 IP、所有真實使用者被合併計算、要嘛全擋要嘛全放。</p>
<p><strong>Logging 必須手動開</strong>：Web ACL log 預設關閉、destination 三選一：<em>Kinesis Data Firehose</em>（推到 S3 / Splunk / Datadog）、<em>CloudWatch Logs</em>（簡單但貴）、<em>S3</em>（直寫、需自己處理 partition）。production 通常走 Kinesis Firehose → S3 + Athena query、配合 SIEM 拉 alert。沒開 log 等於 <em>攻擊發生時沒證據</em>、事後無法回查。</p>
<p><strong>跟 AWS Shield 整合</strong>：所有 AWS WAF 客戶自動含 <em>Shield Standard</em>（L3/L4 DDoS、免費、SYN flood / UDP reflection 等基礎防護）。<em>Shield Advanced</em> 是付費 add-on（$3,000/month per organization + per-resource fee + data transfer out fee）、提供 <em>24/7 DRT（DDoS Response Team）</em>、cost protection（DDoS 期間 AWS service scaling fee 補貼）、進階分析。一般客戶 Shield Standard 已足夠；金融 / 政府 / 高知名度品牌需要 Shield Advanced 的 DRT 與 cost protection。</p>
<p><strong>Lambda@Edge / CloudFront Functions 補位</strong>：當 WAF rule statement 表達不出複雜業務邏輯（geofencing + business hour + user tier 組合、JWT claim 解析後判斷 routing）、用 <em>Lambda@Edge</em>（Node.js / Python、跑在 CloudFront 邊緣節點、4 個 phase：viewer-request / origin-request / origin-response / viewer-response）或 <em>CloudFront Functions</em>（純 JS、輕量、低延遲、只在 viewer-request / viewer-response）補位。Lambda@Edge 適合複雜邏輯、CloudFront Functions 適合 header rewrite / 簡單 routing；兩者都不能取代 WAF managed rule、但補位 WAF 表達力上限。</p>
<p><strong>跟 <a href="/blog/backend/07-security-data-protection/vendors/aws-iam/" data-link-title="AWS IAM" data-link-desc="AWS cloud resource permission engine、Role / Policy / STS、跨帳號信任邊界與 OIDC federation 的核心">AWS IAM</a> 整合</strong>：誰能改 Web ACL 是 <em>IAM policy</em> 決定（<code>wafv2:CreateWebACL</code>、<code>wafv2:UpdateWebACL</code>、<code>wafv2:AssociateWebACL</code>、<code>wafv2:UpdateRuleGroup</code> 等 action）。production 標準配置：admin role 才能 update、CI / 開發者只有 <code>wafv2:Get*</code> / <code>List*</code> 用來 verify、敏感變更走 Change Management + CloudTrail <a href="/blog/backend/knowledge-cards/audit-log/" data-link-title="Audit Log" data-link-desc="說明高風險操作如何留下可追溯、可稽核的紀錄">audit log</a>。</p>
<h2 id="核心取捨表">核心取捨表</h2>
<table>
  <thead>
      <tr>
          <th>取捨維度</th>
          <th>AWS WAF</th>
          <th>Cloudflare WAF</th>
          <th>Fastly Next-Gen WAF</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>部署位置</td>
          <td>AWS 內部（ALB / CloudFront / API Gateway 前）</td>
          <td>Cloudflare global edge（300+ POP）</td>
          <td>Fastly global edge / 各 origin agent</td>
      </tr>
      <tr>
          <td>Origin 適配</td>
          <td>強耦合 — origin 必須在 AWS</td>
          <td>強中立 — 任意雲 / on-prem</td>
          <td>強中立 — Fastly CDN / 任何 origin</td>
      </tr>
      <tr>
          <td>計費模型</td>
          <td>per-ACL + per-rule + per-request</td>
          <td>plan tier（Free / Pro / Business / Enterprise）</td>
          <td>request-based + plan</td>
      </tr>
      <tr>
          <td>Managed Rule</td>
          <td>AWS Managed（免費）+ Marketplace（付費、logic 不透明）</td>
          <td>Cloudflare Managed + OWASP CRS + Exposed Credentials</td>
          <td>Signal-based（語意、低 FP、不靠 regex signature）</td>
      </tr>
      <tr>
          <td>Rate Limiting</td>
          <td>Rate-based Rule（含在 WAF、5 分鐘 window）</td>
          <td>Rate Limiting 獨立 product</td>
          <td>inline rate limit + Signal</td>
      </tr>
      <tr>
          <td>Bot 對應</td>
          <td>AWS WAF Bot Control（add-on、付費）</td>
          <td>Bot Management（Pro+ add-on）</td>
          <td>NG-WAF behavioral bot detection</td>
      </tr>
      <tr>
          <td>DDoS 內建</td>
          <td>Shield Standard 自動含（L3/L4）、Advanced 加價</td>
          <td>同套餐內建</td>
          <td>內建 + Fastly DDoS</td>
      </tr>
      <tr>
          <td>控制面整合</td>
          <td>跟 IAM / CloudTrail / Shield / VPC 同 plane</td>
          <td>Cloudflare 控制面、跟其他 Cloudflare 產品同套</td>
          <td>Fastly 控制面、agent 跑在 origin</td>
      </tr>
      <tr>
          <td>學習曲線</td>
          <td>中陡 — Web ACL + WCU + scope + IAM policy 多軌</td>
          <td>中 — UI / Rules language / Terraform 完整</td>
          <td>中 — agent 安裝 + Signal 語意設定</td>
      </tr>
      <tr>
          <td>適合場景</td>
          <td>AWS-heavy、ALB / CloudFront 是主要入口</td>
          <td>Multi-cloud / on-prem origin、要整套 edge security</td>
          <td>高 FP 容忍度低、業務有 schema、想避 regex signature</td>
      </tr>
  </tbody>
</table>
<p>選 AWS WAF 的核心訴求：<em>AWS-internal app</em> + origin 跑在 ALB / CloudFront / API Gateway / App Runner 後 + 想跟 IAM / CloudTrail / Shield 同套 control plane 治理。Origin 不在 AWS、或要 <em>把攻擊擋在抵達雲之前</em>、應該走 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> 或 <a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly NG-WAF</a>。</p>
<h2 id="進階主題">進階主題</h2>
<p><strong>AWS WAF Bot Control（add-on）</strong>：付費 add-on、用 AWS 自家 bot fingerprinting 區分 <em>verified bot</em>（搜尋引擎）/ <em>signal: automated browser</em>（headless Chrome 等）/ <em>signal: known bot</em>（已標記 IoT / scraper），給每個請求 <em>bot category label</em>。Custom Rule 在 label 上做條件、決定 Block / Challenge / CAPTCHA。比 user-agent 過濾準很多、但要額外計費（per-request）。Bot Control 有兩個 inspection level：<em>common</em>（便宜、基礎指紋）與 <em>targeted</em>（貴、含 JavaScript challenge、CAPTCHA、token-based）。</p>
<p><strong>Fraud Control（ATP / ACFP）</strong>：<em>Account Takeover Prevention</em>（ATP）跟 <em>Account Creation Fraud Prevention</em>（ACFP）是 Managed Rule Group 的特殊類別、需付費啟用。ATP 看登入端點的 credential stuffing、ACFP 看註冊端點的 bot signup。兩者都用 AWS 自家 threat intel（被竊憑證 list、行為模型）打 label、客戶側用 Custom Rule 處理。對有 login / signup 端點的 SaaS / 電商有價值、純內部後台不必開。</p>
<p><strong>CAPTCHA / Challenge</strong>：AWS WAF 內建 CAPTCHA puzzle 與 silent JS Challenge、可在 rule action 直接呼叫。Challenge 在客戶端執行 proof-of-work、合法瀏覽器無感、headless 工具卡住；CAPTCHA 是視覺題、人類解、bot 不會。Production 標準做法：Bot Control 給 label → Custom Rule 看 label → likely bot 走 Challenge、known bad 走 Block、人類流量直接 Allow。</p>
<p><strong>ACM Private CA + WAF 對 mTLS</strong>：AWS WAF 本身不做 mTLS 驗證、mTLS 是 ALB / API Gateway / CloudFront 自己的功能（搭配 <a href="/blog/backend/07-security-data-protection/vendors/aws-acm/" data-link-title="AWS ACM" data-link-desc="AWS-managed certificate provisioning、DNS validation &#43; auto-renewal、整合 ELB / CloudFront / API Gateway、Private CA 後端">AWS ACM</a> Private CA 簽發 client cert）。WAF 在 mTLS 完成後才看 L7 流量、可以用 <em>HTTP header match</em>（mTLS 後 ALB 注入 client cert 資訊到 header）做進一步 rule。Internal API 用 mTLS + WAF 是常見組合。</p>
<p><strong>Lambda@Edge 補 inline business logic</strong>：複雜判斷（user tier × geo × business hour × A/B test）WAF rule statement 表達不出來、用 Lambda@Edge 在 <em>viewer-request</em> phase 解析 JWT、查 internal risk API、回 response header 給 WAF 後續判斷。代價：Lambda@Edge 部署只能在 us-east-1、code 更新傳播到全球 edge 要幾分鐘、debug 是分散式 CloudWatch Logs。</p>
<h2 id="排錯與失敗快速判讀">排錯與失敗快速判讀</h2>
<ul>
<li><strong>Web ACL 掛不上 CloudFront</strong>：scope 配成 Regional、CloudFront 拒絕 attach — Web ACL 必須在 us-east-1 + CloudFront scope 才能掛 CloudFront；ALB / API Gateway 反過來只能掛 Regional scope</li>
<li><strong>Rate-based Rule 全擋 / 全放</strong>：CloudFront 後 origin 看到全部都是 CloudFront IP、aggregate key 沒換 Forwarded-IP — 改用 <em>Forwarded-IP</em>（X-Forwarded-For）作 aggregate key，並設 Fallback behavior</li>
<li><strong>Managed Rule Group 誤殺合法請求</strong>：CRS High sensitivity 開後 file upload / rich text editor 端點被 Block — 找 sampled request 看 rule_id、用 <em>Scope-down statement</em> 限定該 rule 在某 path 不執行、或開該 rule 為 Count、不要關整個 group</li>
<li><strong>Marketplace Rule 攔不明流量</strong>：Marketplace rule logic 不公開、sampled request 看到 rule label 但不知為何 — 切該 rule 到 Count mode 觀察、若無 attack 跡象換 AWS Managed 同類 rule</li>
<li><strong>WCU 超限</strong>：Web ACL 上限 5,000 WCU、加 Marketplace + 多個 AWS Managed 就會爆 — 看 <em>Capacity Used</em>、移除重疊 rule、把 Custom Rule 表達式簡化（少用 <em>transformation chain</em>）</li>
<li><strong>Logging 沒設 / 設錯</strong>：事件發生後沒有完整 log 可查、只有 sampled request（保留 3 小時、機率抽樣） — 必開 <em>Logging configuration</em> 到 Kinesis Firehose / S3 / CloudWatch Logs、確認 IAM role 有 firehose:PutRecord 權限</li>
<li><strong>IAM 權限過寬</strong>：CI account 拿到 <code>wafv2:*</code> 整 zone 都能改 — 收斂到 <code>wafv2:Get*</code> / <code>List*</code> 唯讀、敏感寫入限 admin role + MFA + Change Management</li>
<li><strong>跨 region 部署 drift</strong>：手動在 console 改 us-east-1 ACL、其他 region 沒同步 — 用 Terraform / CloudFormation IaC 管理、PR review、CI plan 檢查 drift</li>
<li><strong>Shield Standard 不夠擋大型 L7 DDoS</strong>：Standard 只防 L3/L4、L7 attack 靠 WAF Rate-based Rule + Bot Control — 若反覆遭遇大型 L7 DDoS、評估 Shield Advanced 的 DRT + cost protection 是否值得</li>
</ul>
<h2 id="何時改走其他服務">何時改走其他服務</h2>
<table>
  <thead>
      <tr>
          <th>需求形狀</th>
          <th>改走</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Multi-cloud / on-prem origin</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a></td>
      </tr>
      <tr>
          <td>低 FP 容忍 / 業務有 schema</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a></td>
      </tr>
      <tr>
          <td>L3/L4 DDoS 進階防護</td>
          <td>AWS Shield Advanced / Cloudflare Magic Transit</td>
      </tr>
      <tr>
          <td>純內部 mTLS / east-west</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/spire/" data-link-title="SPIRE" data-link-desc="SPIFFE Runtime Environment、attested workload identity、short-lived SVID &#43; Trust Bundle、跨組織 federation">SPIRE</a> + service mesh</td>
      </tr>
      <tr>
          <td>Cert lifecycle</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/aws-acm/" data-link-title="AWS ACM" data-link-desc="AWS-managed certificate provisioning、DNS validation &#43; auto-renewal、整合 ELB / CloudFront / API Gateway、Private CA 後端">AWS ACM</a> / <a href="/blog/backend/07-security-data-protection/vendors/cert-manager/" data-link-title="cert-manager" data-link-desc="K8s 原生 certificate lifecycle automation、支援 Let&#39;s Encrypt / Vault PKI / Venafi 等多 issuer、auto-renewal &#43; Challenge solver">cert-manager</a></td>
      </tr>
      <tr>
          <td>Secrets / API key</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/aws-secrets-manager/" data-link-title="AWS Secrets Manager" data-link-desc="AWS 原生 secret store &#43; 內建 RDS / Redshift rotation Lambda、Resource Policy 跨帳號共享、KMS 加密">AWS Secrets Manager</a> / <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">Vault</a></td>
      </tr>
      <tr>
          <td>複雜業務邏輯 inline 處理</td>
          <td>Lambda@Edge / CloudFront Functions</td>
      </tr>
  </tbody>
</table>
<h2 id="不在本頁內的主題">不在本頁內的主題</h2>
<ul>
<li>AWS WAF Classic（v1）的遷移細節 — 本頁全以 WAFv2 為準</li>
<li>完整 WCU 計算規則與每個 statement 的 WCU cost reference</li>
<li>Marketplace 第三方 rule group 各家功能矩陣</li>
<li>AWS WAF 在 GovCloud / China region 的差異</li>
<li>Bot Control / ATP / ACFP 完整 label schema reference</li>
</ul>
<h2 id="案例回寫">案例回寫</h2>
<p>AWS WAF 在 07 案例庫無直接 vendor-level case、但多個 case 對應 WAF 作為 <em>修補窗口期臨時控制</em> 與 <em>entry point 治理</em> 的角色：</p>
<table>
  <thead>
      <tr>
          <th>案例</th>
          <th>跟 AWS WAF 的關係</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/supply-chain/log4shell-cve-2021-44228-component-chain/" data-link-title="7.R7.2.7 Log4Shell 2021：共用元件風險與修補鏈" data-link-desc="共用元件漏洞如何同步影響多服務，並迫使團隊建立依賴治理 workflow">Log4Shell CVE-2021-44228</a></td>
          <td>對照啟示 — AWS Managed Rule Group 當時推出 Log4Shell 規則作為 emergency mitigation；但 exploitation 通過 WAF 後在後端執行，不能單靠 WAF 防 supply chain</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/edge-exposure/citrix-bleed-2023-session-hijack/" data-link-title="7.R7.3.3 Citrix Bleed 2023：會話被劫持與重放風險" data-link-desc="邊界設備會話資料外洩後，如何演變成帳號與服務風險">Citrix Bleed 2023 Session Hijack</a></td>
          <td>對照啟示 — WAF 攔不住 edge appliance zero-day、需要「修補 + session 失效 + 異常清查」三同步</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/edge-exposure/fortinet-cve-2023-27997-sslvpn-overflow/" data-link-title="7.R7.3.21 Fortinet 2023：CVE-2023-27997 SSL-VPN 溢位" data-link-desc="SSL-VPN 漏洞在邊界設備上會放大大規模掃描與利用速度">Fortinet SSL-VPN CVE 2023-27997</a></td>
          <td>對照啟示 — vendor patch 前的臨時 AWS WAF Custom Rule + Shield Advanced + Origin lockdown 是修補窗口期動作</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口治理與伺服器防護</a></td>
          <td>AWS WAF 是 entry point protection 的工具、章節原則對應 WAF rule lifecycle 治理（Count → Block、IaC、IAM 收斂）</td>
      </tr>
  </tbody>
</table>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>上游：<a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口治理與伺服器防護</a></li>
<li>平行：<a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a>、<a href="/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/" data-link-title="Fastly Next-Gen WAF" data-link-desc="Behavioral / 語意分析 WAF（前 Signal Sciences）、低 false positive、Edge / Agent / Cloud 三種部署模型、API &#43; ATO &#43; Bot 一體">Fastly Next-Gen WAF</a></li>
<li>下游：<a href="/blog/backend/07-security-data-protection/data-protection-and-masking-governance/" data-link-title="7.4 資料保護與遮罩治理" data-link-desc="以問題驅動方式整理資料分級、遮罩、匯出與備份治理">7.4 資料保護與遮罩治理</a>（WAF block 不夠時、資料層也要遮罩）</li>
<li>跨類：<a href="/blog/backend/07-security-data-protection/vendors/aws-iam/" data-link-title="AWS IAM" data-link-desc="AWS cloud resource permission engine、Role / Policy / STS、跨帳號信任邊界與 OIDC federation 的核心">AWS IAM</a>（誰能改 Web ACL）、<a href="/blog/backend/07-security-data-protection/vendors/aws-acm/" data-link-title="AWS ACM" data-link-desc="AWS-managed certificate provisioning、DNS validation &#43; auto-renewal、整合 ELB / CloudFront / API Gateway、Private CA 後端">AWS ACM</a>（mTLS client cert）、<a href="/blog/backend/07-security-data-protection/vendors/aws-secrets-manager/" data-link-title="AWS Secrets Manager" data-link-desc="AWS 原生 secret store &#43; 內建 RDS / Redshift rotation Lambda、Resource Policy 跨帳號共享、KMS 加密">AWS Secrets Manager</a>（rule update 用的 API key）</li>
<li>跨模組：<a href="/blog/backend/08-incident-response/vendors/" data-link-title="事故處理 Vendor 清單" data-link-desc="規劃 on-call、incident response、status page 與 postmortem 工具的服務頁撰寫順序與判準">8 事故處理 vendor 清單</a>（WAF block 事件如何 routing 進 IR）</li>
<li>官方：<a href="https://docs.aws.amazon.com/waf/latest/developerguide/">AWS WAF Documentation</a></li>
</ul>
]]></content:encoded></item><item><title>Fastly Next-Gen WAF</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/fastly-ngwaf/</guid><description>&lt;p>Fastly Next-Gen WAF（NG-WAF）的核心定位是 &lt;em>用語意分析 + behavioral detection 取代 regex signature&lt;/em> 的 web application firewall。它前身是 2020 年被 Fastly 收購的 Signal Sciences、跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &amp;#43; DDoS &amp;#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF&lt;/a> / &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &amp;#43; Managed Rule Group &amp;#43; Rate-based Rule、Shield Standard 內含">AWS WAF&lt;/a> 的根本差異不在覆蓋面、在 &lt;em>偵測 mindset&lt;/em> — 不靠 pattern 比對、靠解析請求語意（這段內容像不像 SQL、像不像 shell command）跟跨請求行為模式（同一 token 在多 endpoint 連續觸發異常）下判斷。產出是 &lt;em>低 false positive 的 inline block 模式可以直接上 production&lt;/em>、不需要先養 Log Mode 兩週、不需要 SOC 全職人員跟 rule 戰。&lt;/p>
&lt;h2 id="服務定位">服務定位&lt;/h2>
&lt;p>Fastly NG-WAF 設計的第一順位是 &lt;em>production 可直接走 Block 模式&lt;/em>。Signature WAF 的成本不在 rule 本身、在 false positive — 一條 SQLi pattern 可能誤判合法 SQL-like 字串（搜尋查詢、CSV 上傳）、production 開 Block 立刻炸合法流量、所以多數 signature WAF 跑在 &lt;em>Detect / Log Only&lt;/em> 模式、攔不下真正攻擊。Fastly NG-WAF 走 &lt;em>Signal&lt;/em> 模型：每個請求被解析後標記若干 Signal（SQLi、XSS、CMDI、Traversal、Anomaly 等）、再依 &lt;em>threshold-based rule&lt;/em>（N 個 Signal 在 M 秒內聚集）才動作 — false positive 自然降低、Block 模式可開。&lt;/p>
&lt;p>跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &amp;#43; DDoS &amp;#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF&lt;/a> 的對照：Cloudflare 走 signature + managed rule + ML 三層、覆蓋廣但需要 sensitivity tuning；Fastly NG-WAF 預設低 FP 但需要 &lt;em>客戶自己定義業務語意&lt;/em>（哪些 path 是 admin、哪些 header 不該出現、哪些 anomaly 對自家業務代表攻擊）— 用 &lt;em>Tag&lt;/em> + &lt;em>Match Conditions&lt;/em> 表達。跟 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &amp;#43; Managed Rule Group &amp;#43; Rate-based Rule、Shield Standard 內含">AWS WAF&lt;/a> 的對照：AWS WAF 跟 ALB / CloudFront / API Gateway 整合深、跨雲弱；Fastly NG-WAF 部署模型多樣（Edge / Agent / Cloud）、跨 AWS / GCP / on-prem / K8s 一致。&lt;/p></description><content:encoded><![CDATA[<p>Fastly Next-Gen WAF（NG-WAF）的核心定位是 <em>用語意分析 + behavioral detection 取代 regex signature</em> 的 web application firewall。它前身是 2020 年被 Fastly 收購的 Signal Sciences、跟 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> / <a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a> 的根本差異不在覆蓋面、在 <em>偵測 mindset</em> — 不靠 pattern 比對、靠解析請求語意（這段內容像不像 SQL、像不像 shell command）跟跨請求行為模式（同一 token 在多 endpoint 連續觸發異常）下判斷。產出是 <em>低 false positive 的 inline block 模式可以直接上 production</em>、不需要先養 Log Mode 兩週、不需要 SOC 全職人員跟 rule 戰。</p>
<h2 id="服務定位">服務定位</h2>
<p>Fastly NG-WAF 設計的第一順位是 <em>production 可直接走 Block 模式</em>。Signature WAF 的成本不在 rule 本身、在 false positive — 一條 SQLi pattern 可能誤判合法 SQL-like 字串（搜尋查詢、CSV 上傳）、production 開 Block 立刻炸合法流量、所以多數 signature WAF 跑在 <em>Detect / Log Only</em> 模式、攔不下真正攻擊。Fastly NG-WAF 走 <em>Signal</em> 模型：每個請求被解析後標記若干 Signal（SQLi、XSS、CMDI、Traversal、Anomaly 等）、再依 <em>threshold-based rule</em>（N 個 Signal 在 M 秒內聚集）才動作 — false positive 自然降低、Block 模式可開。</p>
<p>跟 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> 的對照：Cloudflare 走 signature + managed rule + ML 三層、覆蓋廣但需要 sensitivity tuning；Fastly NG-WAF 預設低 FP 但需要 <em>客戶自己定義業務語意</em>（哪些 path 是 admin、哪些 header 不該出現、哪些 anomaly 對自家業務代表攻擊）— 用 <em>Tag</em> + <em>Match Conditions</em> 表達。跟 <a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a> 的對照：AWS WAF 跟 ALB / CloudFront / API Gateway 整合深、跨雲弱；Fastly NG-WAF 部署模型多樣（Edge / Agent / Cloud）、跨 AWS / GCP / on-prem / K8s 一致。</p>
<p>關鍵張力：低 FP 的 <em>代價</em> 是要花時間理解自家業務語意。Signature WAF 是「裝上就有保護」、Fastly NG-WAF 是「裝上有 baseline、業務 anomaly 要自己標」。沒有人定義 Tag + Power Rules、就只用到產品 30% 能力。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本頁、讀者能判斷：</p>
<ol>
<li>Fastly NG-WAF 的 Signal / Tag / Rule / Mode 四個核心 first-class concept 各承擔什麼責任</li>
<li>Edge / Agent + Module / Cloud Proxy 三種部署模型的選擇條件</li>
<li>Account Takeover Protection、Bot Protection、API discovery 三個進階 module 的適用情境</li>
<li>何時用 Fastly NG-WAF、何時走 <a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a> / <a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a> 的取捨</li>
</ol>
<h2 id="最短判讀路徑">最短判讀路徑</h2>
<p>判斷 Fastly NG-WAF 配置是否健康、最少看四件事：</p>
<ul>
<li><strong>部署模型對齊架構</strong>：Fastly Edge inline（流量本來就過 Fastly CDN）/ Agent + Module（自管 Nginx / Apache / IIS / Envoy / .NET 加 sigsci-agent local process）/ Cloud Proxy（Fastly 接 origin proxy）三選一或混用、是否覆蓋所有入口（含 admin、internal API、staging）</li>
<li><strong>Signal 與 Tag 設計</strong>：預設 Signal（SQLi / XSS / CMDI / Traversal / Backdoor / Anomaly）是否全開、業務語意 Tag（admin-path、internal-only、payment-flow）是否定義並掛上 Match Conditions、Power Rules 是否組合多 Signal / Tag 走 threshold-based action</li>
<li><strong>Rule mode 與 threshold</strong>：Site-level 跟 Corp-level Rule 是 Block 還是 Off、threshold（連續幾個 Signal / 多久窗口）是否依 endpoint 業務調整、Template Rule（ATO、Bot）是否啟用</li>
<li><strong>Logging 與 sigsci-agent token 治理</strong>：Syslog / HTTP webhook / S3 / SIEM（Splunk / Datadog / Sumo Logic）整合是否 production-grade、sigsci-agent 連回控制面的 token 是否進 <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">HashiCorp Vault</a>、跨環境 token 是否分離</li>
</ul>
<p>四件事任一缺失、就是 <a href="/blog/backend/knowledge-cards/audit-log/" data-link-title="Audit Log" data-link-desc="說明高風險操作如何留下可追溯、可稽核的紀錄">Audit Log</a> 與 <a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">Entry Point Protection</a> 邊界的待補項目。</p>
<h2 id="日常操作與決策形狀">日常操作與決策形狀</h2>
<p><strong>部署模型選擇</strong>：<em>Fastly Edge inline</em> 是最簡部署、流量已過 Fastly CDN 就 inline 加 NG-WAF、沒有額外 agent 要管；<em>Agent + Module</em> 是 self-managed Nginx / Apache / IIS / Envoy / HAProxy / .NET / Java（Tomcat）等加裝 sigsci-module（process 內 module 攔請求）+ sigsci-agent（本機 daemon、跟 Fastly 控制面 sync rule、collect event）— 適合 origin 不過 Fastly CDN、或 internal API；<em>Cloud Proxy</em> 是 Fastly 提供 reverse proxy 端點、客戶 DNS 指過去、origin 在後面 — 適合不想改 origin、又沒用 Fastly CDN。三種混用常見、大企業 edge 用 Fastly Edge、internal service 用 Agent + Module。</p>
<p><strong>Signal 是已知攻擊指標</strong>：Fastly NG-WAF 預定義 Signal 包含 <em>SQLi / XSS / CMDI（command injection）/ Traversal（路徑穿越）/ Backdoor / RCE / Anomaly</em> 等。Signal 是 <em>語意解析結果</em> — request body 被 parser 拆解（JSON / form / multipart）、每個欄位看「這像不像某類攻擊」、不是 regex 比對。意義是 <em>encoding 變化攔不住</em>（base64 / URL encode / Unicode normalize 都會被解開）、跟 signature WAF 的脆性對比明顯。</p>
<p><strong>Tag 是客戶自定 Signal</strong>：用 <em>Match Conditions</em>（path / method / IP / header / body content / query 參數）定義「什麼樣的請求叫某 tag」、例：<code>Path: /admin/* AND Source IP NOT IN internal_cidr → tag: admin-external-access</code>。Tag 之後可以走 Rule 處理（看到 admin-external-access 就 alert / block）。Tag 是 Fastly NG-WAF 表達 <em>業務語意</em> 的主要工具、不是用來補強 Signal。</p>
<p><strong>Rule 三層</strong>：<em>Site-level Rule</em>（單一 site / property）/ <em>Corp-level Rule</em>（整個 organization 共用、用於 corp-wide block list、跨 BU 統一 policy）/ <em>Template Rule</em>（Fastly 提供的預設複合 rule、如 ATO template、Bot template）。Rule 表達式組合 Signal / Tag / Source IP / Path / Method、走 Block / Off。Power Rules 是進階版 — 支援 <em>threshold</em> + <em>時間窗口</em> + <em>多條件 AND/OR</em>、例：「同 IP 在 60 秒內觸發 5 個 SQLi Signal 就 Block 10 分鐘」。</p>
<p><strong>Mode 兩種</strong>：<em>Block</em>（攔截、回 406 / 自訂 status）/ <em>Off</em>（不動作、純 log）。沒有 Cloudflare 的 Sensitivity 滑桿 — 因為 Signal 本身已是語意判讀結果、不需要敏感度調整、調整在 <em>threshold</em>（多少 Signal 才動作）。</p>
<p><strong>Account Takeover Protection（ATO）</strong>：偵測 credential stuffing pattern — 同 IP 多 login fail、跨 IP 同 account 多 login、impossible travel、unusual UA。Fastly NG-WAF 內建 <em>login endpoint detection</em>（自動 / 手動標記 <code>/login</code>、<code>/auth/signin</code> 等）、配合 ATO Template Rule 直接 inline 處理（rate limit、challenge、block）。對應 <a href="/blog/backend/07-security-data-protection/identity-access-boundary/" data-link-title="7.2 身分與授權邊界" data-link-desc="以問題驅動方式整理身分、授權、會話與供應商身分鏈">Identity Boundary</a> 的 ATO 對策、但是在 WAF 層直接攔、不等 IdP 內 ATO 邏輯。</p>
<p><strong>Bot Protection</strong>：跟 Cloudflare Bot Management 同類、走 behavioral + browser fingerprint + JS challenge、區分 verified bot / likely bot / human。比 user-agent 過濾穩、headless browser 攔得住。</p>
<p><strong>API discovery</strong>：Fastly NG-WAF 自動學習 site 的 API endpoint 與 schema、偵測 <em>schema drift</em>（突然出現的多餘欄位、缺欄位、type mismatch）— 比手動維護 OpenAPI schema 輕量、適合內部 API 多但沒寫完整 OpenAPI 的團隊。</p>
<p><strong>Logging 與 sigsci-agent 治理</strong>：所有 event 走 Fastly NG-WAF 控制面 + 客戶端 Syslog / HTTP webhook / S3 / SIEM（Splunk / Datadog / Sumo Logic）。sigsci-agent 連回控制面用 <em>Site API key</em> — 該 key 進 <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">HashiCorp Vault</a>、跨環境 prod / staging 分離、rotation 走標準 secret rotation 流程、不能寫死在 agent 配置檔。</p>
<h2 id="核心取捨表">核心取捨表</h2>
<table>
  <thead>
      <tr>
          <th>取捨維度</th>
          <th>Fastly Next-Gen WAF</th>
          <th>Cloudflare WAF</th>
          <th>AWS WAF</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>偵測模型</td>
          <td>Signal / 語意分析 / behavioral（低 FP）</td>
          <td>Signature + Managed Rule + ML</td>
          <td>Signature + Managed Rule + Lambda 自訂</td>
      </tr>
      <tr>
          <td>部署位置</td>
          <td>Fastly Edge / Agent + Module / Cloud Proxy</td>
          <td>Cloudflare global edge</td>
          <td>AWS region 內 ALB / CloudFront / API Gateway 前</td>
      </tr>
      <tr>
          <td>Block 模式可行性</td>
          <td>高 — 預設低 FP、production 可直開</td>
          <td>中 — 需 sensitivity tuning + Log Mode 觀察</td>
          <td>中 — managed rule FP 需排除、custom rule 自管</td>
      </tr>
      <tr>
          <td>業務語意表達</td>
          <td>Tag + Match Conditions + Power Rules（threshold）</td>
          <td>Custom Rule（Rules language）+ Bot Score</td>
          <td>JSON policy + Lambda 自訂</td>
      </tr>
      <tr>
          <td>自管伺服器支援</td>
          <td>強 — sigsci-agent + module 覆蓋 Nginx / Apache / IIS</td>
          <td>弱 — 必須流量過 Cloudflare edge</td>
          <td>弱 — 必須走 AWS service</td>
      </tr>
      <tr>
          <td>ATO 內建</td>
          <td>是 — Template Rule 直接 inline</td>
          <td>Exposed Credentials Check（部分覆蓋）</td>
          <td>AWS WAF Fraud Control（加價）</td>
      </tr>
      <tr>
          <td>Bot Protection</td>
          <td>內建（同層產品）</td>
          <td>加價 add-on（Pro / Business / Enterprise）</td>
          <td>AWS WAF Bot Control（加價）</td>
      </tr>
      <tr>
          <td>API discovery</td>
          <td>內建（auto schema learning）</td>
          <td>API Shield（Enterprise）</td>
          <td>API Gateway request validator</td>
      </tr>
      <tr>
          <td>學習曲線</td>
          <td>中 — Signal / Tag mindset 要轉、agent 安裝要熟</td>
          <td>中 — UI 易上手、Rules language 表達力強</td>
          <td>較陡 — JSON policy + 多 AWS service 整合</td>
      </tr>
      <tr>
          <td>價格</td>
          <td>較高 — Enterprise tier 為主、按請求量計</td>
          <td>分層（Free / Pro / Business / Enterprise）</td>
          <td>按 rule + request 量、起步低</td>
      </tr>
      <tr>
          <td>適合場景</td>
          <td>低 FP 要求、API 重、自管伺服器多、跨雲 / on-prem</td>
          <td>多雲 / on-prem origin、要整套 edge security suite</td>
          <td>AWS-heavy、ALB / CloudFront / API Gateway 是主入口</td>
      </tr>
  </tbody>
</table>
<p>選 Fastly NG-WAF 的核心訴求：<em>production 直接 Block</em> + <em>API / schema-rich 業務</em> + <em>自管伺服器需要 inline agent</em> + <em>跨雲 / on-prem mix</em>、且有預算支付 Enterprise tier。純 AWS-internal 簡單 web app 用 AWS WAF 整合更直接；要整套 edge security suite 用 Cloudflare。</p>
<h2 id="進階主題">進階主題</h2>
<p><strong>VCL + Edge custom rule</strong>：Fastly Edge 部署模式下、NG-WAF 跟 <a href="https://www.fastly.com/">Fastly CDN</a> 的 VCL（Varnish Configuration Language）共存、複雜邏輯可寫 VCL 在 NG-WAF 處理前後攔截 — 例：geo block 在 VCL 做、NG-WAF 處理通過的請求。Compute@Edge（Fastly 的 edge serverless、類 Cloudflare Workers）也可以接 NG-WAF 結果做進一步處理。代價是 VCL / Compute@Edge code 變另一條 ops trace、要有版控與 staging。</p>
<p><strong>ATO 進階 — credential stuffing 場景</strong>：login endpoint 接 ATO Template Rule 後、可進一步整合 <em>已洩漏 credential check</em>（類 Have I Been Pwned 整合）、failed login burst → progressive challenge（先 CAPTCHA、再 block）。對應 <a href="/blog/backend/07-security-data-protection/identity-access-boundary/" data-link-title="7.2 身分與授權邊界" data-link-desc="以問題驅動方式整理身分、授權、會話與供應商身分鏈">Identity Boundary</a> 的 IdP ATO 邏輯、Fastly 在 WAF 層攔的好處是 <em>攻擊不會打到 IdP</em>、減少 IdP 端 rate limit 壓力。</p>
<p><strong>Bot Protection 進階</strong>：browser fingerprint + behavioral pattern + JS challenge 三層、可掛 <em>bot score threshold</em> 在 Power Rules 內、配合 ATO 做 <em>high-risk login flow</em>（bot score 高 + login endpoint → 強 challenge）。</p>
<p><strong>Agent + Module 在 K8s / VM</strong>：K8s 場景 sigsci-agent 走 sidecar 或 DaemonSet、sigsci-module 在 ingress controller（Nginx Ingress Controller 加 sigsci-nginx module）；VM 場景 sigsci-agent 走 systemd service、module 隨 web server 啟動。跨環境 token 隔離（prod / staging / dev）走 <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">Vault</a> dynamic secret 或環境變數注入、不寫死配置檔。</p>
<p><strong>Corp-level Rule 共用</strong>：多 BU / 多產品線在同一 Corp（Fastly NG-WAF 的 organization 概念）下、Corp Rule 跨所有 Site 生效 — 適合表達「全公司禁 IP X」「全公司 ATO Template 都開」、避免每個 Site 重複配置。</p>
<h2 id="排錯與失敗快速判讀">排錯與失敗快速判讀</h2>
<ul>
<li><strong>Signal 沒觸發、攻擊穿過</strong>：Encoding 異常 / parser 沒解析該 content-type — 確認 Content-Type 正確、body 大小沒超過 sigsci-module 限制（預設 100KB）、Signal scope 是否包含該 endpoint</li>
<li><strong>Tag 沒掛上</strong>：Match Conditions 寫錯（path 大小寫、trailing slash、wildcard 語意）— 在 Fastly NG-WAF console 用 <em>Rule Evaluation</em> 工具測試 request 是否命中</li>
<li><strong>Block 模式誤殺</strong>：Power Rules threshold 太低、單一合法請求觸發多 Signal — 調 threshold 或加 Site Rule exception 排除特定 path / source</li>
<li><strong>sigsci-agent 跟控制面失聯</strong>：Site API key 過期 / firewall block out-bound / agent 版本太舊 — agent log 看 connection status、輪換 token 走 <a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">Vault</a>、保持 agent 在 supported version range</li>
<li><strong>sigsci-module load 失敗</strong>：web server 啟動報 module 載入錯 — 確認 module 版本跟 web server major version 對齊（Nginx 1.20 對 sigsci-nginx 對應版本）</li>
<li><strong>ATO Template 沒攔到</strong>：login endpoint detection 沒標到自家 path — 手動在 console 標記 login endpoint 路徑</li>
<li><strong>Logging gap</strong>：Syslog / webhook 送失敗、SIEM 沒收到 — 確認 destination accept、TLS cert 沒過期、retry policy</li>
<li><strong>跨環境 token 漏氣</strong>：staging token 流到 prod、改 staging 影響 prod rule — Vault 環境分離、token 加標籤、定期 audit token usage</li>
</ul>
<h2 id="何時改走其他服務">何時改走其他服務</h2>
<table>
  <thead>
      <tr>
          <th>需求形狀</th>
          <th>改走</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>AWS-only + ALB / CloudFront origin</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a></td>
      </tr>
      <tr>
          <td>多雲 + 要整套 edge security suite</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a></td>
      </tr>
      <tr>
          <td>純 internal mTLS / east-west</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/spire/" data-link-title="SPIRE" data-link-desc="SPIFFE Runtime Environment、attested workload identity、short-lived SVID &#43; Trust Bundle、跨組織 federation">SPIRE</a> + service mesh</td>
      </tr>
      <tr>
          <td>Cert lifecycle</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/cert-manager/" data-link-title="cert-manager" data-link-desc="K8s 原生 certificate lifecycle automation、支援 Let&#39;s Encrypt / Vault PKI / Venafi 等多 issuer、auto-renewal &#43; Challenge solver">cert-manager</a> / <a href="/blog/backend/07-security-data-protection/vendors/letsencrypt/" data-link-title="Let&#39;s Encrypt" data-link-desc="免費 &#43; 自動化的公共 ACME CA、90 天 TTL 強制自動化、跨雲跨平台 public TLS cert 的事實基礎">Let&rsquo;s Encrypt</a></td>
      </tr>
      <tr>
          <td>Bot management 為主要訴求、預算敏感</td>
          <td>Cloudflare Bot Management 入門 / AWS WAF Bot Control</td>
      </tr>
      <tr>
          <td>DDoS L3/L4 為主</td>
          <td>Cloudflare Magic Transit / AWS Shield Advanced</td>
      </tr>
  </tbody>
</table>
<h2 id="不在本頁內的主題">不在本頁內的主題</h2>
<ul>
<li>Signal Sciences 收購前的 product line 演進細節</li>
<li>完整 Signal 清單與每個 Signal 的內部解析邏輯</li>
<li>VCL / Compute@Edge 完整語法 reference</li>
<li>Fastly CDN 本身的 caching / TLS / origin shielding 細節</li>
<li>Enterprise 合約細節、各國資料駐留選項</li>
</ul>
<h2 id="案例回寫">案例回寫</h2>
<p>Fastly NG-WAF 沒有直接 vendor-level 公開事件、案例庫對照引用以「behavioral detection 在 zero-day / supply chain 場景的 inline mitigation 角色」為主：</p>
<table>
  <thead>
      <tr>
          <th>案例</th>
          <th>跟 Fastly NG-WAF 的關係</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/supply-chain/log4shell-cve-2021-44228-component-chain/" data-link-title="7.R7.2.7 Log4Shell 2021：共用元件風險與修補鏈" data-link-desc="共用元件漏洞如何同步影響多服務，並迫使團隊建立依賴治理 workflow">Log4Shell CVE-2021-44228</a></td>
          <td>對照啟示 — Anomaly Signal 對 JNDI pattern 有 immediate inline detection、不需等 vendor signature 更新；但 exploitation 進後端後仍要靠 supply chain 治理</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/edge-exposure/citrix-bleed-2023-session-hijack/" data-link-title="7.R7.3.3 Citrix Bleed 2023：會話被劫持與重放風險" data-link-desc="邊界設備會話資料外洩後，如何演變成帳號與服務風險">Citrix Bleed 2023 Session Hijack</a></td>
          <td>對照啟示 — WAF 攔不住 edge appliance zero-day、需要「修補 + session 失效 + 異常清查」三同步、NG-WAF Power Rules 可在窗口期提供臨時 anomaly 偵測</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/edge-exposure/fortinet-cve-2023-27997-sslvpn-overflow/" data-link-title="7.R7.3.21 Fortinet 2023：CVE-2023-27997 SSL-VPN 溢位" data-link-desc="SSL-VPN 漏洞在邊界設備上會放大大規模掃描與利用速度">Fortinet SSL-VPN CVE 2023-27997</a></td>
          <td>對照啟示 — vendor patch 前用 Power Rules + Tag 快速部署臨時 mitigation、收斂可達來源是修補窗口期的標準動作</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口治理與伺服器防護</a></td>
          <td>Fastly NG-WAF 是 entry point protection 的工具、低 FP 設計讓 production Block 模式可行、跟 signature WAF 的部署成本曲線根本不同</td>
      </tr>
  </tbody>
</table>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>上游：<a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口治理與伺服器防護</a></li>
<li>平行：<a href="/blog/backend/07-security-data-protection/vendors/cloudflare-waf/" data-link-title="Cloudflare WAF" data-link-desc="Edge WAF &#43; DDoS &#43; Bot management 整合套件、global anycast 網路、控制面信任邊界跟客戶側補強的對照">Cloudflare WAF</a>、<a href="/blog/backend/07-security-data-protection/vendors/aws-waf/" data-link-title="AWS WAF" data-link-desc="AWS-internal WAF、跟 ALB / CloudFront / API Gateway 直接整合、Web ACL &#43; Managed Rule Group &#43; Rate-based Rule、Shield Standard 內含">AWS WAF</a></li>
<li>下游：<a href="/blog/backend/07-security-data-protection/data-protection-and-masking-governance/" data-link-title="7.4 資料保護與遮罩治理" data-link-desc="以問題驅動方式整理資料分級、遮罩、匯出與備份治理">7.4 資料保護與遮罩治理</a>（WAF block 不夠時、資料層也要遮罩）</li>
<li>跨類：<a href="/blog/backend/07-security-data-protection/vendors/hashicorp-vault/" data-link-title="HashiCorp Vault" data-link-desc="Self-hosted secret management 與 dynamic credential / encryption-as-a-service / PKI engine、跨雲跨環境的 secret 控制面">HashiCorp Vault</a>（sigsci-agent Site API key 存放）、<a href="/blog/backend/07-security-data-protection/vendors/okta/" data-link-title="Okta" data-link-desc="SaaS Identity Provider 主流選項、SSO / MFA / lifecycle 整合、第三方信任邊界的代價">Okta</a>（Fastly admin 走 SSO）</li>
<li>跨模組：<a href="/blog/backend/08-incident-response/vendors/" data-link-title="事故處理 Vendor 清單" data-link-desc="規劃 on-call、incident response、status page 與 postmortem 工具的服務頁撰寫順序與判準">8 事故處理 vendor 清單</a>（WAF block 事件 routing 進 IR）</li>
<li>官方：<a href="https://docs.fastly.com/products/next-gen-waf">Fastly Next-Gen WAF Documentation</a></li>
</ul>
]]></content:encoded></item></channel></rss>