Linux iptables防火墻介紹
Linux iptables防火墻介紹:
一.防火墻的概述
(一).防火墻的簡介
防火墻是指設置在不同網絡或網絡安全域之間的一系列部件的組合,它能增強機構內部網絡的安全性。它通過訪問控制機制,確定哪些內部服務允許外部訪問,以及允許哪些外部請求可以訪問內部服務。它可以根據網絡傳輸的類型決定IP包是否可以傳進或傳出內部網。
防火墻通過審查經過的每一個數據包,判斷它是否有相匹配的過濾規則,根據規則的先后順序進行一一比較,直到滿足其中的一條規則為止,然后依據控制機制做出相應的動作。如果都不滿足,則將數據包丟棄,從而保護網絡的安全。
通過使用防火墻可以實現以下功能:
可以保護易受攻擊的服務;
控制內外網之間網絡系統的訪問;
集中管理內網的安全性,降低管理成本;
提高網絡的保密性和私有性;
記錄網絡的使用狀態,為安全規劃和網絡維護提供依據。
(二).防火墻的分類
防火墻技術根據防范的方式和側重點的不同而分為很多種類型,但總體來講可分為包過濾防火墻和代理服務器兩種類型。
(三).防火墻的工作原理
1.包過濾防火墻工作原理
① 數據包從外網傳送到防火墻后,防火墻搶在IP層向TCP層傳送前,將數據包轉發給包檢查模塊進行處理。
② 首先與第一個過濾規則比較。
③ 如果與第一個模塊相同,則對它進行審核,判斷是否轉發該數據包,這時審核結果是轉發數據包,則將數據包發送到TCP層進行處理,否則就將它丟棄。
④ 如果與第一個過濾規則不同,則接著與第二個規則相比較,如果相同則對它進行審核,過程與③相同。
⑤ 如果與第二個過濾規則不同,則繼續與下一個過濾規則比較,直到與所有過濾規則比較完成。要是所有過濾規則都不滿足,就將數據包丟棄。
2.代理服務型防火墻工作原理
代理服務型防火墻是在應用層上實現防火墻功能的。它能提供部分與傳輸有關的狀態,能完全提供與應用相關的狀態和部分傳輸的信息,它還能處理和管理信息。
二.iptables簡介
netfilter/iptables(下文簡稱為iptables)組成Linux平臺下的包過濾防火墻,與大多數的Linux軟件一樣,這個包過濾防火墻是免費的,它可以代替昂貴的商業防火墻解決方案,完成封包過濾、封包重定向和網絡地址轉換NAT等功能。 Iptables/netfilter包過濾防火墻其實是由兩個組件構成的,一個是netfilter,一個是iptables。
三.iptables基礎
(一).規則(rules)
規則(rules)其實就是網絡管理員預定義的條件,規則一般的定義為“如果數據包頭符合這樣的條件,就這樣處理這個數據包”。規則存儲在內核空間的信息包過濾表
中,這些規則分別指定了源地址、目的地址、傳輸協議(如TCP、UDP、ICMP)和服務類型(如HTTP、FTP和SMTP)等。當數據包與規則匹配時,iptables就根據規則所定義的方法來處理這些數據包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火墻的主要工作就是添加、修改和刪除這些規則。
(二).鏈(chains)
鏈(chains)是數據包傳播的路徑,每一條鏈其實就是眾多規則中的一個檢查清單,每一條鏈中可以有一條或數條規則。當一個數據包到達一個鏈時,iptables就會從鏈中第一條規則開始檢查,看該數據包是否滿足規則所定義的條件。如果滿足,系統就會根據該條規則所定義的方法處理該數據包;否則iptables將繼續檢查下一條規則,如果該數據包不符合鏈中任一條規則,iptables就會根據該鏈預先定。
【編輯推薦】