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

近年来, 访问列表(ACL) 用于数据包过滤和保护。ACL按照管理员提供的规则顺序工作。这些规则包括各种许可和拒绝条件。但ACL的缺点是它只过滤传输层的流量。

null

因此,对于低成本的防火墙功能,需要使用具有适当IOS版本的Cisco路由器。我们可以通过两种方法实现基于IOS的防火墙:

  1. 基于上下文的访问控制(CBAC)功能
  2. 基于区域的防火墙

基于上下文访问的控制(CBAC)—— ACL为传输层提供流量过滤和保护,而CBAC为应用层提供相同的功能。在CBAC配置的帮助下,路由器可以充当防火墙。

工作—— CBAC的工作原理就像一个自反访问列表,但除此之外,它还维护一个状态表,其中会话在内存中进行维护。当网络中的设备启动会话时,会在状态表中放入一个动态条目,并允许出站(外出)流量通过路由器(基于IoS的防火墙)。通过这个条目的帮助,出站流量的回复可以通过路由器(基于IoS的防火墙),因为它有一个在网络内发起的流量条目。这是通过基于IoS的防火墙CBAC机制实现的,因为它在访问列表(应用于入站流量)上打开临时孔,以允许回复数据包。

特色—— CBAC的一些特点是:

  1. 检查交通—— CBAC维护TCP/UDP信息,以便在数据包有效负载中执行更深入的检查。
  2. 过滤流量- CBAC过滤来自受信任网络并通过防火墙传出的流量,仅当其在状态表中有条目时才允许回复。第七层具有智能过滤流量的能力。
  3. 检测入侵—— CBAC检查建立连接的速率,通过该速率可以检测到Dos攻击、TCP syn攻击等攻击。在此基础上,CBAC机制可以导致连接重新建立或丢弃恶意数据包。
  4. 生成警报和审核—— 运行CBAC机制的路由器会记录有关已建立连接、已发送字节数、源和目标IP地址的信息。

配置——

图片[1]-基于上下文的访问控制(CBAC)-yiteyi-C++库

共有3个路由器,分别是router1(ip地址–fa0/0上的10.1.1.1/24)、router2(ip地址–fa0/0上的10.1.1.2/24和fa0/1上的10.1.2.1/24)和router3(ip地址–10.1.2.2/24)。首先,我们将通过EIGRP向所有路由器提供路由,以便路由器能够相互ping。 之后,我们将router3设置为ssh服务器,router2(CBAC将在其上运行)仅在router2已检查流量的情况下才允许流量。

首先在router1上配置EIGRP:

router1(config)#router eigrp 100router1(config-router)#network 10.1.1.0router1(config-router)#no auto-summary 

现在,在router2上配置EIGRP以到达其他网络:

router2(config)#router eigrp 100router2(config-router)#network 10.1.1.0router2(config-router)#network 10.1.2.0router2(config-router)#no auto-summary

现在,在router3上配置eigrp:

router3(config)#router eigrp 100router3(config-router)#network 10.1.2.0router3(config-router)#no auto-summary

现在,我们将在router3上配置ssh:

router3(config)#ip domain name GeeksforGeeks.comrouter3(config)#username saurabh password ciscorouter3(config)#line vty 0 4router3(config-line)#transport input sshrouter3(config-line)#login local router3(config)#crypto key generate rsa label Cisco.com modulus 1024

现在,我们将在router2上创建一个访问列表,通过该列表,我们将拒绝除EIGRP之外的所有流量,因为EIGRP将保持所有路由器的可达性。

router2(config)#ip Access-list extended 100router2(config-ext-nacl)#permit eigrp any any router2(config-ext-nacl)#deny ip any any

现在,将其应用于界面:

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

现在,router1将无法ssh router3,因为我们已经应用了访问列表,它将只接受Eigrp数据包,并拒绝所有其他数据包。 现在,在router2上配置CBAC以检查ssh流量(只允许由操作CBAC的IoS路由器检查的流量)。

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

第一个命令(!cbac)将启用cbac功能,而第二个命令将检查ssh流量。 现在,将检查应用于接口:

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

现在,router1将能够ssh router3,因为当ssh数据包离开出站(fa0/1)接口(如我们所配置)时,router2将首先检查ssh数据包。 这可以通过以下方式进行验证:

router2#show ip inspect all

注—— 在这里,访问列表已应用于入站,CBAC已应用于出站,因为我们只希望该流量来自由内部网络发起的网络外部(10.1.1.1)。应用于接口出站(进入fa0/1)的CBAC在应用于接口入站的访问列表上创建临时孔,以允许通过ACL返回数据包。

限制—— cbac机制的一些局限性包括:

  1. CBAC不容易理解,也就是说,它需要我们想要执行的协议和操作的详细知识。
  2. CBAC机制无法检查来自路由器(我们在其上配置了CBAC)本身的流量。
  3. 无状态表故障转移支持。如果一个路由器出现故障,那么另一个冗余路由器可以用作CBAC防火墙,但状态表不会被复制,因此必须重建状态表,从而重建一些连接。
  4. 它不检查诸如IPsec之类的加密数据包。
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享