在路由器上实现防火墙功能

2017-11-22 07:51
网络安全和信息化 2017年4期
关键词:访问控制列表路由器

思科路由器除支持丰富的路由协议外,还提供了基础的安全防护功能,可以在一定程度上代替防火墙,建立第一道安全防护屏障,对于安全防护措施不是太苛刻的小型网络来说已经足够。就以笔者单位思科 7609路由器(IOS版本为12.2<33>SRB4)为例,通过设置访问控制列表、网络地址转换等,让路由器实现基本防火墙功能。

数据包过滤功能

通过访问控制列表(Access Control List)实现数据包过滤功能。该方法是在路由器上读取网络层及传输层数据包中源地址、目的地址、源端口和目的端口等信息,根据预先定义好的规则对数据包进行处理,从而实现对数据包分析过滤。

思科 7609支持标准访问控制列表、扩展访问控制列表、扩展MAC地址访问控制列表、速率限制访问控制列表和动态扩展访问控制列表等。这里介绍标准访问控制列表和扩展访问控制列表设置方法。

标准访问控制列表序号从1-99,只定义允许或禁止某一个网段或某一个主机访问。禁止192.168.1.1的用户主机进入eth1/0接口只需两步。

第一步:定义访问控制列表

扩展访问控制列表序号从100-199,扩展访问控制列表能够完成从源地址到目的地址,从IP层到传输层的数据包过滤功能。例如若需要禁止C类地址192.168.1.0进入eth1/0访问192.168.2.0网段则只需执行以下命令:

首先是定义访问控制列表:

基于访问控制列表,路由器可以对一些常见的病毒进行过滤。比如,冲击波病毒使用 TCP和 UDP的 135、136、137、138、139 及 445 端 口 进行传播,如果在路由器上禁止上述端口的数据包通过,就可以防范该病毒的攻击,下面就以过滤TCP和UDP的135端口为例,制定访问控制列表如下:

Router(config)#Access-list 110 deny tcp any any eq 135

Router(config)#Access-list 110 deny udp any any eq 135

过滤其他TCP和UDP端口的方法和上面例子一样,制定好访问控制列表后就将该访问控制列表应用到指定的接口上即可生效。

NAT功能

NAT(Network Address Translator)即网络地址转换,其原理是将内部网络地址转换为外部网络地址,从而使内部网络用户使用一个或多个外部IP地址与外部网络通信。使用NAT技术一方面可解决因特网地址较少的问题;另一方面,使用外部网络地址访问外部网络,可以很好地隐藏内部网络结构,从而达到保护内部网络的目的。

思科7609提供的NAT类型有三种:静态NAT、动态NAT和网络地址端口转换NAPT。静态NAT是将内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。动态地址NAT是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。动态NAR较为常用,配置步骤如下:

第一步:定义映射到外部的地址池,其中PoolName为自定义的地址池名字,startIP为起始IP地址,endIP为结束IP地址。

ip nat pool PoolName startIP endIP netmask 255.255.255.0

第二步:允许转换的内部地址范围,这里允许的地址范围为一个C类地址段192.168.1.0。

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

第三步:指定内部接口。

Router(config)#inter face g0/0

Router(config-if) #ip nat inside

第四步:指定外部接口。

Router(config)#inter face s0/0/0

Router(config-if) #ip nat outside

第五步:配置动态映射,将内部地址映射到外部地址池。

Router(config)#ip nat inside source list 1 pool PoolName

基于上下文的访问控制功能

思科7609路由器支持基于上下文的访问控制(Context Based Access Control,CBAC)技术,启用该功能,可以抵御DoS攻击,其原理是在报文进入或离开指定接口时对报文进行检测,将报文的有关信息存放在状态信息表中,包括报文的源地址、目的地址以及TCP、UDP的端口号等。利用该状态表创建临时开启表项,用于检查返回的流量,临时表项被放在接受返回流量的接口上。当连接完成时,状态表和访问表中的相关表项被清除。对于TCP,这些表项会在客户和服务器之间交换一个正常的FIN之后被清除,而对于UDP,则可配置不活跃的超时值。CBAC配置示例如下:

基于网络的应用识别功能

基于网络的应用识别(Network Based Application Recognition,NBAR)是思科路由器IOS从12.1版本开始支持的一个流量分类引擎技术。该技术通过查看数据包的前512个字节,可以检测识别各种应用协议,并在路由器内建立一个协议到端口的映射表,之后用户就可以利用classmap类别映射去匹配这些相应的协议,以实现带宽控制、流量整形和包丢弃等防火墙策略。

该技术既支持使用固定端口的常见应用层协议如 HTTP、FTP、H232等,也支持一些经常更换端口的应用层协议,如BT等。对新出现的协议,用户还可以到思科公司网站下载最新的包描述语言模块(Packet DescriptionLanguage Module,PDLM)文件,对内建协议到端口映射表进行更新,从而使路由器对最新出现的协议类型进行识别和判定。如果要对网内FTP占用接口最大带宽限制为10%,可以按以下步骤设置:

1.定义映射的类(或应用协议),其中ClassName为类名, FTP为需要识别的应用协议。

2.定义类所适用的策略,其中PolicyName为策略名,其具体含义为:定义定义一个策略PolicyName,然后将上面定义的类ClassName,也就是FTP协议放到这个策略中,并给这个类分配占用接口最大带宽限制为10%的带宽。

TCP拦截功能

TCP拦截主要作用就是防止SYN泛洪攻击。SYN攻击利用TCP的三次握手机制,用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,被攻击端在等待关闭此连接过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。开启TCP拦截分为三个步骤:

第一步是设置TCP拦截的工作模式。

TCP拦截的工作模式分为拦截和监视。拦截模式下,路由器审核所有的TCP连接,自身的负担加重,所以一般让路由器工作在监视模式,监视TCP连接的时间和数目,超出预定值则关闭连接。

Router(config)#ip tcp intercept mode(intercept|watch)

第二步是设置访问表,以开启需要保护的主机。

Router(config)#a c c e s s-l i s t 1 0 1 permit tcp any host 219.148.150.126

第三步是开启TCP拦截。

Router(config)#ip tcp intercept list accesslist-number

猜你喜欢
访问控制列表路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
学习运用列表法
扩列吧
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现