网络安全是一个系统的概念,有效的安全策略或方案的制定,是网络信息安全的首要目标。
网络安全技术主要有,认证授权、数据加密、访问控制、安全审计等。
而提供安全网关服务的类型有:地址转换、包过滤、应用代理、访问控制和DoS防御。
本文主要介绍地址转换和访问控制两种安全网关服务,利用cisco路由器对ISDN拨号上网做安全规则设置。
试验环境是一台有fir ewall 版本IOS的cisco2621 路由器、一台交换机组成的局域网利用ISDN拨号上网。
一、地址转换我们知道,Internet 技术是基丁IP协议的技术,所有的信息通信都是通过IP包来实现的,每一个设备需要进行通信都必须有一个唯一的IP地址。
因此,当一个网络需要接入Inte rnet的时候,需要在Internet上进行通信的设备就必须有一个在全球Internet 网络上唯一的地址。
当一个网络需要接入Internet 上使用时,网络中的每一台设备都有一个I nternet 地址,这在实行各种Internet 应用上当然是最理想不过的。
但是,这样也导致每一个设备都暴露在网络上,任何人都可以对这些设备攻击,同时由丁I nternet目前采用的IPV4协议在网络发展到现在,所剩下的可用的IP地址已经不多了,网络中的每一台设备都需要一个IP 地址,这几乎是不可能的事情。
采用端口地址转换,管理员只需要设定一个可以用作端口地址转换的公有Internet 地址,用户的访问将会映射到IP池中IP的一个端口上去,这使每个合法Internet IP 可以映射六万多台部网主机。
从而隐藏部网路地址信息,使外界无法直接访问部网络设备。
Cisco路由器提供了几种NAT转换的功能:1、部地址与出口地址的——对应缺点:在出口地址资源稀少的情况下只能使较少主机连到internet 。
2、部地址分享出口地址路由器利用出口地址和端口号以及外部主机地址和端口号作为接口。
其中部地址的端口号为随机产生的大丁1024的,而外部主机端口号为公认的标准端口号。
这样可以用同一个出口地址来分配不同的端口号连接任意数量的部主机到外网。
具体配置:由丁实验用的是ISDN拨号上网,在internet 上只能随机获得出口地址,所以NAT转换的地址池设置为BRI 口上拨号所获得的地址。
interface FastEthernet0/0ip address 172.16.18.200 255.255.255.0ip nat inside the interface connected to inside world!interface BRI0/0ip address negotiatedip nat outside the interface connected to outside networkencapsulation pppno ip split-horizon dialer string 163dialer load-threshold 150 inbounddialer-group 1isdn switch-type basic-net3ip nat inside source list 1 interface BRI0/0 overloadaccess-list 1 permit 172.16.18.0 0.0.0.2553、部地址和外部地址出现交叠当部和外部用同一个网络段地址时,在地址没有重复的情况下,可以同时对外接口进行NAT转换使之可以正常通讯。
4、用一个出口地址映射部多台主机应用丁internet 上的大型有多台主机对应同一个系统的同一个出口地址。
可以用ship nat translation 和debug ip nat 命令来检查NAT的状O二、基丁上下文的访问控制( Context-based access control--CBAC )CISCO路由器的access-list 只能检查网络层或者传输层的数据包,而CBAC能够智能过滤基丁应用层的(如FTP连接信息)TCP和UDP的session ;CBAC能够在firewall access-list 打开一个临时的通道给起源丁部网络向外的连接,同时检查外两个方向的sessions 。
1、工作原理TCP 比如当CBAC配置丁连到internet 的外部接口上,一个从部发出的数据包(telnet 会话)经过该接口连出,同时CBAC的配置中已经包括了t cp inspection , 将会经过以下几步:(1) 数据包到达防火墙的外部接口(设为s0);(2) 数据包由该接口outbound access-list 检查是否允许通过(不通过的数据包在此被丢弃,不用经过以下步骤);(3) 通过access list 检查的数据包由CBAC检查来决定和记录包连接状态信息,这个信息被记录丁一个新产生的状态列表中为下一个连接提供快速通道;(4) 如果CBA以有定义对telnet 应用的检查,数据包可以直接从该接口送出;(5) 基丁第三步所获得的状态信息,CBAC 在s0的inbound access list中插入一个临时创建的access list 入口,这个临时通道的定义是为了让从外部回来的数据包能够进入;(6) 数据包从s0送出;(7) 接下来一个外部的inbound数据包到达s0 ,这个数据包是先前送出的telnet 会话连接的一部分,经过s0 口的access list 检查,然后从第五步建立的临时通道进入;(8) 被允许进入的数据包经过CBAC的检查,同时连接状态列表根据需要更新,基丁更新的状态信息,inbound access list 临时通道也进行修改只允许当前合法连接的数据包进入;(9) 所有届丁当前连接的进出s0 口数据包都被检查,用以更新状态列access list ,同时数据包被允许通过s0 口;表和按需修改临时通道的(10) 当前连接终止或超时,连接状态列表入口被删除,同时,临时打开的access list 入口也被删除。
需要注意的是:对于再己置至U s0 口outbound ip access list , accesslist必须允许所有需要的应用通过,包括希望被CBAC检查的应用;但是inbound ip access list 必须禁止所有需要CBAC检查的应用,当CBAC被出去的数据包触发后,会在inbound access list 中临时开放一个通道给合法的、正在传送的数据进入。
2、CBAC可提供如下服务(1) 状态包过滤:对企业部网络、企业和合作伙伴互连以及企业连接internet 提供完备的安全性和强制政策。
(2) Dos检测和抵御:CBAC通过检查数据报头、丢弃可疑数据包来预防和保护路由器受到攻击。
(3) 实时报警和跟踪:可配置基丁应用层的连接,跟踪经过防火墙的数据包,提供详细过程信息并报告可疑行为。
(4) 无缝兼容性:整和防火墙和其它cisco IOS软件丁一体;优化广域网利用率;提供强大的、可升级的路由选择etc。
(5) 支持VPN利用封装了防火墙版本的cisco Ios软件和Qos特性来保证在公共网络上传输数据的安全性,同时节省费用。
(6) 可升级配置:适用丁大部分路由器平台,cisco带防火墙版本的IOS可升级来满足网络带宽和性能的需要。
3、CBAC受到的限制(1) 仅适用丁IP数据流:只有TCP和UDP包被检测,其它如ICMP等不能被CBAC检测,只能通过基本的access lists 过滤。
(2) 如果我们在配置CBAC时重新更改access lists ,要注意:如果access lists 禁止TFTP数据流进入一个接口,我们将不能通过那个接口从网络启动路由器( netboot )。
(3) CBAC忽略ICMP unreachable 信息。
(4) 当CBAC检查FTP传输时,它只允许目的端口为1024 — 65535围的数据通道。
(5) 如果FTP客户端/服务器认证失败,CBAC'不会打开一条数据通道。
(6) IPSec和CBAC的兼容性:如果CBAC和IPSec配置丁同一台路由器上,只要对数据包的检查是在部网接口上进行的,而数据包加密是终止在外部网接口上的,那么I Psec和CBAC就能共存在该边界路由器上。
在这种方式下,检查的是不加密的数据流。
4、CBAC所需的存和性能有一些参数会影响CBAC所需的存和性能:(1) CBAC对每条连接使用600 byte 的存;(2) 在检查数据包的过程中,CBAC使用额外的CPU资源;(3) 尽管CBAC通过对access lists 的高效存储(对access list 进行散列索引,然后评估该散歹0) 来最小化其对资源的需求,它在access list检查过程中仍要使用一定的CPU资源。
5、配置CBAC第一步,CBAC用timeout 和threshold 值来管理会话,配置判断是否在会话还未完全建立的时候终止连接。
这些参数全局性地应用丁所有会话。
具有firewall feature 的cisco router12.0 以上版本的IOS缺省是起了IP INSPECT 抵御DoS进攻的。
当half-open 会话数量大到一定的程度往往意味着正在有。
敏击发生或某人正在做端口扫描,CBAC既监测half-open 会话总数也监测会话企图建立的速率。
以下是缺省配置:HpXg_1#sh ip inspect allSession audit trail is disabled (相关命令是ip inspect audit trail,是用来打开自动跟踪审计功能并将信息传送到console 口,缺省是disabled. )Session alert is enabledone-minute thresholds are [400:500] connections (相关命令是ipinspect one-minute high 500 和ip inspect one-minute low 400, 是将引起或导致路由器开始或停止删除half-open 会话的新增未建立会话的速率,即每分钟500/400个half-open 会话)max-incomplete sessions thresholds are [400:500] (相关命令是 ipinspect max-incomplete high 500,表示将引起路由器开始删除half-open 会话的已经存在的half-open 会话数500个;ip inspectmax-incomplete low 400 表示将导致路由器开始停止删除half-open 会话的已经存在的half-open 会话数)max-incomplete tcp connections per host is 50. Block-time 0 minute.(丰目关命令:ip inspect tcp max-incomplete host 50 block-time 0表示将引起路由器开始丢弃到同一目的主机地址的超过50个的 half-open 会话。