標籤: 暫無標籤

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

1 包過濾技術 -技術原理

  包過濾技術(IP Filtering or packet filtering) 的原理在於利用路由器監視並過濾網路上流入流出的IP包,拒絕發送可疑的包。由於Internet 與Intranet 的連接多數都要使用路由器,所以Router成為內外通信的必經埠,Router的廠商在Router上加入IP 過濾 功能,過濾路由器也可以稱作包過濾路由器或篩選路由器(Packet FilterRouter)。防火牆常常就是這樣一個具備包過濾功能的簡單路由器,這種Firewall應該是足夠安全的,但前提是配置合理。然而一個包過濾規則是否完全嚴密及必要是很難判定的,因而在安全要求較高的場合,通常還配合使用其它的技術來加強安全性。

  常用的優秀的個人防火牆有Norman Personal Firewall、天網防火牆等。

  路由器逐一審查數據包以判定它是否與其它包過濾規則相匹配。每個包有兩個部分:數據部分和包頭。過濾規則以用於IP順行處理的包頭信息為基礎,不理會包內的正文信息內容。包頭信息包括:IP 源地址、IP目的地址、封裝協議(TCP、UDP、或IP Tunnel)、TCP/UDP源埠、ICMP包類型、包輸入介面和包輸出介面。如果找到一個匹配,且規則允許這包,這一包則根據路由表中的信息前行。如果找到一個匹配,且規則拒絕此包,這一包則被捨棄。如果無匹配規則,一個用戶配置的預設參數將決定此包是前行還是被捨棄。

  包過濾規則允許Router取捨以一個特殊服務為基礎的信息流,因為大多數服務檢測器駐留於眾所周知的TCP/UDP埠。例如,Telnet Service 為TCP port 23埠等待遠程連接,而SMTP Service為TCP Port 25埠等待輸入連接。如要封鎖輸入Telnet、SMTP的連接,則Router捨棄埠值為23、25的所有的數據包。

  表9.1 一些常用網路服務和使用的埠

  

服務名稱埠號協議說明
ftp-data20tcpFTP數據
ftp21tcpFTP控制
telnet23tcp如BBS
smtp25tcp發email用
time37tcptimserver
time37udptimserver
domain53tcpDNS
domain53udpDNS
tftp69udp
gopher70tcpgopher查詢
http80tcpwww
pop3110tcp收email用
nntp119tcp新聞組,usernet
netbios-ns137tcp NETBIOS 名稱服務
netbios-ns137udp NETBIOS 名稱服務
netbios-dgm138udp NETBIOS 數據報服務
netbios-ssn139tcp NETBIOS Session服務
snmp161udpSNMP
snmptrap162udp SNMP trap
irc194tcpIRC網路聊天服務
ldap389tcp輕型目錄服務協議
https443tcpSSL加密
https443udp
典型的過濾規則有以下幾種:允許特定名單內的內部主機進行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。

2 包過濾技術 -優點

  (1)一個過濾路由器能協助保護整個網路。絕大多數Internet防火牆系統只用一個包過濾路由器;

  (2)過濾路由器速度快、效率高。執行包過濾所用的時間很少或幾乎不需要什麼時間,由於過濾路由器只檢查報頭相應的欄位,一般不查看數據報的內容,而且某些核心部分是由專用硬體實現的,如果通信負載適中且定義的過濾很少的話,則對路由器性能沒有多大影響;

  (3)包過濾路由器對終端用戶和應用程序是透明的。當數據包過濾路由器決定讓數據包通過時,它與普通路由器沒什麼區別,甚至用戶沒有認識到它的存在,因此不需要專門的用戶培訓或在每主機上設置特別的軟體。

3 包過濾技術 -局限性

  (1)定義包過濾器可能是一項複雜的工作。因為網管員需要詳細地了解Internet各種服務、包頭格式和他們在希望每個域查找的特定的值。如果必須支持複雜的過濾要求的,則過濾規則集可能會變得很長很複雜,並且沒有什麼工具可以用來驗證過濾規則的正確性。

  (2)路由器信息包的吞吐量隨過濾器數量的增加而減少。路由器被優化用來從每個包中提取目的IP地址、查找一個相對簡單的路由表,而後將信息包順向運行到適當轉發介面。如果過濾可執行,路由器還必須對每個包執行所有過濾規則。這可能消耗CPU的資源,並影響一個完全飽和的系統性能。

  (3)不能徹底防止地址欺騙。大多數包過濾路由器都是基於源IP地址、目的IP地址而進行過濾的,而IP地址的偽造是很容易、很普遍的。

  (4)一些應用協議不適合於數據包過濾。即使是完美的數據包過濾,也會發現一些協議不很適合於經由數據包過濾安全保護。如RPC、X- Window和FTP。而且服務代理和HTTP的鏈接,大大削弱了基於源地址和源埠的過濾功能。

  (5)正常的數據包過濾路由器無法執行某些安全策略。例如,數據包說它們來自什麼主機,而不是什麼用戶,因此,我們不能強行限制特殊的用戶。同樣地,數據包說它到什麼埠,而不是到什麼應用程序,當我們通過埠號對高級協議強行限制時,不希望在埠上有別的指定協議之外的協議,而不懷好意的知情者能夠很容易地破壞這種控制。

  (6)一些包過濾路由器不提供任何日誌能力,直到闖入發生后,危險的封包才可能檢測出來。它可以阻止非法用戶進入內部網路,但也不會告訴我們究竟都有誰來過,或者誰從內部進入了外部網路。

上一篇[單如]  

相關評論

同義詞:暫無同義詞