网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

基于上下文的访问控制(CBAC)

更新时间:2026年03月27日   作者:spoto   标签(Tag):

在动态的网络安全环境中,CBAC仍然是一种非常重要的技术,它能够确保网络免受未经授权的访问和恶意活动的侵害。该技术能够实现对网络策略的精细控制,从而在保持灵活性的同时,最大限度地保障网络安全。

近年来,Access(ACL)被广泛应用于数据包的过滤与保护方面。ACL的工作原理是依据管理员所设定的规则顺序来进行操作。这些规则包含了各种允许或禁止的条件。不过,ACL的缺点在于它只能对传输层以上的流量进行过滤而已。

CBAC是一种先进的安全协议,它应用于网络层,能够根据各种上下文参数来控制流量流动。与那些仅依赖静态规则和传统控制方法的传统访问控制方式不同,CBAC能够实时分析各种上下文因素,从而做出明智的访问决策。
因此,为了以较低的预算实现防火墙功能,可以使用具有适当IOS版本的Cisco路由器。我们可以通过两种方法来实现基于IOS的防火墙功能:

  • 基于上下文的访问控制功能
  • 基于区域的防火墙

基于上下文的控制机制(CBAC)

ACLs能够在传输层提供流量过滤和保护功能;而CBAC则能在应用层及以下层次同样实现相同的功能。 在CBAC配置的支持下,路由器可以充当防火墙的角色。Cisco IOS防火墙功能中的基于上下文的访问控制(CBAC)功能能够持续监控防火墙后方发生的各种活动。 通过使用访问列表,CBAC能够确定哪些流量可以被允许进入系统,而哪些流量则必须被拒绝。 而CBAC访问列表则包含IP检查语句,这些语句能够确保协议在到达防火墙后面的计算机之前不会被篡改。

CBAC的工作原理

CBAC的工作原理类似于传统的Access-list。除此之外,它还维护着一个状态表,该表中存储了各个会话的相关信息,这些信息被保存在内存中。 当网络中的设备发起会话时,系统会在状态表中添加一条动态记录。这样,所有的出站流量就可以通过路由器(基于IoT的防火墙)了。 在这一条规则的帮助下,出站流量的回复可以顺利通过路由器(基于IoS的防火墙),因为该规则包含了对网络内部发起的流量的处理规则。 这是通过基于IoS的防火墙CBAC机制来实现的。该机制会在访问列表上打开临时通道,以便允许回复数据包通过。

CBAC的特点/特征

  • 检查交通状况——CBAC能够保存TCP/UDP相关信息,这些信息对于对数据包内容进行更深入的检查是非常有用的。
  • 过滤流量——CBAC能够过滤来自可信网络的流量,这些流量需要经过防火墙的过滤。只有那些在状态表中有所记录的流量才会被允许通过。该系统能够智能地过滤到第7层为止的流量。
  • 检测入侵行为 –CBAC能够检测连接建立的速度,从而识别出诸如DOS攻击、TCP同步攻击等类型的攻击。基于这一检测结果,CBAC机制可以重新建立连接,或者拒绝接收恶意数据包。
  • 生成警报和审计报告 –该路由器采用CBAC机制来记录与连接相关的信息,包括已建立的连接数量、发送的数据字节数,以及源地址和目的地址等信息。

配置/设置


共有3台路由器:router1的IP地址为10.1.1.1/24,位于fa0/0接口上;router2的IP地址为10.1.1.2/24,位于fa0/0接口上,同时也在fa0/1接口上有10.1.2.1/24的IP地址;而router3的IP地址为10.1.2.2/24。首先,我们需要通过EIGRP协议向这些路由器发送路由信息,这样它们就能互相进行通信了。
之后,我们将让路由器3作为SSH服务器使用。而路由器2则负责处理与CBAC相关的通信任务。只有当流量经过路由器2的过滤后,才能被传输到路由器2上。
首先,在路由器1上配置EIGRP:

router1(config)#router eigrp 100
router1(config-router)#网络配置为10.1.1.0
router1(config-router)#取消自动汇总功能


现在,我们需要在Router2上配置EIGRP,以便能够访问其他网络。

router2(config)#router eigrp 100
router2(config-router)#网络配置为10.1.1.0
router2(config-router)#网络配置为10.1.2.0
router2(config-router)#no auto-summary


现在,我们来配置路由器3上的EIGRP协议吧:

router3(config)#router eigrp 100
router3(config-router)#网络配置为10.1.2.0
router3(config-router)#no auto-summary


现在,我们将在路由器3上配置SSH功能。

router3(config)#设置域名:spoto.net
router3(config)#username saurabh password cisco
router3(config)#line vty 0 4
router3(config-line)#传输方式设置为SSH协议
router3(config-line)#登录本地用户
router3(config)#crypto key generate rsa label Cisco.com modulus 1024


现在,我们将在路由器2上创建一个访问控制列表。通过这个列表,我们只会允许EIGRP协议传输的数据包通过,而拒绝其他所有流量的传输。因为EIGRP能够确保与所有路由器的连通性。

router2(config)#ip Access-list extended 100
router2(config-ext-nacl)#允许使用EIGRP协议,适用于任何情况。
router2(config-ext-nacl)#禁止所有IP地址的任意流量。


现在,将其应用到界面上吧:

router2(config)#int fa0/1
router2(config-if)#ip access-group 100 in


现在,router1将无法与router3进行SSH通信了。因为我们已经配置了访问列表,该列表只允许EIGRP数据包通过,而拒绝所有其他类型的数据包。
现在,需要在Router2上配置CBAC功能,以便能够检查SSH流量。只有那些被运行了CBAC功能的IoS路由器所处理的流量才会被允许被检查。

router2(config)#!CBAC
router2(config)#ip inspect name Cisco ssh


第一个命令(!cbac)会启用cbac功能,而第二个命令则用于检查SSH传输过程中的数据。
现在,让我们来检查一下这个接口的情况吧:

router2(config)#int fa0/1
router2(config-if)#ip inspect cisco out


现在,router1可以连接到router3,因为当SSH数据包从outbound (fa0/1)接口发送出去时,它首先会经过router2的检查(正如我们所配置的那样)。
这一点可以通过以下方式来验证:

router2#显示所有IP地址的详细信息


注意:在这里,我们应用了入站访问控制列表,同时应用了出站CBAC规则。因为我们希望只有来自网络外部的流量才能通过此规则,而这些流量是由内部网络中的设备(10.1.1.1)发起的。而出站时应用的CBAC规则会为该接口创建一个临时通道,从而允许返回的数据包能够穿过该访问控制列表。

CBAC的优势

  • 防止和检测DoS攻击。
  • 实时警报和审计记录功能。
  • 使用CBAC技术,您可以接受比使用静态访问列表时更少的流量,从而获得相当的功能。
  • CBAC正在采取行动,以阻止那些被滥用协议的常见方式。

CBAC的缺点/局限性

  • CBAC并不容易理解,因为它需要我们对要执行的协议和操作有详细的了解。
  • CBAC机制无法检查来自路由器本身的流量(即,我们已配置了CBAC的路由器本身)。
  • 不支持状态表的自动切换功能。如果第一个路由器发生故障,可以使用另一个冗余的路由器来充当CBAC防火墙。不过,由于状态表不会被复制,因此某些连接需要重新建立。
  • 它不会检查像IPsec这样的加密数据包。

结论

  • 基于上下文的访问控制,简称CBAC,是Cisco IOS中的一个组件。它充当了一种状态防火墙,能够在OSI模型的各个层次上进行应用程序的过滤处理。
  • CBAC负责流量过滤、流量检测、入侵预防以及报警和审计功能。
  • CBAC与反射型访问列表之间的唯一区别在于,CBAC还维护了状态表。
  • 增强型内部网关路由协议(EIGRP)最初是由CBAC配置中的所有路由器用来获取路由信息的。这种协议使得这些路由器能够相互之间进行通信。
  • 理解CBAC其实相当具有挑战性,因为它需要深入掌握相关的流程与复杂的协议。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料