演示:基于上下文的访问控制(IOS防火墙的配置)


技术交流与答疑请加入群:1952289

思科IOS防火墙是属于思科IOS系统的一个重要安全特性,它被集成到思科的路由器中,作为一个安全特×××体现。虽然IOS防火墙只是IOS系统的一个特性集,但是它并不逊色于安全市场上某些专业级防火墙。思科基于IOS的防火墙组件包括:进行常规包过滤的访问控制列表、动态访问控制列表、日志系统、实时报警、审计系统、***检测系统、基于上下文的智能检测访问控制列表及NAT翻译系统等。本书主要讨论IOS防火墙组件中的基于上下文的智能检测控制列表CBAC,由于基于IOS的防火墙是路由器的一个特性集且功能强大,所以有较高的性价比,在不同的子网边界设置基于IOS的防火墙是一个良好的建议。


理解基于思科IOS防火墙的典型技术CBAC工作原理

以前使用比较多的是标准访问列表和扩展访问列表,这两种形式的列表都是静态的ACL过滤方式。这种静态的过滤方式在没有人工参与的情况下,系统不能根据实际情况的变化,动态调整ACL列表中的过滤条目。但在实际工作中往往需要更灵活的方式来提高系统的安全性,于是我们在思科的安全解决方案中提供了高级访问控制列表,以满足这样的需求。高级访问控制列表的基本要素是:在不需要管理员干预的情况下,自动对访问控制列表中的条目进行创建和删除,例如,反射访问控制列表、动态访问控制列表、基于环境的访问控制CBAC(Context-Based Access Control)等,都是在不对任何配置进行修改的情况下实时创建通道来提供访问机制的。这些通道通常是为响应内部网络向外部网络发出的访问请求而创建的。当启动通道的会话终止,或该通道闲置时间超过一个设定值后,通道将被关闭。其具体工作原理如图10.29所示。建议启动CBAC时在防火墙的外部接口上拒绝所有的进入内部网络的流量,这样可以保证从Internet发向内部网络的主动连接全部被拒绝,当然这些主动连接的会话中,也包括***流量。

演示:基于上下文的访问控制(IOS防火墙的配置)_第1张图片

第一步:首先由内部网络中的主机向外部网络发起某项服务的主动连接请求。



第二步:启动思科IOS防火墙的路由器将内部网络发来的连接进行出方向的审计,根据思科IOS防火墙的安全自适应算法,打乱用于重组TCP数据包的序列号,并记录TCP数据包的初始标记状态。



第三步:基于IOS的防火墙转发连接到外部网络的目标地址。



第四步:外部网络返回的应答数据到达IOS的防火墙。正常情况下,IOS防火墙的外部接口应该是拒绝所有从外部网络主动流向防火墙内部的流量。


第五步:此时基于IOS的防火墙会检查先前连接的出向审计状态,查看数据是否符合内部网络主动发起并由外部网络回应到内部的连接。其中将包括数据连接状态连接标记的合法性。如果检测成功,基于IOS的防火墙会在外部网络接口上打开一个临时的会话隧道,让数据返回到内部网络。该会话隧道在外部网络接口的访问控制列表生效之前被执行,优先于常规的访问控制列表。


第六步:基于IOS的防火墙将数据返回给内部网络主机。



注意:CBAC(Context-Based Access Control)只是IOS防火墙技术中的一种典型应用,一个完整的IOS防火墙,还包括***检测、拒绝服务式***检测、阻塞Java程序、实时报警和审计跟踪、事件日志记录、NAT等应用,所以不能将CBAC看成一个完整的IOS防火墙,这是一个误区。



CBAC与自反ACL的区别在哪里?

通过上面对CBAC工作原理的描述,它看上去和自反ACL的工作原理很相似,那么,它们的区别在哪里?CBAC能在应用层协议的基础上增强全安性,能够智能的识别会话,特别是在会话协商阶段端口发生变化的应用层协议比如主动FTP,关于这一点自反ACL是无法识别主动FTP的,但是CBAC能做到。此外CBAC还能配置更多的安全组件功能协同工作,比如:Java小程序的过滤、设定TCP半开会话的数量、UDP的超时、并提供监视与消息发送功能,关于这一些功能,单纯的自反ACL是无法满足的,简而言之、CBAC比自反ACL的安全联动性更强、识别方式更智能、控制和过滤方式更广泛。


演示:思科IOS防火墙的基本配置


演示目标:思科IOS防火墙上CBAC控制列表的基本配置。

演示环境:如下图10.30所示的演示环境。

演示:基于上下文的访问控制(IOS防火墙的配置)_第2张图片

演示背景:如上图所示的环境,在路由器上配置基于IOS的防火墙功能CBAC,将网络划分成外部网络(非安全区域);内部网络(安全区域);然后在基于IOS防火墙路由器的外部接口上拒绝所有的TCPUDPICMP流量,在没有启动CBAC之前测试内外网络的连通性状况,最后在启动CBAC之后再来测试内外网络的连通性状况,去体会CBAC的工作过程与应用效果。而在这个过程中,用户需要注意的是CBAC在接口上的应用方向。

演示步骤:


第一步:完成实验所需要的基本配置,然后配置基于思科IOS防火墙的CBAC功能,具体配置包括:接口IP地址的配置、路由协议的启动,并在IOS防火墙的外部拒绝所有的TCP、UDP、ICMP流量进入防火墙的E1/0接口(该接口为CBAC的外部网络接口),具体配置如下:


关于IOS防火墙上的基础配置:

interface Ethernet1/0

ip address172.16.1.1 255.255.255.0

ip access-group 101 in


interfaceEthernet1/1

ip address172.16.2.1 255.255.255.0


access-list 101 denytcp any any

access-list 101 denyudp any any

access-list 101 denyicmp any any


注意:此时172.16.1.0/24子网的所有TCP、UDP、ICMP流量都无法进入172.16.2.0/24的子网,因为在IOS防火墙的E1/0接口上的访问控制列表deny(拒绝)上述所有流量。当172.16.2.0/24的子网上发出ping 172.16.1.3主机时,也不会ping通。因为172.16.2.0/24子网的ICMP请求流量能到达172.16.1.0/24子网,虽然没有任何访问控制列表限制172.16.2.0子网的任何流量穿越IOS防火墙,主动流向172.16.1.0子网。但最终IOS防火墙的E1/0接口的访问控制列表将deny 172.16.1.0/24子网回应给172.16.2.0的ICMP应答流量。


第二步:配置IOS的防火墙,并将其应用到E1/0的出方向上。配置如下:


关于CBAC的配置:

IOS_FW(config)#ipinspect name IOS_FW icmp * 审计ICMP流量

IOS_FW(config)#ipinspect name IOS_FW tcp * 审计TCP流量

IOS_FW(config)#ipinspect name IOS_FW udp * 审计UDP流量


IOS_FW(config)#interface Ethernet1/0

IOS_FW(config–if )#ip inspect IOS_FW out * 指示CBAC的应用方向

IOS_FW(config–if )#ip access-group 101 in


指令ip inspect nameIOS_FW配置CBAC控制列表的名称为“IOS_FW”;ip inspect name IOS_FW icmp、ip inspect nameIOS_FW tcp和ip inspect name IOS_FW udp指示基于IOS的防火墙将审计ICMP、TCP和UDP流量;ip inspect IOS_FW out指示在路由器的E1/0接口的外部网络接口上应用审计功能。需要注意的是,该演示环境在路由器的E1/0接口应用审计方向是“Out”。对于初次配置思科IOS防火墙的用户可能会有这样的疑问:“应该将CBAC的功能应用在IOS防火墙的E1/0(防火墙的外部接口)的进入方向,以便抵御从外部发起的主动***。但为什么这里会应用到E1/0接口的出方向上?”笔者想要回答的是,千万别把CBAC理解成常规的访问控制列表,CBAC必须要先审计由内部网络主动发向外部网络的流量,并将其作为返回到内部网络的安全规则,这里需要记录审计结果以作为先决条件,然后决定CBAC的应用方向是IOS防火墙的E1/0的“Out”还是E1/1的“In”。选定正确的参考点就可以清晰地理解这个原理,如下图10.31所示。完成第二步的配置后,再次到172.16.2.0/24子网上的主机向172.16.1.3主机发出ping,如果CBAC没有配置错误,此时应该能ping通。

演示:基于上下文的访问控制(IOS防火墙的配置)_第3张图片

第三步:请思考:“为什么完成了第二步的配置后,内部网络主机172.16.2.0/24子网就能ping通外部网络172.16.1.0/24子网的主机?”这是因为基于思科IOS的防火墙CBAC为其建立了一个临时会话隧道,此处可以使用“show ip inspect sessions detail”指令来查看会话的信息,如10.32所示。如果此时,从172.16.1.0外部网络主动访问172.16.2.0的内部网络,那么,这些主动访问的流量都将被CBAC所拒绝,除非,在ACL101中明确申明允许进入内部网络的流量。

演示:基于上下文的访问控制(IOS防火墙的配置)_第4张图片

注意:CBAC除了可以审计上述实例中的ICMP、TCP、UDP流量以外,还可以审计更多基于IP协议的重要网络流量与程序。



表10.32所列举的各种应用程序与网络协议是现代化企业网络常用的技术标准,但是整个基于思科IOS防火墙可防御与审计功能不止这些,它拥有更广泛的应用空间,并且具备针对访问Internet流量进行实时审计的行为,如过滤网站、过滤Java的脚本等,具体可参考随书光盘提供关于CBAC配置的详细文档。


演示:基于上下文的访问控制(IOS防火墙的配置)_第5张图片

演示:基于上下文的访问控制(IOS防火墙的配置)_第6张图片