防火牆是什麼?讓通訊通過或擋下的機制

約 10 分鐘 · 更新:2026年10月23日

防火牆是設在網路的邊界,只讓符合既定規則的通訊通過、擋下其他通訊的機制。它主要看通訊的目的地號碼、要交給哪個App的號碼,以及通訊的方向來判斷。它是阻擋外部擅自連線的基本防護,但擋不住走已允許通道的攻擊,也擋不住騙人輸入資料的手法。

這篇文章可以了解

  • 防火牆是看什麼,來決定讓通訊通過或擋下
  • 防火牆在家用路由器、電腦、公司、雲端的哪些地方運作
  • 只讓回覆通過的機制(狀態檢測),與家用路由器的NAT有什麼不同
  • 防火牆擋不住的事

先備知識:不需要。先讀過「IP位址是什麼?」「TCP與UDP的差異是什麼?」會更容易理解。

生活中的例子

啟動新遊戲時,電腦上是否出現過「防火牆已封鎖,要允許存取嗎?」這樣的視窗?在公司,也可能聽到「這台伺服器設定成無法從公司外連進來」。資安新聞裡,也常出現防火牆這個詞。

英文的firewall,原本是指建築物的「防火牆」。這個名稱借自隔開房間、不讓火災延燒到隔壁的牆。不過,網路的防火牆並不是把一切都堵住的牆。它比較接近挑選可以通過的東西、再放行的「閘門」。這篇文章會依序看看它是怎麼挑選的。

防火牆是什麼:網路邊界的「閘門」

在網際網路上,資料會被切成小塊來傳送。這些小塊稱為封包,開頭附有寫著目的地等資訊的標頭。詳細內容請參考「網際網路怎麼傳送資料?」。

家裡或公司的網路,與網際網路之間有一條邊界。逐一檢查通過這裡的封包標頭,決定放行或丟棄的設備或軟體,稱為防火牆。判斷的依據,是人事先決定好的規則。

在哪裡:家裡、電腦、公司、雲端

防火牆不只是指專用的機器。它以軟體的形式,內建在各種地方。

  • 家用路由器:位於家中網路與網際網路邊界的設備。很多都具有擋下從外部突然送來之通訊的功能。
  • 電腦:Windows內建防火牆,而且一開始就是啟用的。在設定畫面的「防火牆與網路保護」項目中可以確認。在預設設定下,接收時只放行「自己要求的回覆」和規則允許的通訊,其他都擋下。傳送時,除了規則擋下的以外都放行。
  • 公司的網路:在與網際網路的出入口設置專用設備。對外公開的網頁伺服器,基本上放在與公司內部分開的區域。這個區域稱為DMZ(非軍事區),即使公開伺服器被入侵,損害也不容易擴散到公司內部。
  • 雲端:租用的虛擬伺服器,也附有依規則篩選通訊的機制。在AWS(Amazon的雲端)稱為「安全群組」。新建立時,從允許所有傳送、沒有任何接收許可的狀態開始。雲端的原理請參考「雲端運算是什麼?」。

像這樣,有在邊界設備上防護的,也有在每一台機器上防護的。實際上,一般會把兩者疊加使用。

原理1:根據什麼來判斷

防火牆看的項目主要有3個。第1個是寄件端與目的地的IP位址。這是在網路中區分設備的號碼。詳細內容請參考「IP位址是什麼?」。

第2個是表示要交給設備裡哪一個App的「窗口」號碼。這稱為連接埠號碼。例如,HTTPS的網頁使用443號。號碼的分配方式,在「TCP與UDP的差異是什麼?」中說明。

第3個是通訊的方向。區分是從外部進到內部,還是從內部送到外部。此外,通訊規則的種類(TCP或UDP等)也可以當作條件。

從網際網路送來的2個封包中,送往網頁窗口443號的封包符合規則,通過而進入公司內部;送往遠端操作窗口3389號的封包不在規則中,被防火牆擋下 網際網路 網頁的窗口 送往443號 遠端操作 送往3389號 防火牆 ○ 放行 擋下 公司內部的網路
防火牆把封包的目的地號碼與窗口號碼和規則對照,只讓相符的通過。省略的部分:寄件端的號碼、回覆的封包、DMZ等區域,以及從公司內部送往外部的通訊。

原理2:規則由上往下比對,最後「全部擋下」

規則會排成表格的形式來寫。這種放行與擋下的清單,稱為存取控制清單(ACL)。下表是小公司出入口的規則範例,為了方便說明而簡化過。第2列的22號,是從遠處操作伺服器用的窗口。

順序條件(從哪裡、到哪裡)處理
1從外部,到網頁伺服器的443號放行
2從總公司,到管理伺服器的22號放行
3從公司內部,到外部的443號放行
4其他所有通訊擋下

多數防火牆會把收到的封包,從表格的上方依序對照。在最先符合的那一列決定處理方式,下面的列就不再看。因此,條件範圍窄的例外,必須寫在條件範圍廣的列之上。

重點是最後的第4列。不符合任何一列的通訊,全部擋下。這稱為「預設拒絕」。美國國家標準與技術研究院(NIST)的指引(SP 800-41),也建議擋下決定允許之外的通訊。反過來,如果寫成「只擋危險的」,沒想到的通道就會全部維持開放。

原理3:只讓回覆通過的「狀態檢測」

這裡有一個麻煩。公司內的電腦打開網站時,網站的回覆封包會從外部回到內部。如果只靠表格的規則判斷,這個回覆屬於「外→內」,會被最後一列擋下。

話雖如此,如果寫成「從外部來的全部放行」,就沒有防護作用了。早期的簡單機制不會記住通訊的狀態(單純的封包過濾)。當時的寫法是,標頭上有「回覆」記號的通訊就放行。這樣一來,只模仿記號的假回覆就有機可乘。

因此,現在多數防火牆會記住從內部發起的通訊。先記下「這台電腦開始和這台伺服器的443號通訊」,只讓與紀錄相符的回覆通過。紀錄中沒有、從外部突然送來的通訊則擋下。因為會記住通訊的狀態(state)再檢查,所以稱為狀態檢測(stateful inspection)。AWS也正式說明,安全群組採用這種「記住狀態」的方式。

內部的電腦送資料到伺服器時,防火牆會記下這個組合,與紀錄相符的回覆就放行。外部對象突然送來的通訊不在紀錄中,所以擋下 ① 從內部送到外部 電腦 FW 伺服器 紀錄 電腦與伺服器 ② 回覆傳回來 與紀錄相符,放行 ○ ③ 從外部突然送來 電腦 FW 外部對象 紀錄中沒有,所以擋下 FW = 防火牆
狀態檢測會記下從內部發起的通訊,只讓與紀錄相符的回覆通過。省略的部分:紀錄中寫的號碼組合(雙方的號碼與窗口)、通訊結束後會刪除紀錄,以及規則允許的接收。

家用路由器的NAT是「碰巧形成的牆」

多數家用路由器,會把家中設備的號碼,改寫成網際網路用的1個號碼。這種改寫稱為NAT(網路位址轉譯)。路由器會把從內部發起的通訊記在對照表上,再把回覆送回原本的設備。詳細內容請參考「IP位址是什麼?」中的「NAPT」一節。

從外部突然送來的通訊,不在對照表上。因此,路由器不知道該交給哪台設備,通常就到不了裡面。結果就形成了一道和狀態檢測有點相似的牆。

不過,NAT原本是為了分享不夠用的號碼而設計的機制。它並不是設計來防護的功能。制定網際網路技術標準的組織,稱為IETF。IETF的文件(RFC 4864,2007年)也說明,改寫號碼本身並不是防護。

實際上,漏洞有好幾個。為了遊戲等用途設定「開放連接埠」(連接埠轉送)後,從外部送到該號碼的通訊,會直接送到裡面的設備。也有路由器支援讓App請路由器自動開洞的機制(UPnP)。從內部送往外部的通訊,NAT完全不會限制。

另外,在新的號碼形式IPv6中,號碼非常充足,所以通常不使用NAT。因此IETF在2011年的文件(RFC 6092)中,建議家用IPv6路由器加入記住狀態的過濾功能。許多家用路由器在NAT之外,也另外具有防火牆功能。

連內容都檢查的防火牆

到目前為止的防火牆,都是看標頭的號碼來判斷。但現在許多App都使用同一個443號。只看號碼,無法分辨那是業務系統,還是公司禁止的檔案分享服務。

於是,能從通訊內容的特徵辨識App、並依App訂定規則的產品普及開來。這稱為「次世代防火牆(NGFW)」。不過,在加密的通訊中,看得到的內容有限。很多產品也一併內建了找出並擋下常見攻擊型態通訊的功能(入侵防禦系統,IPS)。

也有專門保護網站的類型。它設在網頁伺服器前方,檢查送來的要求內容,擋下含有典型攻擊型態的要求。這稱為網頁應用程式防火牆(WAF)。依據日本資訊處理推進機構(IPA)的指引,WAF是減輕攻擊影響的措施。它並不會修好網站本身的缺陷。各自的差異,整理在「防火牆、IDS、IPS、WAF的差異」的表格中。

防火牆擋不住的事

1. 經由已允許通道而來的危險

如果為了上網而開放443號,經由那裡送來的危險檔案也會通過。附加在電子郵件裡的惡意程式也一樣。防火牆看的是「這條路能不能走」,並不保證運送的貨物是安全的。

2. 騙人輸入資料的手法

用假冒真實公司的假網站,騙人輸入密碼的手法,稱為網路釣魚。打開假網站的通訊,和一般的網頁通訊分辨不出來,所以防火牆會放行。分辨假網站的方法,在「HTTPS是什麼?」中說明。

3. 持有正確鑰匙的入侵

像公司的VPN設備這樣,有些入口是為了從外部進來而開著的。如果被人用容易猜到的密碼或外洩的密碼登入,防火牆就無法與正式員工區分。密碼被破解的原理,在「密碼為什麼會被破解?」中說明。VPN設備成為攻擊目標的原因,在「VPN是什麼?」中說明。

4. 內部的人,或在內部受感染的設備

邊界的防火牆,通常不會看內部與內部之間的通訊。公司內部人員帶走的資訊,或從公司內受感染的電腦擴散到其他設備的攻擊,入口都擋不住。所以公司也會把內部分成幾個區域。此外,每次使用都確認本人與裝置的零信任思維,也逐漸普及。

防火牆是多層防護中的一層。要搭配軟體更新、在密碼之外再用其他方式確認的多因素驗證,以及監視端點等措施一起使用。

防火牆的發展歷程

1980年代末期,大學與企業的網路透過網際網路相連,來自外部的非法入侵成了問題。美國電腦公司DEC(迪吉多)的研究所,在1989年3月發表了一份報告。內容是在組織之間的出入口,依規則篩選封包的機制。這是封包過濾的早期例子。

同一時期,美國AT&T的貝爾實驗室,也打造了保護公司內部網路的出入口。在那裡工作的Cheswick與Bellovin,在1994年出版了一本書。書名是《Firewalls and Internet Security》,推廣了防火牆的思維。

以色列的Check Point公司在1993年創立。1993~94年左右,推出了產品「FireWall-1」(年份因資料而異)。這是採用狀態檢測技術的產品,會記住從內部發起的通訊並讓回覆通過。在電腦上,從2004年Windows XP的大型更新(SP2)起,防火牆預設為啟用。

常見的誤解

誤解:有了防火牆,病毒和帳號被盜都能全部擋下

實際上,防火牆決定的是「要開放哪些通道」。經由已允許的通道而來的危險檔案、假網站,以及用盜來的密碼入侵,它都擋不住。「防火牆」這個名稱,容易讓人想像成什麼都能擋的牆,這是誤解的來源。要和防毒、軟體更新、多因素驗證搭配使用。

誤解:關掉防火牆,遊戲會變快

實際上,一般電腦和規則對照所花的時間,比起與遠方遊戲伺服器往返的時間,可說微乎其微。反應的延遲,主要取決於與對方的距離,以及線路、Wi-Fi的壅塞程度。遊戲真正會遇到的問題,是語音聊天或建立對戰房間時,從外部來的連線被擋下。Microsoft說明,關掉防火牆會更容易受到非法存取。它建議不要關掉,而是只允許需要的App。

誤解:家裡有路由器,就不需要電腦的防火牆

實際上,家用路由器保護的只有與網際網路的邊界。在咖啡廳或車站的Wi-Fi,同一個網路上連著陌生人的設備。即使在家中,只要其他設備受到感染,攻擊也可能從那裡過來。在這些情況下,在電腦上運作的防火牆就能發揮防護作用。

從數字來看

項目數字、內容(時間點、出處)
連接埠號碼的範圍0~65,535(65,536種)
篩選封包之機制的報告1989年3月(DEC的研究所)
Check Point公司創立/FireWall-11993年/1993~94年左右
Cheswick與Bellovin的書1994年(Addison-Wesley)
Windows的防火牆預設為啟用2004年(Windows XP SP2)
Windows的預設設定接收時,除了回覆與允許的通訊外都擋下。傳送時放行(2026年時點)
AWS新建立的安全群組接收許可0條。允許所有傳送(2026年時點)
說明NAT不是防護機制的文件RFC 4864(2007年,IETF)
建議家用IPv6路由器防護方式的文件RFC 6092(2011年,IETF)

連接埠號碼共有65,536種,但家用電腦需要接受外部連線的,通常幾乎沒有。所以規則才能寫成「只開放需要的幾個,其他全部關閉」。

進一步學習

接著閱讀

系列「資安與生活中的 IT」的文章

  1. 密碼為什麼會被破解?長度和不重複使用為何重要
  2. 雲端運算是什麼?資料和應用程式在「哪裡」運作
  3. 加密是什麼?對稱式加密與公開金鑰加密的原理
  4. 生成式AI怎麼運作?大型語言模型(LLM)的原理
  5. VPN是什麼?保護通訊的通道原理與做不到的事
  6. 機器學習是什麼?電腦從資料中找出規則的原理
  7. 資料中心是什麼?支撐雲端與AI的建築物內部
  8. 防火牆是什麼?讓通訊通過或擋下的機制
  9. QR Code是什麼?髒污也能讀取的原理
  10. 網路釣魚是什麼?假郵件、假網站的分辨方法與對策
  11. 指紋辨識、臉部辨識的原理是什麼?手機如何認出本人?
  12. 惡意程式是什麼?病毒、勒索軟體的差異與防範對策

這個領域的題目: 資訊安全基礎

參考資料

入門解說一覽