网络安全是一个系统的概念,有效的安全策略或方案的制定,是网络信息安全的首要目标。 网络安全技术主要有,认证授权、数据加密、访问控制、安全审计等。而提供安全网关服务的类型有:地址转换、包过滤、应用代理、访问控制和D oS防御。本文主要介绍地址转换和访问控制两种安全网关服务,利用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/0
  ip address 172.16.18.200 255.255.255.0
  ip nat inside the interface connected to inside world
  !
  interface BRI0/0
  ip address negotiated
  ip nat outside the interface connected to outside network
  encapsulation ppp
  no ip split-horizon
  dialer string 163
  dialer load-threshold 150 inbound
  dialer-group 1
  isdn switch-type basic-net3
  
  ip nat inside source list 1 interface BRI0/0 overload
  access-list 1 permit 172.16.18.0 0.0.0.255
  
  3、内部地址和外部地址出现交叠
  当内部和外部用同一个网络段地址时,在地址没有重复的情况下,可以同时对内外接口进行NAT转换使之可以正常通讯。
  
  4、用一个出口地址映射内部多台主机
  应用于internet上的大型网站有多台主机对应同一个系统的同一个出口地址。
  可以用sh ip nat translation 和debug ip nat 命令来检查NAT的状态。
  
  二、基于上下文的访问控制(Context-based access control--CBAC)
  CISCO路由器的access-list只能检查网络层或者传输层的数据包,而CBAC能够智能过滤基于应用层的(如FTP连接信息)TCP和UDP的sessi on;CBAC能够在firewall access-list 打开一个临时的通道给起源于内部网络向外的连接,同时检查内外两个方向的sessions。
  
  
  
  1、工作原理
  比如当CBAC配置于连到internet的外部接口上,一个从内部发出的TCP数据包(telnet会话)经过该接口连出,同时CBAC的配置中已经包括了t cp inspection,将会经过以下几步:
  (1)数据包到达防火墙的外部接口(设为s0);
  (2)数据包由该接口outbound access-list检查是否允许通过(不通过的数据包在此被丢弃,不用经过以下步骤);
  (3)通过access list检查的数据包由CBAC检查来决定和记录包连接状态信息,这个信息被记录于一个新产生的状态列表中为下一个连接提供快速通道;
  (4)如果CBAC没有定义对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入口也被删除。
  需要注意的是:对于配置到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)支持×××:利用封装了防火墙版本的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进行散列索引,然后评估该散列)来最小化其对资源的需求,它在access list检查过程中仍要使用一定的CPU资源。
  5、配置CBAC
  第一步,CBAC用timeout 和threshold值来管理会话,配置判断是否在会话还未完全建立的时候终止连接。这些参数全局性地应用于所有会话。具有firewall feature的cisco router12.0以上版本的IOS缺省是起了IP INSPECT 抵御DoS进攻的。当half-open会话数量大到一定的程度往往意味着正在有DOS***发生或某人正在做端口扫描,CBAC既监测half-open会话总数也监测会话企图建立的速率。以下是缺省配置:
  HpXg_1#sh ip inspect all
  Session audit trail is disabled(相关命令是ip inspect audit trail,是用来打开自动跟踪审计功能并将信息传送到console口,缺省是disabled.)
  Session alert is enabled
  one-minute thresholds are [400:500] connections(相关命令是ip inspect one-minute high 500和ip inspect one-minute low 400,是将引起或导致路由器开始或停止删除half-open会话的新增未建立会话的速率,即每分钟500/400个half-open会话)
  max-incomplete sessions thresholds are [400:500](相关命令是ip inspect max-incomplete high 500,表示将引起路由器开始删除half-open会话的已经存在的half-open会话数500个;ip inspect max-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会话。如果block-time值为0表示到某个目的主机的每条连接请求,C BAC会删除到该主机的最老的已存在的half-open会话,并让该SYN包通过;如果block-time值大于0表示CBAC将删除到该目的主机的所有已存在的h alf-open连接,并阻拦所有新的连接请求直到block-time值超时)。
  tcp synwait-time is 30 sec(ip inspect tcp synwait-time 30:表示路由器在阻断会话前等待TCP会话达到连接建立状态的时间)
  tcp finwait-time is 5 sec(ip inspect tcp finwait-time 5:表示防火墙检测到一个FIN标志后仍继续管理TCP会话的时间长度)
  tcp idle-time is 3600 sec(ip inspect tcp idle-time 3600:在没有TCP连接后仍继续管理TCP会话的时间长度)
  udp idle-time is 30 sec(ip inspect udp idle-time 30:在UDP会话停止后仍继续管理UDP会话信息的时间长度)
  dns-timeout is 5 sec(ip inspect dns-timeout 5:DNS名字查询停止后仍继续被管理的时间)
  设置timeout值可以通过丢弃超过时限的会话来有效阻止DoS***释放系统资源,设置threshold值可以通过限制half-open会话的数量来阻止D oS***。CBAC提供三种threshold值来抵御DOS***:1、最大half-open 的TCP或UDP会话的数量。2、基于时间的half-open会话数量。3、每个host可以打开的TCP half-open会话的数量。对于超过threshold值的连接,CBAC会初始化旧的half-open连接,释放资源接受新的要求同步的数据包。
  第二步:配置access list
  access-list 101 permit icmp any any echo
  access-list 101 permit icmp any any echo-reply
  access-list 101 permit icmp any any unreachable
  access-list 101 permit icmp any any time-exceeded
  access-list 101 permit icmp any any packet-too-big
  access-list 101 permit icmp any any traceroute(以上命令允许ping包通过,主要用来排错,如果没有必要上述命令可以不做)
  access-list 101 permit any any eq smtp(允许在邮件服务器上的安全验证)
  access-list 101 deny ip any any log(CBAC要求禁止其他所有进入的ip包)
  第三步:根据实际环境定义一个检查规则。
  ip inspect name CBAC fragment maximum 256 timeout 1 (此命令12.1以后的版本出现,防止分段***)
  ip inspect name CBAC smtp
  ip inspect name CBAC ftp
  ip inspect name CBAC http
  ip inspect name CBAC tcp (进入的数据包必须与先前流出的数据包有相同的源/目的地址和端口号(源和目的对调),否则就被丢弃)
  ip inspect name CBAC udp timeout 5(如果配置了timeout值,那么应答数据包是在最后的UDP请求包被送出后的预定时间范围内收到的,就被允许通过防火墙返回)
  第四步:把检查规则定义到一个接口上。
  interface BRI0/0
  ip address negotiated
  ip access-group 101 in
  ip nat outside
  ip inspect CBAC out
  
  做完以上配置后,实际运行中路由器显示的log如下:
  04:20:27: %FW-6-SESS_AUDIT_TRAIL: http session initiator (172.16.18.1:1426) sent 656 bytes -- responder (202.108.36.156:80) sent 30740 bytes
  04:20:39: %SEC-6-IPACCESSLOGP: list 101 denied tcp 202.104.128.164(2933) -> 202.104.47.135(80), 1 packet
  04:20:48: %SEC-6-IPACCESSLOGP: list 101 denied tcp 64.4.13.87(1863) -> 202.104.47.135(1026), 1 packet
  04:22:52: %SEC-6-IPACCESSLOGP: list 101 denied tcp 202.104.128.164(2933) -> 202.104.47.135(80), 1 packet
  04:23:03: %FW-6-SESS_AUDIT_TRAIL: tcp session initiator (172.16.18.1:1433) sent 77 bytes -- responder (202.108.44.205:110) sent 45379 bytes
  04:23:09: %FW-6-SESS_AUDIT_TRAIL: tcp session initiator (172.16.18.1:1435) sent 61 bytes -- responder (202.104.32.234:110) sent 1056 bytes
  04:23:22: %FW-6-SESS_AUDIT_TRAIL: udp session initiator (172.16.18.1:1431) sent 29 bytes -- responder (202.96.128.68:53) sent 240 bytes
  04:23:35: %SEC-6-IPACCESSLOGP: list 101 denied tcp 202.104.180.199(1262) -> 202.104.47.135(80)!
  最后,可以用debug ip inspect detail来调试CBAC。

转载于:https://blog.51cto.com/12335/17202

Cisco IOS防火墙的安全规则和配置方案相关推荐

  1. Cisco ASA防火墙基础

    Cisco ASA防火墙基础 1.Cisco 防火墙简介: 硬件与软件防火墙: .软件防火墙: Cisco新版本的IOS软件提供了IOS防火墙特性集,它具有应用层智能状态监测防火墙引擎. Cisco  ...

  2. 【实验】配置CISCO IOS基于区域的防火墙

    欢迎关注微信公众号[厦门微思网络].www.xmws.cn专业IT认证培训19周年 主要课程:思科.华为.红帽.ORACLE.VMware.CISP.PMP等认证培训及考证 配置需求 配置CISCO ...

  3. Cisco PIX防火墙配置命令大全

    Cisco PIX防火墙配置命令大全 来源: 作者:XUEYAN 出处:巧巧读书 2007-04-26 进入讨论组 关 键 词:子网掩码   协议   路由器   服务器   访问控制    一.PI ...

  4. CISCO PIX防火墙的配置

    硬件防火墙,是网络间的墙,防止非法侵入,过滤信息等,Cisco PIX防火墙操作系统跟Cisco IOS相似,都是用命令行的方式来进行操作.用配置线从电脑的COM2连到防火墙的console口,进入P ...

  5. [转]CISCO IOS命名规则

    详细介绍CISCO IOS命名规则 首先说说IOS的运行平台,c2500.c2600.c4500.c2950代表运行此IOS的硬件平台,例如:C2500指2500系列路由器. 其次,看看IOS的版本, ...

  6. 详细介绍CISCO IOS命名规则

    首先说说IOS的运行平台,c2500.c2600.c4500.c2950代表运行此IOS的硬件平台,例如:C2500指2500系列路由器.% y( h* g1 F* ^1 g; c 其次,看看IOS的 ...

  7. Cisco IOS 命名规则(整理版)

    思科IOS软件命名规则简单介绍: AAAAA-BBBB-CC-DDDD.EE 1.  AAAAA    这组字符是说明文件所适用的硬件平台, 2.  BBBB       这组字符是说明这个IOS中所 ...

  8. 服务器站点间信息交换服务,运行 Cisco IOS 的 Cisco Catalyst 交换机与工作站或服务器之间的 EtherChannel 配置示例...

    此配置示例描述如何在运行 Cisco IOS 软件的 Cisco Catalyst 交换机和工作站或服务器之间建立 EtherChannel. EtherChannel 允许将多条物理以太网链路组合到 ...

  9. 思科服务器网关配置文件,对 Syslog 服务器与 Cisco IOS 网关的 CDR 登录配置

    客户有时需要通过 IP 语音 (VoIP) 系统记录呼叫详细记录 (CDR),以实现记帐或计费目的.执行此操作的建议方式是使用外部验证.授权和记帐(AAA)服务器(RADIUS或TACACS). 这些 ...

最新文章

  1. 英特尔诺基亚将联手开发智能手机
  2. windows 2008 r2 mysql 速度很慢_Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法...
  3. java ast 添加注解_基于AST的组件化自动插桩方案
  4. Flowable V5.x迁移至Flowable V6时需要注意的事项
  5. vc设置窗口在另一个窗口前面_日常办公如何设置IE
  6. 零基础学Python(第八章 for循环·超重点,本章会有几个简单的单层循环练习,后续会有针对算法的单独章节)
  7. linux内存剩余量为什么这么少,为什么我的Linux系统中空闲内存如此之少?
  8. css文本行高是哪个属性_CSS中的line-height行高属性的使用技巧小结
  9. 界面设计与测试的规范
  10. access和mysql4注入小技巧
  11. 参数方法(parameter)与非参数方法(nonparameter)
  12. 除了停电之外,今年的CES还有这些“意外”……
  13. python 屏幕代码雨效果(已验证)
  14. Visio 2013导入图库
  15. u深度重装系统详细教程_u深度u盘装系统教程|u深度怎么装系统详细步骤
  16. 源代码安全检测工具PC_Lint与ITS4实例 zz
  17. layui表格 设置默认排序_改造 layui 表格组件实现多重排序
  18. JavaScript高级笔记_002_构造函数和原型
  19. safari 扩展_为什么构建Safari应用扩展程序是2020年的噩梦
  20. matlab 画心形图片

热门文章

  1. 通过Redis、Memcache的 incr 原子操作防刷机制的使用差别
  2. vs2010如何安装qt插件
  3. zepto中的tap穿透
  4. 一款可视化的在线制作H5
  5. ELK日志管理之——kibana部署
  6. iOS NSURLCache
  7. Linux文件目录及其作用
  8. Mysql的sql语句,Delete 中包含 not in
  9. Java 8 (10) CompletableFuture:组合式异步编程
  10. idea git 发起一个pull request 请求