


基于Linux系統的包過濾防火墻
1.1 包過濾防火墻的一般概念
1.1.1 什么是包過濾防火墻
包過濾防火墻是用一個軟件查看所流經的數據包的包頭(header),由此決定整個包的命運。它可能會決定丟棄(DROP)這個包,可能會接受(ACCEPT)這個包(讓這個包通過),也可能執行其它更復雜的動作。
在Linux系統下,包過濾功能是內建于核心的(作為一個核心模塊,或者直接內建),同時還有一些可以運用于數據包之上的技巧,不過最常用的依然是查看包頭以決定包的命運。
1.1.2 包過濾防火墻的工作層次
包過濾是一種內置于Linux內核路由功能之上的防火墻類型,其防火墻工作在網絡層。
1.1.3 包過濾防火墻的工作原理
(1)使用過濾器。數據包過濾用在內部主機和外部主機之間,過濾系統是一臺路由器或是一臺主機。過濾系統根據過濾規則來決定是否讓數據包通過。用于過濾數據包的路由器被稱為過濾路由器。
數據包過濾是通過對數據包的IP頭和TCP頭或UDP頭的檢查來實現的,主要信息有:
* IP源地址
* IP目標地址
* 協議(TCP包、UDP包和ICMP包)
* TCP或UDP包的源端口
* TCP或UDP包的目標端口
* ICMP消息類型
* TCP包頭中的ACK位
* 數據包到達的端口
* 數據包出去的端口
在TCP/IP中,存在著一些標準的服務端口號,例如,HTTP的端口號為80。通過屏蔽特定的端口可以禁止特定的服務。包過濾系統可以阻塞內部主機和外部主機或另外一個網絡之間的連接,例如,可以阻塞一些被視為是有敵意的或不可信的主機或網絡連接到內部網絡中。
(2)過濾器的實現。數據包過濾一般使用過濾路由器來實現,這種路由器與普通的路由器有所不同。
普通的路由器只檢查數據包的目標地址,并選擇一個達到目的地址的最佳路徑。它處理數據包是以目標地址為基礎的,存在著兩種可能性:若路由器可以找到一個路徑到達目標地址則發送出去;若路由器不知道如何發送數據包則通知數據包的發送者“數據包不可達”。
過濾路由器會更加仔細地檢查數據包,除了決定是否有到達目標地址的路徑外,還要決定是否應該發送數據包。“應該與否”是由路由器的過濾策略決定并強行執行的。
路由器的過濾策略主要有:
* 拒絕來自某主機或某網段的所有連接。
* 允許來自某主機或某網段的所有連接。
* 拒絕來自某主機或某網段的指定端口的連接。
* 允許來自某主機或某網段的指定端口的連接。
* 拒絕本地主機或本地網絡與其它主機或其它網絡的所有連接。
* 允許本地主機或本地網絡與其它主機或其它網絡的所有連接。
* 拒絕本地主機或本地網絡與其它主機或其它網絡的指定端口的連接。
* 允許本地主機或本地網絡與其它主機或其它網絡的指定端口的連接。
1.1.4 包過濾器操作的基本過程
下面做個簡單的敘述:
(1)包過濾規則必須被包過濾設備端口存儲起來。
(2)當包到達端口時,對包報頭進行語法分析。大多數包過濾設備只檢查IP、TCP、或UDP報頭中的字段。
(3)包過濾規則以特殊的方式存儲。應用于包的規則的順序與包過濾器規則存儲順序必須相同。
(4)若一條規則阻止包傳輸或接收,則此包便不被允許。
(5)若一條規則允許包傳輸或接收,則此包便可以被繼續處理。
(6)若包不滿足任何一條規則,則此包便被阻塞。
1.1.5 包過濾技術的優缺點
(1)優點:
→對于一個小型的、不太復雜的站點,包過濾比較容易實現。
→因為過濾路由器工作在IP層和TCP層,所以處理包的速度比代理服務器快。
→過濾路由器為用戶提供了一種透明的服務,用戶不需要改變客戶端的任何應用程序,也不需要用戶學習任何新的東西。因為過濾路由器工作在IP層和TCP層,而IP層和TCP層與應用層的問題毫不相關。所以,過濾路由器有時也被稱為“包過濾網關”或“透明網關”,之所被稱為網關,是因為包過濾路由器和傳統路由器不同,它涉及到了傳輸層。
→過濾路由器在價格上一般比代理服務器便宜。
(2)缺點:
→一些包過濾網關不支持有效的用戶認證。
→規則表很快會變得很大而且復雜,規則很難測試。隨著表的增大和復雜性的增加,規則結構出現漏洞的可能性也會增加。
→這種防火墻最大的缺陷是它依賴一個單一的部件來保護系統。如果這個部件出現了問題,會使得網絡大門敞開,而用戶其至可能還不知道。
→在一般情況下,如果外部用戶被允許訪問內部主機,則它就可以訪問內部網上的任何主機。
<
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解