Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

網站會不定期發佈技術筆記、職場心得相關的內容,歡迎關注本站!

網站
首頁關於我部落格
部落格
分類系列文

© 新人日誌. All rights reserved. 2020-present.

本文為「AWS VPC 網路架構全攻略」系列第 5 篇

防火牆怎麼選?狀態防火牆(Stateful Firewall) vs 無狀態防火牆(Stateless Firewall)超白話解說

最後更新:2025年11月19日架構

你可能聽過「防火牆」這個詞,知道它很重要,但具體是做什麼的?

簡單說,防火牆就是你的網路保全,站在你的電腦、伺服器和外面危險的網際網路之間,幫你擋掉可疑的東西。

但防火牆其實有兩大類:「狀態防火牆」(Stateful Firewall)和「無狀態防火牆」(Stateless Firewall)。

這兩個名字聽起來很技術,其實概念很簡單。

選對防火牆,你的網路既安全又順暢;選錯了,可能花大錢買到不適合的設備,或是擋不住真正的威脅。

這篇文章會用最白話的方式告訴你這兩種防火牆的差別,讓你看完就知道該選哪一種。

防火牆到底在做什麼?

用生活例子秒懂防火牆

想像你家大門有個保全,他的工作就是:

  • 檢查每個想進門的人
  • 只讓有通行證的人進來
  • 把可疑人物擋在外面

防火牆就是幫你的網路做這件事。每天有成千上萬的「網路封包」(可以想成是一個個小包裹)想進出你的網路,防火牆負責檢查這些封包,決定誰可以過、誰不行。

為什麼需要防火牆?

沒有防火牆的網路就像是:

  • 家裡大門永遠開著,小偷隨時可以進來
  • 病毒、駭客、惡意軟體都能自由進出
  • 公司機密資料可能被偷走
  • 整個系統可能被癱瘓

所以,不管是公司還是個人,只要有連上網,就需要防火牆保護。

狀態防火牆(Stateful Firewall):記憶力超強的保全

什麼是狀態防火牆?

狀態防火牆就像一個「有記憶的保全」。

它不只檢查每個封包,還會記住:

  • 這個連線是誰發起的
  • 從哪裡來、要去哪裡
  • 現在處於什麼狀態(剛開始?進行中?結束了?)
  • 之前有什麼往來記錄

舉個例子:當你在網路上看 YouTube 影片時,你的電腦會跟 YouTube 伺服器建立連線。

狀態防火牆會記住「你發起了這個連線」,所以當 YouTube 回傳影片資料時,防火牆知道這是「合法的回應」,就會放行。

狀態防火牆會記錄什麼?

它會追蹤每個連線的完整資訊:

  • 來源 IP 位址:封包從哪裡來的
  • 目的地 IP 位址:封包要去哪裡
  • 連接埠號碼:使用什麼服務(例如網頁是 80 或 443)
  • 連線狀態:這個連線現在走到哪一步了
  • 封包內容:甚至可以深入檢查封包裡面裝了什麼
什麼是連線狀態?

連線狀態就是指這個網路連線目前「走到哪一步了」,就像追蹤包裹的狀態一樣。

舉個生活例子:

你打電話給朋友:

  1. 正在撥號 → 連線建立中(NEW)
  2. 對方接通了,正在聊天 → 連線已建立(ESTABLISHED)
  3. 說再見,掛電話 → 連線結束(CLOSED)

網路連線的常見狀態:

  • NEW(新建立):剛開始建立連線,像是你剛按下網頁連結
  • ESTABLISHED(已建立):連線成功了,正在傳輸資料,像是你正在看影片
  • RELATED(相關):跟現有連線有關的新連線,像是下載檔案時開的額外通道
  • CLOSING(關閉中):連線正在結束,像是你關閉網頁
  • CLOSED(已關閉):連線已經結束了

為什麼狀態防火牆要記錄這個?

因為它可以判斷:

❌ 如果連線還沒建立,就有回應封包進來 → 異常!可能是偽造的

❌ 如果連線已經關閉了,卻還有資料進來 → 可疑!可能是攻擊

✅ 如果是已建立的連線回傳資料 → 正常,放行

狀態防火牆的工作原理

狀態防火牆會分析「整個對話的脈絡」,而不是只看單一封包。

它可以:

  • 看出這個封包是不是某個合法連線的一部分
  • 偵測異常行為(例如:明明連線已經關閉,卻還有資料進來)
  • 進行深度封包檢查,找出隱藏的威脅
  • 阻擋偽造的封包

技術小補充

狀態防火牆運作在 OSI 模型的第三層(網路層)和第四層(傳輸層)。

不懂 OSI 模型沒關係,你只要知道它工作在「網路連線」這個層級就好。

無狀態防火牆(Stateless Firewall):簡單直接的保全

什麼是無狀態防火牆?

無狀態防火牆就像一個「沒有記憶的保全」。

它只會看眼前這個封包符不符合規則,完全不記得之前發生過什麼。

每個封包來的時候,它就單獨檢查一次:

  • 你的 IP 位址在允許清單上嗎?
  • 你要連的連接埠有開放嗎?
  • 你使用的協定是允許的嗎?

符合規則就過,不符合就擋,就這麼簡單。

無狀態防火牆的運作方式

無狀態防火牆依靠「預先設定的規則清單」(Access Control List,ACL)來工作。

例如:

規則範例:

  • 允許來自 192.168.1.0/24 的所有流量
  • 封鎖所有連到 22 埠(SSH)的連線
  • 允許 HTTP(80 埠)和 HTTPS(443 埠)的流量

它就像機器人一樣,嚴格按照這些規則執行,不會思考、不會判斷情境。

無狀態防火牆的限制

因為沒有記憶,無狀態防火牆有些明顯的限制。讓我們一個一個詳細說明:

無法判斷封包是不是某個合法連線的一部分

白話解釋:

想像你在網路上訂披薩。你的電腦發送訂單給披薩店(發出封包),披薩店回傳確認訊息(回應封包)。

  • 狀態防火牆:記得你發出訂單,所以知道這個確認訊息是「合法的回應」,會放行
  • 無狀態防火牆:不記得你有沒有訂披薩,它只看到「有個來自披薩店的封包想進來」,必須靠規則判斷要不要放行

實際問題:

如果規則設定不夠完善,可能會:

  • 把合法的回應擋掉(你訂的披薩進不來)
  • 或是把惡意的封包放進來(駭客偽裝成披薩店)

可能被偽造的封包騙過

白話解釋:

駭客可以偽造封包,假裝是某個合法來源發出的。

舉例:

假設你的防火牆規則是「允許來自 8.8.8.8(Google DNS)的所有流量」。

駭客可以:

  1. 偽造一個封包,把來源 IP 改成 8.8.8.8
  2. 送到你的防火牆
  3. 無狀態防火牆只看到「來源是 8.8.8.8」→ 符合規則 → 放行!

狀態防火牆的優勢:

狀態防火牆會檢查:

  • 這個封包是回應之前的哪個連線?
  • 如果沒有對應的連線記錄 → 這是偽造的!→ 擋掉

無法偵測複雜的攻擊手法

白話解釋:

有些攻擊會分散在多個封包、多個時間點,單看一個封包看不出問題。

實際案例:

Port Scanning(埠掃描)攻擊:

  • 駭客想知道你的伺服器開了哪些服務
  • 他會慢慢地、一個一個試探不同的埠(22、80、443、3306…)
  • 每個封包單獨看都很正常,只是「嘗試連線」
  • 但整體來看,這是在「偵察你的系統」

無狀態防火牆: 看不出這些封包有關聯,可能全部放行

狀態防火牆: 會發現「同一個 IP 短時間內嘗試連線很多不同埠」→ 可疑!→ 擋掉或警告

其他複雜攻擊:

  • SYN Flood 攻擊:大量不完整的連線請求
  • Session Hijacking(連線劫持):偷偷插入別人的連線
  • Fragmentation 攻擊:把惡意封包拆成很多小片段

這些攻擊都需要「看整體脈絡」才能發現,無狀態防火牆做不到。

需要設定「來回兩個方向」的規則

白話解釋:

這是無狀態防火牆最麻煩的地方!

舉例:

假設你的網站伺服器在內網(192.168.1.10),你想讓外面的人可以瀏覽網站。

狀態防火牆的設定(簡單):

允許外部連到 192.168.1.10 的 80 埠

完成!因為它會自動記住「這是合法連線」,回應封包自動放行。

無狀態防火牆的設定(複雜):

你需要設定兩條規則:

規則 1(進來的請求):
允許來源:任何 IP
目的地:192.168.1.10
埠:80

規則 2(出去的回應):
允許來源:192.168.1.10
來源埠:80
目的地:任何 IP
目的地埠:大於 1024 的隨機埠(因為客戶端用隨機埠)

為什麼這麼麻煩?

因為無狀態防火牆不知道「出去的封包是在回應哪個請求」,所以你必須明確告訴它:

  • 哪些封包可以進來
  • 哪些封包可以出去

實際問題:

  1. 規則數量爆炸:如果你有 10 個服務,就需要 20 條規則(每個服務進出各一條)
  2. 容易設定錯誤:忘記設定回應方向的規則,服務就不通
  3. 安全漏洞:為了讓回應能出去,可能要開放「所有大於 1024 的埠」,這樣就給駭客留了後門
  4. 維護困難:規則多了以後,很難追蹤哪條規則是幹什麼用的

對比總結:

情況狀態防火牆無狀態防火牆
設定規則只需設定一個方向需要設定來回兩個方向
規則數量少多(大約 2 倍)
維護難度簡單複雜
出錯風險低高
狀態防火牆只需設定一個方向
無狀態防火牆需要設定來回兩個方向
狀態防火牆少
無狀態防火牆多(大約 2 倍)
狀態防火牆簡單
無狀態防火牆複雜
狀態防火牆低
無狀態防火牆高

兩種防火牆的直接比較

比較表格

比較項目狀態防火牆無狀態防火牆
記憶能力會記住連線狀態和歷史完全不記得過去
檢查方式分析整個資料流和上下文只看單一封包
安全性較高,能偵測複雜攻擊較低,只做基本過濾
效能消耗較高,需要記憶體和運算較低,處理速度快
設定難度較複雜簡單易懂
適合場景複雜網路、高安全需求簡單網路、基本防護
延遲時間可能稍微慢一點幾乎沒有延遲
價格通常較貴相對便宜
狀態防火牆會記住連線狀態和歷史
無狀態防火牆完全不記得過去
狀態防火牆分析整個資料流和上下文
無狀態防火牆只看單一封包
狀態防火牆較高,能偵測複雜攻擊
無狀態防火牆較低,只做基本過濾
狀態防火牆較高,需要記憶體和運算
無狀態防火牆較低,處理速度快
狀態防火牆較複雜
無狀態防火牆簡單易懂
狀態防火牆複雜網路、高安全需求
無狀態防火牆簡單網路、基本防護
狀態防火牆可能稍微慢一點
無狀態防火牆幾乎沒有延遲
狀態防火牆通常較貴
無狀態防火牆相對便宜

白話比喻

狀態防火牆就像五星級飯店的保全:

  • 記得每一個住客
  • 知道誰有房卡、什麼時候進出
  • 會注意可疑行為
  • 提供全方位保護
  • 但需要較多人力和成本

無狀態防火牆就像公寓大樓的門禁:

  • 只檢查你有沒有門卡
  • 不管你是誰、要做什麼
  • 規則很清楚、處理很快
  • 適合簡單環境
  • 成本低、容易維護

優缺點深入分析

狀態防火牆的優點

安全性更強

  • 能看出攻擊者偽造的封包
  • 可以偵測異常連線行為
  • 防護更全面,不容易被繞過

更聰明的判

  • 知道這個封包是回應還是新連線
  • 自動允許合法連線的回應封包
  • 不需要設定繁瑣的雙向規則

深度檢查能

  • 可以檢查封包內容
  • 偵測病毒、惡意程式
  • 識別應用層的威脅

狀態防火牆的缺點

資源消耗大

  • 需要記憶體來儲存連線狀態
  • CPU 運算負擔較重
  • 硬體成本較高

可能造成延

  • 因為要分析整個資料流
  • 處理時間比較長
  • 高流量時可能成為瓶頸

設定較複雜

  • 需要專業知識
  • 除錯比較困難
  • 維護成本高

無狀態防火牆的優點

處理速度快

  • 不用記憶、不用分析
  • 直接比對規則就決定
  • 幾乎不造成延遲

資源消耗低

  • 記憶體需求少
  • CPU 負擔輕
  • 可以用便宜的硬體

簡單易懂

  • 規則清楚明確
  • 容易設定和維護
  • 出問題好除錯

成本低廉

  • 硬體便宜
  • 不需要高階管理人員
  • 適合預算有限的環境

無狀態防火牆的缺點

安全性較弱

  • 容易被繞過
  • 無法偵測複雜攻擊
  • 對新型威脅反應慢

缺乏彈性

  • 規則太死板
  • 無法根據情境調整
  • 可能誤判或漏判

需要繁瑣規則

  • 要設定來回兩個方向
  • 規則數量多
  • 容易設定錯誤

實際應用:你該選哪一種?

選擇狀態防火牆的情況

適合這些場景:

  1. 中大型企業網路
  • 有重要資料需要保護
  • 遭受攻擊的風險高
  • 有預算投資資安設備
  1. 電商網站、金融系統
  • 處理客戶敏感資訊
  • 需要符合法規要求
  • 不能承受資安事件
  1. 需要 VPN 連線
  • 員工遠端辦公
  • 分公司互連
  • 需要追蹤連線狀態
  1. 多層式安全架構
  • 作為主要防護層
  • 搭配其他資安設備
  • 追求最高安全等級

實際案例:

一家電商公司每天處理數千筆交易,客戶信用卡資料、個資都儲存在伺服器裡。他們選擇狀態防火牆,因為:

  • 可以偵測異常登入行為
  • 防止駭客用偽造封包攻擊
  • 符合 PCI DSS(信用卡資安標準)要求
  • 雖然貴一點,但資料外洩的損失更大

選擇無狀態防火牆的情況

適合這些場景:

  1. 小型辦公室、家庭網路
  • 預算有限
  • 網路架構簡單
  • 主要防範基本威脅
  1. 內部網路區隔
  • 部門之間的流量控制
  • 不需要複雜分析
  • 只要基本過濾就夠
  1. 高效能需求
  • 流量非常大
  • 延遲必須極低
  • 效能比安全性重要
  1. 簡單服務
  • 只開放特定埠
  • 流量模式固定
  • 不常變動設定

實際案例:

一家 20 人的小公司,主要工作是平面設計,不處理敏感客戶資料。他們選擇無狀態防火牆,因為:

  • 預算只有幾萬元
  • 只需要擋掉基本的外部攻擊
  • 設定簡單,自己的 IT 人員就能管理
  • 網路速度快,不影響大檔案傳輸

混合使用的策略

很多企業會「兩種都用」:

外層用狀態防火牆

  • 面對網際網路的第一道防線
  • 阻擋外部複雜攻擊
  • 保護重要資產

內層用無狀態防火牆

  • 部門之間的流量控制
  • 成本較低
  • 處理速度快

這樣既能保護安全,又能控制成本。

常見問題 Q&A

Q1:我家用的路由器算哪一種防火牆?

大部分家用路由器內建的是簡易型狀態防火牆。它會追蹤你發出的連線,讓回應的封包進來,但功能沒有專業級狀態防火牆那麼強大。對一般家庭來說已經夠用了。

Q2:雲端服務(AWS、Azure、GCP)用哪種?

雲端平台通常提供兩種:

  • Security Groups:類似狀態防火牆,會記住連線
  • Network ACL:無狀態防火牆,單純比對規則

一般建議用 Security Groups,比較安全也比較好管理。

Q3:防火牆可以擋掉所有攻擊嗎?

不能。 防火牆只是第一道防線,它主要擋網路層的攻擊。以下這些它可能擋不住:

  • 應用程式本身的漏洞
  • 社交工程攻擊(例如釣魚郵件)
  • 內部人員的惡意行為
  • 已授權連線內藏的惡意程式

所以資安要做多層防護,不能只靠防火牆。

Q4:狀態防火牆會不會記憶體滿了?

會有這個風險。如果同時連線太多,狀態表可能會滿。這時候:

  • 新的連線可能被拒絕
  • 效能會下降
  • 需要增加記憶體或升級設備

這就是為什麼大流量環境需要高階防火牆。

Q5:可以把無狀態防火牆升級成狀態防火牆嗎?

通常不行,這是兩種不同的設計。如果要升級,可能需要:

  • 購買新的硬體
  • 或啟用設備上的狀態檢測功能(如果有的話)
  • 重新設定規則

Q6:哪個比較省電?

無狀態防火牆比較省電,因為它運算量小、不需要大記憶體。這對資料中心來說是個考量因素。

總結與建議

快速決策指南

選狀態防火牆,如果你:

  • 處理敏感資料或金錢交易
  • 網路環境複雜
  • 預算充足
  • 需要符合資安法規
  • 無法承受資安事件的後果

選無狀態防火牆,如果你:

  • 預算有限
  • 網路簡單
  • 只需要基本防護
  • 效能和速度很重要
  • 有專業人員管理更高層的安全

最後的建議

網路安全沒有「一招打天下」的解決方案。選擇防火牆要考慮:

  1. 你的風險:會被攻擊的機率有多高?被攻擊的損失有多大?
  2. 你的預算:願意花多少錢在資安上?
  3. 你的能力:有沒有專業人員維護?
  4. 你的需求:效能重要還是安全重要?

記住,防火牆只是整體資安的一部分。除了選對防火牆,還要:

  • 定期更新系統和軟體
  • 做好備份
  • 教育使用者資安意識
  • 監控異常行為
  • 建立事件應變計畫

希望這篇文章讓你對防火牆有更清楚的認識。

選對工具,你的網路就能既安全又順暢!

上一篇AWS 網路基礎:Public 和 Private Subnet 到底差在哪?
下一篇AWS 網路安全雙防線:NACL 與 Security Group 完全指南
目前還沒有留言,成為第一個留言的人吧!

發表留言

留言將在審核後顯示。

架構

目錄

  • 防火牆到底在做什麼?
  • 用生活例子秒懂防火牆
  • 為什麼需要防火牆?
  • 狀態防火牆(Stateful Firewall):記憶力超強的保全
  • 什麼是狀態防火牆?
  • 狀態防火牆會記錄什麼?
  • 狀態防火牆的工作原理
  • 技術小補充
  • 無狀態防火牆(Stateless Firewall):簡單直接的保全
  • 什麼是無狀態防火牆?
  • 無狀態防火牆的運作方式
  • 無狀態防火牆的限制
  • 兩種防火牆的直接比較
  • 比較表格
  • 白話比喻
  • 優缺點深入分析
  • 狀態防火牆的優點
  • 狀態防火牆的缺點
  • 無狀態防火牆的優點
  • 無狀態防火牆的缺點
  • 實際應用:你該選哪一種?
  • 選擇狀態防火牆的情況
  • 選擇無狀態防火牆的情況
  • 混合使用的策略
  • 常見問題 Q&A
  • Q1:我家用的路由器算哪一種防火牆?
  • Q2:雲端服務(AWS、Azure、GCP)用哪種?
  • Q3:防火牆可以擋掉所有攻擊嗎?
  • Q4:狀態防火牆會不會記憶體滿了?
  • Q5:可以把無狀態防火牆升級成狀態防火牆嗎?
  • Q6:哪個比較省電?
  • 總結與建議
  • 快速決策指南
  • 最後的建議