三個名詞常被混著講,但它們站的位置不同、看的東西也不同。
把資訊系統想成一棟辦公大樓。大門警衛管「誰可以進大樓」。網站是大樓裡對外開放的那一間辦公室,門口另坐一位櫃檯保全,只盯要進這間辦公室的人,還會檢查他填的表單有沒有夾帶壞東西。各地的接待前哨則讓客人就近報到,假客人在那裡就被吸收掉。這三個角色,就是防火牆、WAF 與 CDN。
三者各站一個位置,不能互相取代。
看連線的來源位址與通訊埠,決定整條放行或擋下,不看內容。
看得懂網頁請求的內容:網址參數、表單欄位、Cookie 與 API 資料,檢查有沒有夾帶攻擊語句。
把網站內容放到離使用者最近的節點,客人就近報到;假流量在這裡就被吸收掉。
防火牆管連線、WAF 管內容、CDN 管流量規模。多數企業已經有防火牆,缺的是看得懂網頁內容的那一層。
網站要營業,對外的網頁通訊埠就必須對全世界開著。攻擊者不必撬門。他從正門走進來,用的是跟一般訪客一模一樣的網頁請求。對防火牆而言,那就是一筆正常的網頁流量,於是放行。
差別藏在表單欄位裡。防火牆不解析網頁內容,也不知道哪些欄位會送進資料庫,分不出「商品名稱」這格填的是原子筆還是資料庫指令。大門警衛不會翻訪客手上的文件。
「我有 SSL 憑證就安全了」:憑證加密的是傳輸過程,保護「路上」不被偷看,但不管內容好壞。攻擊語句一樣能加密送進來。
「我網站很小,沒人會攻擊」:多數攻擊不是有人盯上你,而是掃描器在網路上逐一敲門,看哪扇沒鎖。
「防火牆已經有了」:兩者管的層次不同。次世代防火牆附的通用網頁規則,沒有針對你的網站欄位調校。
← 回知識中心