相信大家聽到「防火牆(Firewall)」,想到的應該都會是網路安全領域的防火牆,而不是消防領域的防火牆 。我甚至連實體的防火牆長得什麼樣子都不太清楚,只知道其功能是阻隔火焰。
而網路中的防火牆所做的事情其實也如同阻隔火焰,只不過這邊的所阻擋的實際上是不被信任的資料,以及網路攻擊。
那麼何謂「不被信任」的資料,什麼又是「網路攻擊」?
當我們將上網功能設定完畢後,其實就將網路分成兩個區塊,內網及外網。通常內網的資料是能夠比較不受限的傳輸,而外網的資料則是「不被信任的」,此時介於內外網之間的防火牆就能起到保護作用。
*防火牆概述
在前系列的 TCP/IP 中,我們聊到網路中傳輸的資料是被分層處理的,而防火牆發展到如今,也不單單只是針對某一層防守,每一層都有專門的防守技術。
例如在網際網路層(Internet Layer)中,IP 封包就是防火牆的防守重點,由於 IP 封包中的資訊包含來源及目的地的 IP 位置,最簡單的方法就是設定黑名單及白名單:封鎖某些已知的不良來源,或是只允許我們所認識的 IP 位置。
又或是在傳輸層(Transport Layer)中,由於封包又多了連接埠(Port)的概念,也能使用黑白名單來做基本的過濾;更進階一點,還可以分析整個 TCP 或 UDP 的連線狀態,看看有沒有可能是惡意的攻擊:例如不遵照 TCP 的三次交握建立連線,故意一直送無效的封包來試圖癱瘓你的設備,就可能被防火牆分析出來並且阻擋下來。
簡單聊了防火牆主要的功能,我們接著來看看常見防火牆的分類有哪些?如果最粗略的分類,大致可以分類成「軟體」及「硬體」兩種類別。
*軟體及硬體防火牆架構
先來看看「軟體防火牆」,顧名思義,就是一個實現防火牆功能的軟體。由於設計硬體這件事是價格不斐的投資,拿著現有、通用硬體就能做事的軟體防火牆,就相對便宜得多了。像是我們一般人家中新台幣一兩千就能入手的路由器(Router),內建的就大多是軟體防火牆。
而「硬體防火牆」,就貴的多,一般也只有企業等級的防火牆會採用這樣的解決方案。相對於軟體來講,用硬體實現防火牆的優勢當然就在於性能高的多!像是分析封包、匹配規則等計算可以透過特殊設計的硬體來做,效率就會比通用的 CPU 做的運算高的多(如同 GPU 在圖形運算上遠快於 CPU 一樣)。