關於防火牆其實在技術專題中,我們有專門的介紹,只是內容比較散,因此我們在這裡從比較簡單的講起,由淺入深的來了解一下防火牆。
防火牆的概念
當然,既然打算由淺入深的來了解,就要先看看防火牆的概念了。防火牆是汽車中一個部件的名稱。在汽車中,利用防火牆把乘客和引擎隔開,以便汽車引擎一旦著火,防火牆不但能保護乘客安全,而同時還能讓司機繼續控制引擎。再電腦術語中,當然就不是這個意思了,我們可以類比來理解,在網絡中,所謂“防火牆”,是指一種將內部網和公眾訪問網(如Internet)分開的方法,它實際上是一種隔離技術。防火牆是在兩個網絡通訊時執行的一種訪問控制尺度,它能允許你“同意”的人和數據進入你的網絡,同時將你“不同意”的人和數據拒之門外,最大限度地阻止網絡中的黑客來訪問你的網絡。換句話說,如果不通過防火牆,公司內部的人就無法訪問Internet,Internet上的人也無法和公司內部的人進行通信。
防火牆的功能
防火牆是網絡安全的屏障:
一個防火牆(作為阻塞點、控制點)能極大地提高一個內部網絡的安全性,並通過過濾不安全的服務而降低風險。由於只有經過精心選擇的應用協議才能通過防火牆,所以網絡環境變得更安全。如防火牆可以禁止諸如眾所周知的不安全的NFS協議進出受保護網絡,這樣外部的攻擊者就不可能利用這些脆弱的協議來攻擊內部網絡。防火牆同時可以保護網絡免受基於路由的攻擊,如IP選項中的源路由攻擊和ICMP重定向中的重定向路徑。防火牆應該可以拒絕所有以上類型攻擊的報文並通知防火牆管理員。
防火牆可以強化網絡安全策略:
通過以防火牆為中心的安全方案配置,能將所有安全軟件(如口令、加密、身份認證、審計等)配置在防火牆上。與將網絡安全問題分散到各個主機上相比,防火牆的集中安全管理更經濟。例如在網絡訪問時,一次一密口令系統和其它的身份認證系統完全可以不必分散在各個主機上,而集中在防火牆一身上。
對網絡存取和訪問進行監控審計:
如果所有的訪問都經過防火牆,那麼,防火牆就能記錄下這些訪問並作出日志記錄,同時也能提供網絡使用情況的統計數據。當發生可疑動作時,防火牆能進行適當的報警,並提供網絡是否受到監測和攻擊的詳細信息。另外,收集一個網絡的使用和誤用情況也是非常重要的。首先的理由是可以清楚防火牆是否能夠抵擋攻擊者的探測和攻擊,並且清楚防火牆的控制是否充足。而網絡使用統計對網絡需求分析和威脅分析等而言也是非常重要的。
防止內部信息的外洩:
通過利用防火牆對內部網絡的劃分,可實現內部網重點網段的隔離,從而限制了局部重點或敏感網絡安全問題對全局網絡造成的影響。再者,隱私是內部網絡非常關心的問題,一個內部網絡中不引人注意的細節可能包含了有關安全的線索而引起外部攻擊者的興趣,甚至因此而暴漏了內部網絡的某些安全漏洞。使用防火牆就可以隱蔽那些透漏內部細節如Finger,DNS等服務。Finger顯示了主機的所有用戶的注冊名、真名,最後登錄時間和使用shell類型等。但是Finger顯示的信息非常容易被攻擊者所獲悉。攻擊者可以知道一個系統使用的頻繁程度,這個系統是否有用戶正在連線上網,這個系統是否在被攻擊時引起注意等等。防火牆可以同樣阻塞有關內部網絡中的DNS信息,這樣一台主機的域名和IP地址就不會被外界所了解。
除了安全作用,防火牆還支持具有Internet服務特性的企業內部網絡技術體系VPN(虛擬專用網)。
防火牆的分類
根據防火牆的分類標准不同,防火牆可以分為N多種類型,這裡我們遵循的,當然是根據網絡體系結構來進行的分類了,按這樣的標准,可以有以下幾種類型的防火牆:
1.網絡級防火牆
一般是基於源地址和目的地址、應用或協議以及每個IP包的端口來作出通過與否的判斷。一個路由器便是一個“傳統”的網絡級防火牆,大多數的路由器都能通過檢查這些信息來決定是否將所收到的包轉發,但它不能判斷出一個IP包來自何方,去向何處。
先進的網絡級防火牆可以判斷這一點,它可以提供內部信息以說明所通過的連接狀態和一些數據流的內容,把判斷的信息同規則表進行比較,在規則表中定義了各種規則來表明是否同意或拒絕包的通過。包過濾防火牆檢查每一條規則直至發現包中的信息與某規則相符。如果沒有一條規則能符合,防火牆就會使用默認規則,一般情況下,默認規則就是要求防火牆丟棄該包。其次,通過定義基於TCP或UDP數據包的端口號,防火牆能夠判斷是否允許建立特定的連接,如Telnet、FTP連接。
下面是某一網絡級防火牆的訪問控制規則:
(1)允許網絡123.1.0使用FTP(21口)訪問主機150.0.0.1;
(2) 允許IP地址為202.103.1.18和202.103.1.14的用戶Telnet(23口)到主機150.0.0.2上;
(3)允許任何地址的E-mail(25口)進入主機150.0.0.3;
(4)允許任何WWW數據(80口)通過;
(5)不允許其他數據包進入。
網絡級防火牆簡潔、速度快、費用低,並且對用戶透明,但是對網絡的保護很有限,因為它只檢查地址和端口,對網絡更高協議層的信息無理解能力。
2.應用級網關
應用級網關就是我們常常說的“代理服務器”,它能夠檢查進出的數據包,通過網關復制傳遞數據,防止在受信任服務器和客戶機與不受信任的主機間直接建立聯系。應用級網關能夠理解應用層上的協議,能夠做復雜一些的訪問控制,並做精細的注冊和稽核。但每一種協議需要相應的代理軟件,使用時工作量大,效率不如網絡級防火牆。
常用的應用級防火牆已有了相應的代理服務器, 例如: HTTP、 NNTP、 FTP、Telnet、rlogin、X-windows等,但是,對於新開發的應用,尚沒有相應的代理服務,它們將通過網絡級防火牆和一般的代理服務。
應用級網關有較好的訪問控制,是目前最安全的防火牆技術,但實現困難,而且有的應用級網關缺乏"透明度"。在實際使用中,用戶在受信任的網絡上通過防火牆訪問Internet時, 經常會發現存在延遲並且必須進行多次登錄(Login) 才能訪問Internet或Intranet。
3.電路級網關
電路級網關用來監控受信任的客戶或服務器與不受信任的主機間的TCP握手信息,這樣來決定該會話(Session) 是否合法,電路級網關是在OSI模型中會話層上來過濾數據包,這樣比包過濾防火牆要高二層。
實際上電路級網關並非作為一個獨立的產品存在,它與其他的應用級網關結合在一起, 如TrustInformationSystems公司的GauntletInternetFirewall;DEC公司的AltaVistaFirewall等產品。 另外,電路級網關還提供一個重要的安全功能:代理服務器(ProxyServer) ,代理服務器是個防火牆,在其上運行一個叫做"地址轉移"的進程,來將所有你公司內部的IP地址映射到一個"安全"的IP地址,這個地址是由防火牆使用的。但是,作為電路級網關也存在著一些缺陷,因為該網關是在會話層工作的,它就無法檢查應用層級的數據包。
4.規則檢查防火牆
該防火牆結合了包過濾防火牆、電路級網關和應用級網關的特點。它同包過濾防火牆一樣, 規則檢查防火牆能夠在OSI網絡層上通過IP地址和端口號,過濾進出的數據包。它也象電路級網關一樣,能夠檢查SYN和ACK標記和序列數字是否邏輯有序。當然它也象應用級網關一樣, 可以在OSI應用層上檢查數據包的內容,查看這些內容是否能符合公司網絡的安全規則。
規則檢查防火牆雖然集成前三者的特點,但是不同於一個應用級網關的是,它並不打破客戶機/服務機模式來分析應用層的數據, 它允許受信任的客戶機和不受信任的主機建立直接連接。規則檢查防火牆不依靠與應用層有關的代理,而是依靠某種算法來識別進出的應用層數據,這些算法通過已知合法數據包的模式來比較進出數據包,這樣從理論上就能比應用級代理在過濾數據包上更有效。
目前在市場上流行的防火牆大多屬於規則檢查防火牆,因為該防火牆對於用戶透明,在OSI最高層上加密數據,不需要你去修改客戶端的程序,也不需對每個需要在防火牆上運行的服務額外增加一個代理。如現在最流行的防火牆之一OnTechnology軟件公司生產的OnGuard和CheckPoint軟件公司生產的FireWall-1防火牆都是一種規則 檢查防火牆。
從趨勢上看,未來的防火牆將位於網絡級防火牆和應用級防火牆之間,也就是說,網絡級防火牆將變得更加能夠識別通過的信息,而應用級防火牆在目前的功能上則向“透明”、“低級”方面發展。最終防火牆將成為一個快速注冊稽查系統,可保護數據以加密方式通過,使所有組織可以放心地在節點間傳送數據。
目前在市場上流行的防火牆大多屬於規則檢查防火牆,因為該防火牆對於用戶透明,在OSI最高層上加密數據,不需要你去修改客戶端的程序,也不需對每個需要在防火牆上運行的服務額外增加一個代理。如現在最流行的防火牆之一OnTechnology軟件公司生產的OnGuard和CheckPoint軟件公司生產的FireWall-1防火牆都是一種規則 檢查防火牆。
從趨勢上看,未來的防火牆將位於網絡級防火牆和應用級防火牆之間,也就是說,網絡級防火牆將變得更加能夠識別通過的信息,而應用級防火牆在目前的功能上則向“透明”、“低級”方面發展。最終防火牆將成為一個快速注冊稽查系統,可保護數據以加密方式通過,使所有組織可以放心地在節點間傳送數據。