一.什么是NBAR?
基于网络的应用程序识别(NBAR)可以对使用动态分配TCP/UDP端口号的应用程序和HTTP流量等进行分类.在使用NBAR的时候要先启用CEF特性.
数据包描述语言模块(PDLM)从路由器的闪存里加载,用于在不使用新的Cisco IOS软件,或重启路由器的情况下对新的协议或应用程序进行识别.
二.NBAR的限制?
NBAR不能在以下几种逻辑接口上使用:
1.快速以太网信道.
2.使用了隧道或加密技术的接口.
3.SVI.
4.拨号接口.
5.多链路PPP(MLP).
NBAR的一些限制:
1.不支持多于24个的并发URL,HOST或MINE的匹配类型.
2.不支持超过400字节的URL匹配.
3.不支持非IP流量.
4.不支持组播或其他非CEF的交换模式.
5.不支持被分片的数据包.
6.不支持源自或去往运行NBAR的路由器的IP流量.
三.如何配置NBAR?
配置NBAR的基本步骤:
1.启用CEF特性:
Aiko(config)#ip cef
2.把流量分类,定义class map:
Aiko(config)#class-map [match-allmatch-any] {map-name}
3.定义NBAR要匹配的协议:
Aiko(config-cmap)#match protocol {protocol}
4.设置policy map:
Aiko(config)#policy-map {policy-name}
5.调用class map:
Aiko(config-pmap)#class {class-map}
6.设置策略:
Aiko(config-pmap-c)#{action}
7.把策略应用在接口上:
Aiko(config-if)#service-policy {inputoutput} {policy-map}
四.用NBAR来防止红色代码(Code Red)和尼姆达(Nimda)蠕虫病毒的例子:
!
ip cef
!
class-map match-all DENY-ATTACK
match protocol http url "*.ida*"
match protocol http url "*cmd.exe*"
match protocol http url "*root.exe*"
match protocol http url "*readme.eml*"
!
policy-map Aiko
class DENY-ATTACK
drop
!
interface Serial0
ip address 10.0.0.1 255.255.255.252
service-policy input Aiko