• Lab CBAC


    CCNA实验三十七 CBAC(基于上下文的访问控制)
     
    环境: Windows XP 、PacketTracert 5.3
     
    目的:
          了解CBAC的基本原理而后基本配置,在CCNA阶段接触一些基本的防火墙安全配置的知识
     
    说明:
        CBAC即基于上下文的访问控制协议,通过检查防火墙的流量来发现管理TCP和UDP的会话状态信息。这些状态信息被用来在防火墙访问列表创建临时通道。通过在流量向上配置ip inspect列表,允许为受允许会话放回流量和附加数据连接,打开这些通路。受允许会话是指来源于受保护的内部网络会话。它不能用来过滤每一种TCP/IP协议,但它对于运行TCP、UDP应用或某些多媒体应用(如Real Audio)的网络来说是一个较好的安全解决方案。有时我们可能需要为某些应用在一个方向上限制数据流,并为其它应用在反方向上限制数据流,这时只需在单个接口的一个方向上配置CBAC,即可实现只允许属于现有会话的数据流进入内部网络,用户可以在一个或多个接口的2个方向上配置CBAC。配置数据流过滤的第一步是决定是否在防火墙的一个内部接口或外部接口上配置CBAC。在该环境下,所谓“内部”是指会话必须主动发起以让其数据流被允许通过防火墙的一侧;“外部”是指会话不能主动发起的一侧(从外部发起的会话被禁止)。如果要在2个方向上配置CBAC,应该先在一个方向上使用适当的“Internal”和“External”接口指示配置CBAC。在另一个方向上配置CBAC时,则将该接口指示换成另一个。 可以说,ACL与CBAC是互补的,把两者合理的组合起来可使网络更加安全。
        特别要注意的是,CBAC只能用于IP数据流。只有TCP和UDP数据包能被检查,其他IP数据流 (如ICMP)不能被CBAC检查,只能采用基本的访问控制列表对其进行过滤。在不做应用层协议审查时,像自反访问控制列表一样,CBAC可以过滤所有的TCP和UDP会话。只有连接的控制信道会被CBAC审查和监视,数据信道不会被审查。如在FTP会话中,控制信道(通常是TCP端口21)和数据信道(通常是TCP端口20)的状态变化都会被监视,但只有控制信道才会被审查。
     
    CBAC提供高级的基于应用层的内容过滤功能包括:
          1.流量过滤:CBAC能够基于应用层智能地过滤TCP/UDP包,甚至过滤的连接可以从被保护的网络发起.所以CBAC可以检测防火墙任意一边发起的流量.如果没有CBAC,流量过滤只能停留在网络层及以下(普通ACL),最多是传输层(自反列表).CBAC不仅可以检测网络层、应用层的信息,而且能通过检测应用层信息(比如FTP连接信息、RPC和sql*net)来识别会话的状态。通过CBAC,可以防止普通的恶意的JAVA程序入侵网络.通过配置,可以允许用户只能运行内部的JAVA脚本或者是外部的被信任的脚本。

          2.流量检测:CBAC通过检查出口流量来建立临时会话表允许回包通过。通过检测应用层,维持TCP/UDP会话信息,CBAC可以防止一些网络攻击比如刚SYN-flooding.SYN-flooding是一种DoS攻击.黑客通过向服务器发送大量的不能建立全连接的连接请求导致服务器资源耗尽而崩溃而不能提供正常的服务。CBAC通过检测包的TCP连接序列号是否在合理的范围内来决定丢弃可疑的包.可以配置CBAC丢弃半连接状态的连接.而且CBAC可以检测到非正常的大量的连接并且产生警报.CBAC还可以防止一些分段IP包的DOS攻击.因为黑客可以通过发送许多非初试化的IP分段或者完整的分段包通过路由器,而这是被路由器ACL允许的,这样的包到达服务器或者主机后会导致注意花时间来试这重组不完整的包。
     
          3.警报和审计:CBAC同时会产生实时的警报和审计信息.增强的审计信息通过使用SYSLOG来跟踪所有网络流量.你可以具体到只审计某个应用程序产生的信息。


        4.入侵检测:CBAC为SMTP只提供有限的入侵检测.在中或高端路由器上,CBAC提供专门的IDS.能使路由器更安全地部署在边界上。  

    步骤:
          使用PacketTracert创建如下拓扑:

    配置Border路由器:
    Router>en
    Router#conf t
    Router(config)#host Border
    Border(config)#access-list 100 deny ip any 192.168.0.0 0.0.0.255
    Border(config)#access-list 100 permit ip any any
    Border(config)#access-list 101 deny ip any 192.168.0.0 0.0.0.255
    Border(config)#access-list 101 permit ip any any
    Border(config)#access-list 102 deny ip any 192.168.0.0 0.0.0.255
    Border(config)#ip inspect name test tcp //创建规则test审查tcp连接
    Border(config)#ip inspect name test udp //创建规则test审查udp连接
    Border(config)#ip inspect name test icmp //创建规则test审查ICMP连接
    Border(config)#ip inspect name test telnet //创建规则test审查telnet连接
    Border(config)#ip inspect name test http ////创建规则test审查http连接
    Border(config)#ip inspect audit-trail  //审计追踪
    Border(config)#ip inspect dns-timeout 6 //寻找dns的空闲时间默认5秒
    Border(config)#ip inspect max-incomplete high 600 //CBAC关闭连接之前最大的半开连接数 ,默认为500个会话          
    Border(config)#ip inspect max-incomplete low 450 //CBAC停止关闭连接的半开连接数,默认400
    Border(config)#ip inspect one-minute high 700  // BAC关闭连接之前每分钟的半开连接数,默认500
    Border(config)#ip inspect one-minute low 500 // CBAC停止关闭连接的每分钟半开连接数,默认400
    Border(config)#ip inspect tcp finwait-time 6 //等待TCP会话及那里的时间长度,默认为30秒
    Border(config)#ip inspect tcp idle-time 600 //TCP空闲的超时长度默认3600秒
    Border(config)#ip inspect tcp synwait-time 35 FIN(终止传送)交换之后管理TCP的时间默认5秒
    Border(config)#ip inspect udp idle-time 600 //UDP空闲的超时长度,默认30秒
    Border(config)#int fa0/0
    Border(config-if)#ip add 192.168.0.254 255.255.255.0
    Border(config-if)#ip access-group 102 out //把ACL应用到出方向
    Border(config-if)#ip inspect test in //把CBAC规则应用到接口的入方向
    Border(config-if)#no sh  //开启端口
    Border(config-if)#exit
    Border(config)#int fa0/1
    Border(config-if)#ip add 192.168.1.254 255.255.255.0
    Border(config-if)#ip access-group 101 in
    Border(config-if)#no sh
    Border(config-if)#int s0/0/0
    Border(config-if)#ip add 1.1.1.1 255.255.255.0
    Border(config-if)#ip access-group 100 in
    Border(config-if)#no sh
    Border(config-if)#exit
    Border(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2
    配置Internet路由器:
    Router>en
    Router#conf t
    Router(config)#host Internet
    Internet(config)#int s0/0/0
    Internet(config-if)#ip add 1.1.1.2 255.255.255.0
    Internet(config-if)#clock rate 64000
    Internet(config-if)#no sh
    Internet(config-if)#exit
    Internet(config)#int fa0/0
    Internet(config-if)#ip add 2.2.2.254 255.255.255.0
    Internet(config-if)#no sh
    Internet(config-if)#exit
    Internet(config)#ip rou 0.0.0.0 0.0.0.0 1.1.1.1
     
    测试网络:


    通过上面的配置和测试,可以发现当前网络中私有网络是受到保护的,只有它主动连接别人,但别人不能对它发起连接。而且DMZ网络与私有网络隔开了,如果DMZ网络受到攻击那么私有网络也不会受到威胁。

  • 相关阅读:
    【翻译】Longest Palindromic Substring 最长回文子串
    java三大框架学习总结(1)
    select XXX into 和 Insert into XXX select
    在WinForm编程中犯的一些错误
    自定义类型数组排序的两种实现方式
    C# 释放非托管资源
    在已创建的DataTable对象中添加在首列一列
    WinForm编程时窗体设计器中ComboBox控件大小的设置
    php处理序列化jQuery serializeArray数据
    谈谈对程序员的培养
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12615682.html
Copyright © 2020-2023  润新知