使用NBAR更有效的識別與封堵網絡應用
近期有學生在面試時遇到企業詢問關於封堵BT、電驢和其他一些P2P程序的方法,除了我過去在課程中講過的使用ACL的方法外,其實用CISCO的NBAR功能更有效可以防止這些應用。只是開啓NBAR後佔用的資源會大一些,估計在15%以上吧。
一、認識NBAR
NBAR (Network-Based Application Recognition) 的意思是網絡應用識別。 NBAR 是一種動態能在四到七層尋找協議的技術。它不同於ACL,僅僅依靠端口號進行對應用服務的判斷,更加精準的是可以通過數據包本身的描述進行識別判斷,該數據屬於哪一種服務。NBAR更加有效的使網絡的分析圖形化,脫離邏輯判斷,更加直觀的將你網絡中的各種應用佔有帶寬比例顯示出來。
實際上NBAR的應用原理在於對網絡應用層面的監控,可以進行代碼匹配來識別數據報的具體應用,例如FTP、WEB、BT、電驢等等。即便所應用的服務端口變化,NBAR也可以識別出來具體的服務。NBAR首先可以應用於網絡監控,判斷究竟在你的網內哪種服務佔據着最主要的流量,以便於配合QOS來做流量的修整。
NBAR可使用第三方軟件來圖形化解讀數據。例如Concord、infovista等廠商:
NBAR發現協議開啓方法:
Router(config)#Ip nbar protocol-discovery
使用show命令查看NBAR的信息:
Router#Show ip nbar protocol-discovery
二、NBAR識別網絡應用的依據: PDLM
PDLM 是數據包描述語言模塊。它是NBAR針對於網絡高層應用的主要識別原理,PDLM分爲很多種,在CISCO的網站上可以找到各種網絡應用的PDLM,每個PDLM都是針對於一種服務的,它記載了關於判別一種應用服務的關鍵匹配代碼,經常的下載PDLM對於NBAR對網絡應用的認識就更加有效。而且也可以以PDLM爲標準使用QOS去封堵一些你不想讓其通過的服務。
三、使用NBAR更準確地封堵網內應用服務
以BT和電驢爲例:
1. 下載bittorrent.pdlm 和eDonkey.pdlm,使用TFTP傳到路由器裏
2. 開啓CEF,NBAR是不能再非CEF交換中工作的
Router(config)#ip cef
3. 啓用BT和電驢的NBAR識別功能:
Router(config)#ip nbar pdlm flash://bittorrent.pdlm
Router(config)#ip nbat pdlm flash://eDonkey.pdlm
//這裏要看你的pdlm下載到了什麼地方來決定是否用flash://
4. 定義class-map
class-map match-any vfast
match protocol bittorrent
mathc protocol eDonkey
5. 建立policy-map,將符合BT和電驢的信息丟掉
Plicy-map vfast-bit-edo
class vfast
dorp
6. 將做好的策略應用到端口中:
service-policy output vfast-bit-deo