複製鏈接
請複製以下鏈接發送給好友

包過濾技術

鎖定
基於協議特定的標準,路由器在其端口能夠區分包和限制包的能力叫包過濾(Packet Filtering)。其技術原理在於加入IP過濾功能的路由器逐一審查包頭信息,並根據匹配規則決定包的前行或被捨棄,以達到拒絕發送可疑的包的目的。過濾路由器具備保護整個網絡、高效快速並且透明等優點,同時也有定義複雜、消耗CPU資源、不能徹底防止地址欺騙、涵蓋應用協議不全、無法執行特殊的安全策略並且不提供日誌等侷限性
中文名
包過濾技術
外文名
Packet Filtering
目    的
拒絕發送可疑的包
侷限性
定義複雜、消耗CPU資源

包過濾技術技術原理

包過濾技術(IP Filtering or packet filtering) 的原理在於利用路由器監視並過濾網絡上流入流出的IP包,拒絕發送可疑的包。由於Internet 與Intranet 的連接多數都要使用路由器,所以Router成為內外通信的必經端口,Router的廠商在Router上加入IP 過濾 功能,過濾路由器也可以稱作包過濾路由器或篩選路由器(Packet FilterRouter)。防火牆常常就是這樣一個具備包過濾功能的簡單路由器,這種Firewall應該是足夠安全的,但前提是配置合理。然而一個包過濾規則是否完全嚴密及必要是很難判定的,因而在安全要求較高的場合,通常還配合使用其它的技術來加強安全性。
包過濾技術是指網絡設備(路由器或防火牆)根據包過濾規則檢查所接收的每個數據包,做出允許數據包通過或丟棄數據包的決定。包過濾規則主要基於IP包頭信息設置,包括如下內容:
1、TCP/UDP的源或目的端口號
2、協議類型:TCP、UDP、ICMP等
3、源或目的IP地址
4、數據包的入接口和出接口
數據包中的信息如果與某一條過濾規則相匹配並且該規則允許數據包通過,則該數據包會被轉發,如果與某一條過濾規則匹配但規則拒絕數據包通過,則該數據包會被丟棄。如果沒有可匹配的規則,缺省規則會決定數據包是被轉發還是被丟棄。
舉例説明:如圖所示,如果我們需要允許IP地址為192.168.0.1的電腦瀏覽網頁(建立HTTP連接),允許IP地址為192.168.0.2的電腦與Internet建立FTP連接,不允許其他電腦與Internet通信,可以在路由器設置如下過濾規則:
1、允許源IP地址為192.168.0.1、目的端口號為80的數據包通過(HTTP的端口號為80)。
2、允許源IP地址為192.168.0.1、目的端口號為53的數據包通過(DNS的端口號為53,在瀏覽網頁時通常需要進行域名解析)。
3、允許源IP地址為192.168.0.2、目的端口號為21的數據包通過(FTP的端口號為21)。
4、缺省禁止所有的其他連接。
包過濾規則允許Router取捨以一個特殊服務為基礎的信息流,因為大多數服務檢測器駐留於眾所周知的TCP/UDP端口。例如,Telnet Service 為TCP port 23端口等待遠程連接,而SMTP Service為TCP Port 25端口等待輸入連接。如要封鎖輸入Telnet、SMTP的連接,則Router捨棄端口值為23、25的所有的數據包。
表9.1 一些常用網絡服務和使用的端口
服務名稱
端口號
協議
説明
ftp-data
20
tcp
FTP數據
ftp
21
tcp
FTP控制
telnet
23
tcp
如BBS
smtp
25
tcp
發email用
time
37
tcp
timserver
time
37
udp
timserver
domain
53
tcp
DNS
domain
53
udp
DNS
tftp
69
udp
gopher
70
tcp
gopher查詢
http
80
tcp
www
pop3
110
tcp
收email用
nntp
119
tcp
新聞組,usernet
netbios-ns
137
tcp
NETBIOS 名稱服務
netbios-ns
137
udp
NETBIOS 名稱服務
netbios-dgm
138
udp
NETBIOS 數據報服務
netbios-ssn
139
tcp
NETBIOS Session服務
snmp
161
udp
SNMP
snmptrap
162
udp
SNMP trap
irc
194
tcp
IRC網絡聊天服務
ldap
389
tcp
輕型目錄服務協議
https
443
tcp
SSL加密
https
443
udp
典型的過濾規則有以下幾種:允許特定名單內的內部主機進行Telnet輸入對話、只允許特定名單內的內部主機進行FTP輸入對話、只允許所有Telnet 輸出對話、只允許所有FTP 輸出對話、拒絕來自一些特定外部網絡的所有輸入信息。
有些類型的攻擊很難用基本包頭信息加以鑑別,因為這些獨立於服務。一些Router可以用來防止這類攻擊,但過濾規則需要增加一些信息,而這些信息只有通過以下方式才能獲悉:研究Router選擇表、檢查特定的IP選項、校驗特殊的片段偏移等。這類攻擊有以下幾種:
源IP地址欺騙攻擊:入侵者從偽裝成源自一台內部主機的一個外部地點傳送一些信息包;這些信息包似乎像包含了一個內部系統的源IP地址。如果這些信息包到達Router的外部接口,則捨棄每個含有這個源IP地址的信息包,就可以挫敗這種源欺騙攻擊。
源路由攻擊:源站指定了一個信息包穿越Internet時應採取的路徑,這類攻擊企圖繞過安全措施,並使信息包沿一條意外(疏漏)的路徑到達目的地。可以通過捨棄所有包含這類源路由選項的信息包方式,來挫敗這類攻擊。
殘片攻擊:入侵者利用IP殘片特性生成一個極小的片斷並將TCP報頭信息肢解成一個分離的信息包片斷。捨棄所有協議類型為TCP、IP片斷偏移值等於1的信息包,即可挫敗殘片的攻擊。
從以上可看出定義一個完善的安全過濾規則是非常重要的。通常,過濾規則表格的形式表示,其中包括以某種次序排列的條件和動作序列。每當收到一個包時,則按照從前至後的順序與表格中每行的條件比較,直到滿足某一行的條件,然後執行相應的動作(轉發或捨棄)。有些數據包過濾在實現時,“動作”這一項還詢問,若包被丟棄是否要通知發送者(通過發ICMP信息),並能以管理員指定的順序進行條件比較,直至找到滿足的條件。
對流進和流出網絡的數據進行過濾可以提供一種高層的保護。建議過濾規則如下:
(1)任何進入內部網絡的數據包不能把網絡內部的地址作為源地址。
(2)任何進入內部網絡的數據包必須把網絡內部的地址作為目的地址。
(3)任何離開內部網絡的數據包必須把網絡內部的地址作為源地址。
(4)任何離開內部網絡的數據包不能把網絡內部的地址作為目的地址。
(5)任何進入或離開內部網絡的數據包不能把一個私有地址(private address)或在RFC1918中 127.0.0.0/8.)的地址作為源或目的地址。
(6)阻塞任意源路由包或任何設置了IP選項的包。
(7)保留、DHCP自動配置和多播地址也需要被阻塞。0.0.0.0/8 、169.254.0.0/16 、192.0.2.0/24 、224.0.0.0/4 、240.0.0.0/4。

包過濾技術優點

(1)一個過濾路由器能協助保護整個網絡。絕大多數Internet防火牆系統只用一個包過濾路由器
(2)過濾路由器速度快、效率高。執行包過濾所用的時間很少或幾乎不需要什麼時間,由於過濾路由器只檢查報頭相應的字段,一般不查看數據報的內容,而且某些核心部分是由專用硬件實現的,如果通信負載適中且定義的過濾很少的話,則對路由器性能沒有多大影響;
(3)包過濾路由器對終端用户和應用程序是透明的。當數據包過濾路由器決定讓數據包通過時,它與普通路由器沒什麼區別,甚至用户沒有認識到它的存在,因此不需要專門的用户培訓或在每主機上設置特別的軟件。

包過濾技術侷限性

(1)定義包過濾器可能是一項複雜的工作。因為網管員需要詳細地瞭解Internet各種服務、包頭格式和他們在希望每個域查找的特定的值。如果必須支持複雜的過濾要求的,則過濾規則集可能會變得很長很複雜,並且沒有什麼工具可以用來驗證過濾規則的正確性。
(2)路由器信息包的吞吐量隨過濾器數量的增加而減少。路由器被優化用來從每個包中提取目的IP地址、查找一個相對簡單的路由表,而後將信息包順向運行到適當轉發接口。如果過濾可執行,路由器還必須對每個包執行所有過濾規則。這可能消耗CPU的資源,並影響一個完全飽和的系統性能。
(3)不能徹底防止地址欺騙。大多數包過濾路由器都是基於源IP地址、目的IP地址而進行過濾的,而IP地址的偽造是很容易、很普遍的。
(4)一些應用協議不適合於數據包過濾。即使是完美的數據包過濾,也會發現一些協議不很適合於經由數據包過濾安全保護。如RPC、X- Window和FTP。而且服務代理和HTTP的鏈接,大大削弱了基於源地址和源端口的過濾功能。
(5)正常的數據包過濾路由器無法執行某些安全策略。例如,數據包説它們來自什麼主機,而不是什麼用户,因此,我們不能強行限制特殊的用户。同樣地,數據包説它到什麼端口,而不是到什麼應用程序,當我們通過端口號對高級協議強行限制時,不希望在端口上有別的指定協議之外的協議,而不懷好意的知情者能夠很容易地破壞這種控制。
(6)一些包過濾路由器不提供任何日誌能力,直到闖入發生後,危險的封包才可能檢測出來。它可以阻止非法用户進入內部網絡,但也不會告訴我們究竟都有誰來過,或者誰從內部進入了外部網絡。