硬件防火牆
是由廠商設計好的主機硬件, 這部硬件防火牆內的操作系統主要以提供封包數據的過濾機制爲主,並將其他不必要的功能拿掉。因爲單純作爲防火牆功能而已, 因此封包過濾的效率較佳
軟件防火牆
保護系統網絡安全的一套軟件(或稱爲機制),例如 Netfilter 與 TCP Wrappers 都可以稱爲軟件防火牆。
linux上防火牆依據防火牆管理的範圍劃分
單一主機型的管控
封包過濾型的 Netfilter
依據服務軟件程序作爲分析的 TCP Wrappers
網域型管控
由於此類防火牆都是當作路由器角色
因此防火牆類型主要則有封包過濾的 Netfilter 與利用代理服務器 (proxy server) 進行存取代理的方式了。
Netfilter (封包過濾機制)
將進入主機的網絡封包的表頭數據捉出來進行分析,以決定該聯機爲放行或抵擋的機制。所以包括硬件地址(MAC), 軟件地址 (IP), TCP, UDP, ICMP 等封包的信息都可以進行過濾分析的功能,因此用途非常的廣泛。(其實主要分析的是 OSI 七層協議的 2, 3, 4 層啦)
在 Linux 上面我們使用核心內建的 Netfilter 這個機制,而 Netfilter 提供了 iptables 這個軟件來作爲防火牆封包過濾的指令。
TCP Wrappers (程序控管)
透過服務器程序的外掛 (tcpd) 來處置的!主要是分析誰對某程序進行存取,然後透過規則去分析該服務器程序誰能夠聯機、誰不能聯機。 由於主要是透過分析服務器程序來控管,因此與啓動的埠口無關,只與程序的名稱有關。 舉例來說,我們知道 FTP 可以啓動在非正規的 port 21 進行監聽,當你透過 Linux 內建的 TCP wrappers 限制 FTP 時, 那麼你只要知道 FTP 的軟件名稱 (vsftpd) ,然後對他作限制,則不管 FTP 啓動在哪個埠口,都會被該規則管理的。
Proxy (代理服務器)
通常 Proxy 就架設在路由器上 可以完整的掌控局域網絡內的對外聯機
client 並沒有直接連上 Internet
proxy 通常僅開放 port 80, 21, 20 等 WWW 與 FTP 的端口而已
可以使用squid軟件設定
防火牆一般網絡佈線示意圖
單一網域 僅一個路由器
內部網絡包含安全性更高的子網
防火牆後面假設網絡服務器主機