基于上下文的访问控制 (CBAC)17 Mar 2025 | 4 分钟阅读 访问控制列表 (ACL) 近期被用于数据包过滤和保护。ACL 按顺序使用管理员的规则列表进行操作。这些规则包含一系列的允许和拒绝要求。ACL 唯一的缺点是它只能在传输层过滤流量。 因此,带有合适 IOS 版本的思科路由器可用于低成本的防火墙功能。有两种方法可以实现基于 IOS 的防火墙。
基于上下文的访问控制 (CBAC) -与 ACL 在传输层保护和过滤流量的方式不同,CBAC 将这种保护扩展到了应用层。通过 CBAC 配置,路由器可以充当防火墙。 工作原理 -虽然 CBAC 仅充当反射式访问列表,但它还维护一个状态表,其中存储着会话信息。当网络内部设备(基于 IOS 的防火墙)启动会话时,会向状态表中添加一个动态条目,并允许出站(外发)流量通过路由器。由于路由器(基于 IOS 的防火墙)拥有针对内部网络发起的流量的条目,因此它可以借助此条目来传递出站流量的应答。基于 IOS 的防火墙 CBAC 机制通过暂时打开应用到入站流量的访问列表中的间隙来实现这一点,以允许应答数据包通过。 ACL 是用于控制网络流量和减少网络攻击的规则集。ACL 用于过滤流量,通过使用为网络入站或出站流量指定的规则集。 特点 -CBAC 具有一些特点,包括:
配置 -![]() 有三个路由器:router1 (fa0/0 上的 10.1.1.1/24),router2 (fa0/0 上的 10.1.1.2/24 和 fa0/1 上的 10.1.2.1/24) 和 router3 (10.1.2.2/24)。为了能够通过 ping 在路由器之间通信,我们将首先通过 EIGRP 为每个路由器分配路由。 之后,我们将配置 router3 作为 SSH 服务器,而 router2(将在其上运行 CBAC)仅在流量经过 router2 检查后才允许通过。 首先在 router1 上设置 EIGRP 接下来,在 router2 上设置 EIGRP 以连接到其他网络 现在,配置 router3 上的 eigrp 我们现在将在 router3 上设置 SSH 在 router2 上,我们将创建一个访问列表,通过该列表我们将阻止除 EIGRP 之外的所有流量,因为 EIGRP 确保所有路由器仍然可以相互通信。 现在将其应用于用户界面 现在我们已经应用了访问列表,该列表只接受 Eigrp 数据包并拒绝所有其他数据包,router1 将不再能够 SSH 到 router3。 现在,在 router2 上设置 CBAC 以检查 SSH 流量(仅允许由运行 CBAC 的 IoS 路由器检查的流量。) 第二个命令将检查 SSH 流量,而第一个命令 (!cbac) 将启用 cbac 功能。 现在,通过检查接口 现在,SSH 数据包在离开出站 (fa0/1) 接口之前已经过 router2 的检查,router1 将能够 SSH 到 router3(正如我们所配置的)。 这一点可以通过以下方式得到证实: 注意:由于我们只想要来自网络外部、由内部网络发起的流量,所以访问列表是入站应用的,而 CBAC 是出站应用的 (10.1.1.1)。当 CBAC 出站应用时,为了暂时允许返回数据包通过应用到接口的访问列表(进入 fa0/1),会在 ACL 上创建临时间隙。局限性 -CBAC 机制的一些缺点包括:
|
我们请求您订阅我们的新闻通讯以获取最新更新。