WAF 是什麼?防火牆、WAF、CDN 差在哪

三個名詞常被混著講,但它們站的位置不同、看的東西也不同。

把資訊系統想成一棟辦公大樓。大門警衛管「誰可以進大樓」。網站是大樓裡對外開放的那一間辦公室,門口另坐一位櫃檯保全,只盯要進這間辦公室的人,還會檢查他填的表單有沒有夾帶壞東西。各地的接待前哨則讓客人就近報到,假客人在那裡就被吸收掉。這三個角色,就是防火牆、WAF 與 CDN。

先講結論(一張三欄對照)

三者各站一個位置,不能互相取代。

防火牆(Firewall)

看連線的來源位址與通訊埠,決定整條放行或擋下,不看內容。

管誰能進大樓
WAF(Web Application Firewall,網站應用程式防火牆)

看得懂網頁請求的內容:網址參數、表單欄位、Cookie 與 API 資料,檢查有沒有夾帶攻擊語句。

看得懂網頁內容
CDN(Content Delivery Network,內容遞送網路)

把網站內容放到離使用者最近的節點,客人就近報到;假流量在這裡就被吸收掉。

就近報到吸收假流量
防火牆、WAF 與 CDN 的分工示意圖 流量自網際網路進入後,依序經過 CDN 全球前哨、防火牆、WAF 三道關卡,最後抵達網站與 API。三者檢查的東西不同,不能互相取代。 網際網路 真實使用者 攻擊程式 大量假流量 CDN 全球前哨 在各國就近接住流量,先擋掉一部分再往內送 大量假流量(DDoS)在這裡 就被吸收,不會塞到機房 防火牆 管「誰可以進大樓」:來源位址、通訊埠、協定 看的是連線本身。網頁內容對它 而言只是一般流量,看不懂 WAF 網站應用防火牆 讀得懂網頁內容:檢查每一次請求送了什麼進來 SQL 注入、跨站腳本、惡意機 器人、帳密填充、API 濫用、 結帳頁被植入的側錄腳本 網站、App 後端與 API 乾淨的流量才抵達這裡 三道關卡檢查的東西不同, 不能互相取代

防火牆管連線、WAF 管內容、CDN 管流量規模。多數企業已經有防火牆,缺的是看得懂網頁內容的那一層。

為什麼防火牆擋不住網站攻擊

網站要營業,對外的網頁通訊埠就必須對全世界開著。攻擊者不必撬門。他從正門走進來,用的是跟一般訪客一模一樣的網頁請求。對防火牆而言,那就是一筆正常的網頁流量,於是放行。

差別藏在表單欄位裡。防火牆不解析網頁內容,也不知道哪些欄位會送進資料庫,分不出「商品名稱」這格填的是原子筆還是資料庫指令。大門警衛不會翻訪客手上的文件。

WAF 實際上在擋什麼

  • SQL 注入(SQL Injection):搜尋框該填商品名稱,攻擊者卻填進一段資料庫指令,讓網站替他撈出整份會員名單。
  • 跨站腳本(Cross-Site Scripting,XSS):在留言板貼一段程式碼,每個看到留言的人,瀏覽器都替攻擊者執行它。
  • 惡意機器人(Bot):搶票程式在開賣瞬間掃光票,比價爬蟲每天把你的價目表抄走。
  • 帳密填充(Credential Stuffing):拿別處外洩的帳密到登入頁逐組試,成功了看起來就是正常登入。
  • API(應用程式介面)被摸走:手機 App 後端 API 沒有畫面,被側錄找出來後就能直接呼叫,一次抓走大量資料。
  • 結帳頁被植入偷卡的 JavaScript:第三方腳本被改過,刷卡時卡號一邊送金流、一邊送給攻擊者。

什麼時候該裝

  • 有對外網站在收表單:註冊、報名、訂購、客服留言。
  • 有手機 App 或前後端分離的網站,也就是有一組對外開放的 API。
  • 需要通過 PCI DSS(支付卡產業資料安全標準):它要求對外的網頁應用程式要有偵測並阻擋攻擊的機制。
  • 被打過一次:垃圾留言灌爆、資料被撈走、頁面被竄改。
  • 稽核單位或客戶在資安問卷上問「網頁應用有沒有 WAF」。

常見誤解

「我有 SSL 憑證就安全了」:憑證加密的是傳輸過程,保護「路上」不被偷看,但不管內容好壞。攻擊語句一樣能加密送進來。

「我網站很小,沒人會攻擊」:多數攻擊不是有人盯上你,而是掃描器在網路上逐一敲門,看哪扇沒鎖。

「防火牆已經有了」:兩者管的層次不同。次世代防火牆附的通用網頁規則,沒有針對你的網站欄位調校。

三種防護要怎麼放進既有架構,可以依流量來源與機房現況來選。

看網站與 API 防護(WAF) 三種防護位置怎麼選 洽詢防護規劃
← 回知識中心
LINE LINE 諮詢