分类: LINUX
2009-06-23 14:59:37
NBAR能够动态的寻找并分类通过路由器的四到七层流量中的协议,可以识别动态分配TCP和UDP端口号的有状态应用(如P2P类文件共享程序),可以识别常用的TCP和UDP协议的端口号及其他类型的三层协议、包含在应用层数据里的命令等。NBAR还可以用于识别攻击流量,并在确认流量为恶意流量之后,进行丢弃。
通过和数据包描述语言模块(PDLM)配合,NBAR可以拥有更加强大的功能。PDLM是已经定义好的用于增强NBAR网络协议分析和应用的识别能力的模块,在CISCO官方网站上提供了很多已经定义好的PDLM,可以使用CCO号登陆CISCO网站进行下载。通过加载PDLM可以增强NBAR的能力,而不需要重装CISCO IOS软件。下载到需要的PDLM模块文件后,可以使用TFTP方式COPY模块到路由器的FLASH中,然后使用ip nbar pdlm [模块名] 命令进行加载。PDLM还允许管理员自定义协议和端口号对特定的流量进行审查。
使用NBAR功能,首先要在路由器启动CISCO快速转发功能,然后根据需要审查的流量使用class-map建立审查分组(类), 可以具体的定义需要审查何种应用类型,数据包长度,连接地址等。完成了流量分类,就可以通过定义policy-map来指定各种流量对应的安全规则,比如对于攻击流量进行丢弃,使用带宽管制对可疑流量进行带宽限制。最后需要在接口下启用流量策略。
NBAR也有很多缺陷,例如不支持HOST或MINE的匹配类型,不支持非IP流量,不支持组播或其他非CEF的交换模式,不支持被分片的数据包等。NBAR特性不被逻辑接口支持,包括快速以太网信道、TRUNK接口、交换虚接口等。
NBAR配置实例:
使用NBAR阻止TELNET流量。
R1的基本配置:
Router(config)#hostname R1
R1(config)#interface s0/0
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2
R2的基本配置:
Router(config)#hostname R2
R2(config)#interface s0/1
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.1
配置TELNET登录密码:
R1(config)#line vty 0 15
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit
定义审查类
R1(config)#class-map telnet
R1(config-cmap)#match protocol telnet 匹配所有的telnet流量
R1(config-cmap)#exit
定义行为
R1(config)#policy-map telnet
R1(config-pmap)#class telnet
R1(config-pmap-c)#drop 定义行为为丢弃
R1(config-pmap-c)#exit
R1(config-pmap)#exit
作用在接口下:
R1(config)#interface s0/0
R1(config-if)#service-policy input telnet
R1(config-if)#exit
测试:
R2#telnet 10.0.0.1
Trying 10.0.0.1 ...
% Connection timed out; remote host not responding