CiscoIOS防火墙:CBAC简单配置

来源:网络发布时间:2010-02-22

  实验是用dynamips gui 做的  虽然截图是packet tracer   但是 PT不支持这个。

  CBAC: 是Cisco IOS防火墙特性集一个高级防火墙模块:(context-based access control)即基于上下文的访问控制,它不同于ACL(访问控制列表),并不能用来过滤每一种TCP/IP协议,但它对于运行TCP、UDP应用或某些多媒体应用(如Microsoft的NetShow或Real Audio)的网络来说是一个较好的安全解决方案。除此之外,CBAC在流量过滤、流量检查、警告和审计蛛丝马迹、入侵检测等方面表现卓越。在大多数情况下,我们只需在单个接口的一个方向上配置CBAC,即可实现只允许属于现有会话的数据流进入内部网络。可以说,ACL与CBAC是互补的,它们的组合可实现网络安全的最大化。

  CISCO路由器的 access-list只能检查网络层或者传输层的数据包,而CBAC能够智能过滤基于应用层的(如FTP连接信息)TCP和UDP的 session;CBAC能够在firewall access-list 打开一个临时的通道给起源于内部网络向外的连接,同时检查内外两个方向的sessions。

  CBAC可提供如下服务:(1)状态包过滤:对企业内部网络、企业和合作伙伴互连以及企业连接internet提供完备的安全性和强制政策。(2)Dos检测和抵御:CBAC通过检查数据报头、丢弃可疑数据包来预防和保护路由器受到攻击。(3)实时报警和跟踪:可配置基于应用层的连接,跟踪经过防火墙的数据包,提供详细过程信息并报告可疑行为。

  先建立如图1的拓扑并使之互相可以访问通信。在路由器上做如下配置:

 

 

  Router(config)#access-list 101 permit tcp any host 192.168.0.1 eq www  定义任何人都可以访问内网web服务

  Router(config)#access-list 101 deny ip any any  拒绝其他IP通信

  Router(config)#int f0/0

  Router(config-if)#ip access-group 101 out  应用到F0/0端口相对于ACL来说 是出方向

  Router(config-if)#exit

  CBAC的检测规则可以指定所有网络层以上的协议,通过ACL检查的数据包由CBAC检查来记录包连接状态信息,这个信息被记录于一个新产生的状态列表中

  Router(config)#ip inspect name asha http

  Router(config)#ip inspect name asha icmp

  Router(config)#ip inspect name asha tcp

  Router(config)#ip inspect name asha udp

  Router(config)#int f0/0

  Router(config-if)#ip inspect asha in  应用到CBAC相对应的进方向

  Router(config-if)#exit

  CBAC使用超时值和阈值确定会话的状态及其持续的时间.可清除不完全会话和闲置会话,用以对Dos进行检测和防护.

  Router(config)#ip inspect max-incomplete high 500 当半开会话数超过500时开始删除

  Router(config)#ip inspect max-incomplete low 400  当半开会话数低于400时停止删除

  Router(config)#ip inspect one-minute high 500   设置当开始删除半开会话数时接受的会话数的速率

  Router(config)#ip inspect one-minute low 400    设置当停止开始删除半开会话数时接受的会话数的速率

  之后发现,外网的主机ping不同内网主机,按理来说就不可能访问外网web服务器了,如图4内网主机依然可以访问外网web服务器。

  Router#show ip inspect sessions detail 用来查看连接状态表的统计信息,包括所有会话

  Established Sessions

  Session 140798744 (192.168.0.2:1029)=>(192.168.1.2:http SIS_OPEN

  Created 00:00:02, Last heard  00:00:02

  Bytes sent (initiator:responder) [360:360]

  Out SID 192.168.1.2[0:0]=>192.168.0.2[0:0] on ACL 101 (3 matches)

  会发现CBAC维持具有连接信息的会话状态表,只有当状态表中的一个条目表明此分组属于某个被允许的会话,会在防火墙中制造一个动态的通路,供返回流量使用