開發與網路
WAF 是什麼?會檢查請求內容的進階版警衛
WAF(Web Application Firewall,網站應用程式防火牆)是一種專門保護網頁應用程式的防火牆。它運行在應用層,能理解 HTTP 與 HTTPS 協定,檢查請求的網址、參數、標頭與內容,攔截針對網站與 AI 應用的攻擊。跟傳統防火牆最大的差別是:傳統防火牆管的是通訊埠與來源位址,WAF 管的是請求裡面裝了什麼。
WAF 是什麼?會檢查請求內容的進階版警衛
你把 AI 服務放到網路上之後,來敲門的不只有使用者。有些請求的目的是騙它吐出不該吐的東西。
WAF 就是站在門口那個會拆包檢查的警衛。這篇講清楚它跟一般防火牆的分界,以及它擋得住什麼。
你將學到什麼
定義
運行在應用層的防火牆,檢查請求內容,攔截惡意攻擊。
白話比喻
傳統防火牆只管你走哪個門,WAF 會打開你的包包看裡面裝什麼。
擋得住什麼
資料庫注入、跨站腳本、提示詞注入、路徑穿越、暴力破解與異常流量。
怎麼運作
檢查請求、比對規則與威脅特徵,合法放行、惡意阻擋並記錄日誌。
定義
WAF 是一種專門保護網頁應用程式的防火牆。它運行在應用層,能理解 HTTP 與 HTTPS 協定,檢查請求內容,阻擋針對網站與 AI 應用的攻擊。
一句話重點:WAF 檢查的是請求的內容,過濾惡意攻擊,只讓合法的請求進入你的應用程式。
白話比喻
傳統防火牆是大樓門口的門禁,只管你有沒有卡、走哪個門。刷得過就進去了。
WAF 是進階版警衛:他會打開你的包包,看裡面裝了什麼。刀子藏在合法的包包裡,門禁攔不住,警衛攔得住。
跟傳統防火牆差在哪?
| 比較項目 | 傳統防火牆 | WAF |
|---|---|---|
| 防護層級 | 網路層與傳輸層 | 應用層 |
| 檢查內容 | 來源位址、通訊埠、協定 | 請求的網址、參數、標頭與內容 |
| 防禦對象 | 網路掃描、連線控制 | 應用程式攻擊 |
| 理解能力 | 不理解請求內容 | 理解網址、參數、內容與 Cookie |
| 精準度 | 粗略,管門號 | 精準,管內容 |
| 部署位置 | 網路邊界 | 負載平衡器或 API 閘道器之後 |
它擋得住哪些攻擊
- 資料庫注入:試圖操控資料庫查詢,偷走或竄改資料。
- 跨站腳本:在網頁中執行惡意程式碼,竊取使用者的憑證。
- 提示詞注入:誘導 AI 忽略原本規則,洩漏機密或執行越權操作。
- 路徑穿越:試圖讀取伺服器上的系統敏感檔案。
- 暴力破解與異常流量:大量嘗試登入,用速率限制與封鎖來擋。
實際用例
沒有 WAF 的風險很具體:AI 服務被提示詞注入誘導洩漏機密、資料庫被非法存取、使用者的憑證被竊取。這三件事都不會有明顯的前兆。
實務建議:一定要搭配加密連線使用、定期更新規則集、開啟日誌與告警、針對 AI 應用加入專屬防護規則,並且只開放必要的路徑。
常見誤解
最常見的誤解是「裝了 WAF 就安全了」。它是其中一層,不是全部。沙盒隔離、最小權限、輸入驗證都要各自做好。
第二個誤解是把它當成純粹的擋牆。它的日誌價值很高:被擋下來的請求會告訴你有人正在試什麼,那是最早的預警訊號。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook。
延伸學習
常見問答
有防火牆了還需要 WAF 嗎?
需要,兩者管的層級不同。傳統防火牆在網路層與傳輸層,看的是來源位址與通訊埠,不理解請求內容。WAF 在應用層,能看懂網址、參數與內容,才擋得住針對應用程式本身的攻擊。實務上是搭配使用,不是二選一。
WAF 真的能擋提示詞注入嗎?
可以擋一部分,但不能當唯一防線。WAF 可以用自訂規則偵測明顯的越權指令與惡意提示詞樣式。真正的防護要多層:應用端也要做輸入處理與 <a href="/blog/glossary-guardrails">防護欄</a>,並且限制 AI 能碰到的資料範圍。
WAF 裝在哪裡?
通常放在負載平衡器或 API 閘道器的後方、應用服務的前方。外網進來的請求先經過它,過濾完才進入內網的服務。這樣後端的應用程式、資料庫與向量資料庫都在受保護的那一側。

