防火牆、IDS、IPS、WAF 的差異:檢查範圍、阻擋或通報、保護對象比較
四者都是防範經由網路而來之攻擊的機制,但檢查的範圍與發現時的動作不同。防火牆依 IP 位址、連接埠號碼等規則,只讓允許的通訊通過。IDS(入侵偵測系統)會檢查到通訊的內容,找出疑似攻擊的通訊並通知管理者,但不會阻擋通訊。IPS(入侵防禦系統)配置在通訊的路徑上,當場阻擋發現的攻擊。WAF(Web 應用程式防火牆)檢查 HTTP 請求的內容,防範 SQL 隱碼攻擊這類針對 Web 應用程式的攻擊。沒有一種能單獨保護所有部分,因此會搭配使用。
| 項目 | 防火牆 | IDS | IPS | WAF |
|---|---|---|---|---|
| 主要檢查的內容 | 來源與目的地的 IP 位址、連接埠號碼、通訊的狀態(網路層、傳輸層)。也有能辨識應用程式的產品 | 從封包的標頭到內容(網路層到應用層) | 與 IDS 相同,從封包的標頭到內容 | HTTP、HTTPS 請求與回應的內容(應用層) |
| 在通訊路徑上的配置方式 | 在路徑上(串接,inline) | 多半在路徑之外。從交換器的鏡像連接埠等接收通訊的副本 | 在路徑上(串接) | 在路徑上。以反向代理或雲端服務的形式,配置在 Web 伺服器之前 |
| 偵測到時的動作 | 阻擋規則未允許的通訊 | 發出警示並記錄。不阻擋通訊本身 | 阻擋該通訊,或切斷連線 | 阻擋判定為攻擊的請求。也有只偵測並記錄的模式 |
| 判定的方法 | 允許與拒絕的規則(位址、連接埠、通訊狀態) | 與已知攻擊模式(特徵碼,signature)比對,以及觀察是否偏離平常通訊的異常偵測 | 與 IDS 相同,以特徵碼與異常偵測 | SQL 隱碼攻擊、跨網站指令碼等攻擊模式的規則,以及定義允許之輸入的規則 |
| 主要保護的對象 | 網路的出入口。不讓未允許的通訊進入內部 | 監視網路與伺服器。察覺攻擊或入侵的徵兆 | 保護網路上的伺服器與端點,抵禦已知的攻擊 | Web 應用程式。防範利用應用程式漏洞的攻擊 |
| 誤判的影響 | 規則錯誤會使正當的通訊中斷 | 誤判多時警示會被淹沒,增加維運人員的負擔。業務通訊不會中斷 | 誤判會直接造成正當通訊被阻擋,因此需要謹慎調校 | 若將含符號的文字等正當輸入判定為攻擊,使用者的操作就會失敗 |
| 配置位置的例子 | 公司內部網路與網際網路的邊界、網路區段之間、各伺服器與端點上 | 想監視的網路區段(網路型),或伺服器上(主機型) | 與網際網路的邊界上,例如防火牆的內側 | 公開的 Web 伺服器之前 |
| 限制 | 無法阻擋經由允許之連接埠進來的攻擊(例如利用 Web 應用程式漏洞的攻擊)。沒有加密通訊的功能 | 只能偵測,無法阻擋。除非配置在可解密的位置,否則無法檢查以 TLS 加密之通訊的內容 | 沒有特徵碼的未知攻擊需仰賴異常偵測,容易漏掉。看不到加密的內容。處理能力可能成為通訊的瓶頸 | 不保護 Web 以外的通訊。並不會修正應用程式本身的漏洞 |
數值為具代表性的大致參考值,會因世代或產品而異。