欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种终端权限控制方法、装置、电子设备及存储介质独创技术26858字

一种终端权限控制方法、装置、电子设备及存储介质

2021-02-20 12:54:58

一种终端权限控制方法、装置、电子设备及存储介质

  技术领域

  本发明实施例涉及通信技术领域,具体涉及一种终端权限控制方法、装置、电子设备及存储介质。

  背景技术

  在园区网场景中,大部分的终端访问控制是通过基于网际互连协议(InternetProtocol,IP)的访问控制列表(Access Control Lists,ACL)实现,但是在有些行业的场景中如果使用ACL会造成ACL膨胀的问题。例如在金融和互联网公司的园区网中,存在组权限和临时组的场景,图1为现有技术中临时组场景示意图,如图1所示:

  User1-1和User1-2在用户组1;User2-1和User2-2在用户组2;User1-1和User2-1成立临时组3;

  以上用户组产生的效果如下:

  1.组内用户可以互访:

  (1)User1-1和User1-2可以互访;(2)User2-1和User2-2可以互访;(3)User1-1和User2-1可以互访;

  2.不同组用户不可互访:

  (1)User1-1和user2-2不可以互访;(2)User2-2和user1-2不可以互访。

  在该场景下,使用基于IP的ACL进行临时组管理,在默认deny any any同时放通相同网段IP的表项的情况下,临时组的每个用户两两之间需要通过ACL进行放通,ACL表项会随着临时组的增加呈现指数级上升,导致ACL表项膨胀。

  发明内容

  针对现有技术中的缺陷,本发明实施例提供了一种终端权限控制方法、装置、电子设备及存储介质。

  第一方面,本发明实施例提供一种终端权限控制方法,包括:

  接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;

  若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;

  根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;

  若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;

  根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  如上述方法,可选地,还包括:

  若所述源终端无访问所述目的终端的权限,则直接将所述主机表项的主机标识标记为第三标识;

  根据所述第三标识,丢弃所述数据报文。

  如上述方法,可选地,还包括:

  若所述VRF表项中包含所述目的终端对应的主机表项,则根据所述主机表项处理所述数据报文。

  如上述方法,可选地,所述根据所述主机表项处理所述数据报文,包括:

  若所述主机表项的主机标识为第二标识,则根据所述VRF表项中所述主机表项对应的地址信息转发所述数据报文;

  若所述主机表项的主机标识为第三标识,则丢弃所述数据报文。

  如上述方法,可选地,所述在所述主机表项中添加所述目的终端的地址信息之后,还包括:

  记录所述VRF表项中所述目的终端对应的主机表项的更新时刻;

  若当前时刻与所述更新时刻的差值大于预设阈值,则从所述源终端的VRF表项中删除所述目的终端对应的主机表项。

  如上述方法,可选地,所述接收源终端发送的访问目的终端的数据报文之前,还包括:

  为每个入网终端分配VRF表项,所述VRF表项的初始值为空。

  第二方面,本发明实施例提供一种终端权限控制装置,包括:

  查询模块,用于接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;

  新建模块,用于若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;

  上送模块,用于根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;

  安装模块,用于若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;

  转发模块,用于根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  如上述装置,可选地,还包括:

  更新模块,用于若所述源终端无访问所述目的终端的权限,则直接将所述主机表项的主机标识标记为第三标识;

  丢弃模块,用于根据所述第三标识,丢弃所述数据报文。

  如上述装置,可选地,还包括:

  处理模块,用于若所述VRF表项中包含所述目的终端对应的主机表项,则根据所述主机表项处理所述数据报文。

  如上述装置,可选地,所述处理模块具体用于:

  若所述主机表项的主机标识为第二标识,则根据所述VRF表项中所述主机表项对应的地址信息转发所述数据报文;

  若所述主机表项的主机标识为第三标识,则丢弃所述数据报文。

  如上述装置,可选地,还包括:

  记录模块,用于记录所述VRF表项中所述目的终端对应的主机表项的更新时刻;

  老化模块,用于若当前时刻与所述更新时刻的差值大于预设阈值,则从所述源终端的VRF表项中删除所述目的终端对应的主机表项。

  如上述装置,可选地,还包括:

  初始化模块,用于为每个入网终端分配VRF表项,所述VRF表项的初始值为空。

  第三方面,本发明实施例提供一种电子设备,包括:

  存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  本发明实施例提供的终端权限控制方法,以终端为划分粒度,为每个终端独立划分VRF,动态安装VRF表项,按需加载每个终端需要的主机资源,通过权限控制联合终端VRF配置实现网络资源的访问控制的目的,提出了一种可以在交换芯片上实现终端访问权限控制的方案,解决了同一终端属于多个临时组带来的ACL膨胀问题。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为现有技术中临时组场景示意图;

  图2本发明实施例提供的终端权限控制方法流程示意图;

  图3为本发明实施例提供的终端权限控制装置的结构示意图;

  图4为本发明实施例提供的电子设备的结构示意图。

  具体实施方式

  为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  图2本发明实施例提供的终端权限控制方法流程示意图,如图2所示,该方法包括:

  步骤S21、接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;

  具体地,为了解决传统通过IP进行权限管控在临时组场景下发生的ACL膨胀的问题,本发明实施例提供一种基于虚拟路由转发(Virtual Routing Forwarding,VRF)表项的终端权限控制方法,应用于交换芯片上,可通过交换芯片的域处理器(Fields Processors,FP)实现。每个入网终端独立划分VRF,在终端VRF中配置与该终端访问权限对应的主机表项信息,通过FP匹配终端VRF,实现网络资源的访问控制的目的。

  首先,为每个入网终端分配VRF表项,所述VRF表项的初始值为空。

  在实际应用中,网络设备连接终端的端口需要配置独立的三层接口,可以是路由接口或者交换机虚拟接口(Switch Virtual Interface,SVI),当终端接入交换设备后,为终端分配VRF资源,并维护VRF和终端的对应关系,例如,终端接入交换设备后,获取SVI标识,新建VRF,初始值为空,用所述终端的SVI标识标记所述新建VRF。

  例如,表1为用户对终端划分的逻辑组及权限关系表,如表1所示,创建两个用户组group1,group2以及一个临时组group3,用户User1-1,User1-2属于group1,User2-1和User2-2属于group2;User1-1和User2-1组成临时组。其中同一个用户可以属于多个用户组,用来解决临时组内资源互访的问题。

  表1用户对终端划分的逻辑组及权限关系表

  

  表2为VRF与终端关联表,其中终端信息可以用终端IP地址或终端MAC地址信息表示,终端VRF可以用SVI标记也可以用路由接口标记,本发明实施例对此不作限定。

  表2 VRF与终端关联表

  通过建立每个入网终端的VRF之后,当源终端发起访问目的终端的数据报文之后,接收该报文,FP通过源终端的VRF查询有无目的终端对应的主机表项。

  步骤S22、若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;

  具体地,当源终端第一次发起访问目的终端的数据报文时,由于源终端的VRF为空,此时查找VRF表项中无目的终端的主机表项,则在源终端的VRF表项中安装目的终端对应的主机表项,将该主机表项的主机标识标记为第一标识,例如,将该主机表项的clsid标记为0。

  步骤S23、根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;

  具体地,系统需要默认下发三条FP芯片表项:

  FP表项FP-1:通过查找VRF确定目的终端的主机表项的主机标识为第二标识的数据报文可放通,例如,识别clsid=1的报文可放通;

  FP表项FP-2:通过查找VRF确定目的终端的主机表项的主机标识为第三标识的数据报文可放通,例如,识别clsid=2的报文不放行;

  FP表项FP-3:通过查找VRF确定目的终端的主机表项的主机标识为第一标识的数据报文上送CPU查询权限,例如识别clsid=0的报文送CPU。

  交换芯片的FP识别到源终端的VRF表项中目的终端的主机表项的主机标识为第一标识,则通过FP将报文上送至CPU,通过CPU查询源终端的访问权限,判断是否具有访问该目的终端的权限,即当VRF内查询目的终端失败的时通过FP发起VRF表项安装申请。CPU可以根据用户设置维护如表3所示的终端VRF表,通过查表,确定源终端是否有访问目的终端的权限。

  表3终端VRF表

  

  

  步骤S24、若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;

  具体地,如果源终端具有访问所述目的终端的权限,例如表1中源终端与目的终端在同一个用户组,则在目的终端对应的主机表项中添加目的终端的地址信息,例如添加目的终端的IP地址,并将目的终端的主机表项的主机标识更新为第二标识,例如将clsid更新为1。

  步骤S25、根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  具体地,由于预先下发了FP表项,FP识别目的终端的主机表项的主机标识为第二标识,则根据该主机表项的目的终端的地址信息,转发该数据报文。此时源终端的VRF中已经目的终端的地址信息,可直接根据VRF转发数据报文。在实际应用中,还可以结合终端认证,如dot1x vlan跳转、mac vlan等不同的方式给终端分配不同的vlan,从而产生不同的三层口SVI绑定不同终端的VRF;此外,权限设置可以基于组进行设置,用户和组的对应关系可以通过radius等系统关联。

  本发明实施例提供的终端权限控制方法,以终端为划分粒度,为每个终端独立划分VRF,动态安装VRF表项,按需加载每个终端需要的主机资源,通过权限控制联合终端VRF配置实现网络资源的访问控制的目的,提出了一种可以在交换芯片上实现终端访问权限控制的方案,解决了同一终端属于多个临时组带来的ACL膨胀问题。

  在上述实施例的基础上,进一步地,还包括:

  若所述源终端无访问所述目的终端的权限,则直接将所述主机表项的主机标识标记为第三标识;

  根据所述第三标识,丢弃所述数据报文。

  具体地,如果通过CPU查询源终端的访问权限,发现源终端不具备访问目的终端的权限,则直接将源终端的VRF表项中目的终端的主机表项的主机标识标记为第三标识,例如将clsid标记为2。FP根据第三标识,直接丢弃数据报文,后续源终端再次发起访问该目的终端的数据报文时,FP查询到目的终端的主机标识为第三标识,则直接丢弃数据报文,避免多次查询同一目的终端的访问权限,提高了系统效率。

  在上述各实施例的基础上,进一步地,还包括:

  若所述VRF表项中包含所述目的终端对应的主机表项,则根据所述主机表项处理所述数据报文。

  具体地,如果源终端的VRF中已经安装了目的终端的主机表项,则FP可直接根据该主机表项处理数据报文。

  例如,若主机表项的主机标识为第二标识,则根据VRF表项中该主机表项对应的地址信息转发数据报文,即根据第二标识,可从VEF中直接查找到该数据报文的出口路由,直接转发报文,无需通过ACL转发报文;

  若主机表项的主机标识为第三标识,则直接丢弃该数据报文,这样对于同一目的终端的访问请求,仅需查询一次权限。

  在上述各实施例的基础上,进一步地,所述在所述主机表项中添加所述目的终端的地址信息之后,还包括:

  记录所述VRF表项中所述目的终端对应的主机表项的更新时刻;

  若当前时刻与所述更新时刻的差值大于预设阈值,则从所述源终端的VRF表项中删除所述目的终端对应的主机表项。

  具体地,在主机表项中添加目的终端的地址信息之后,还可以记录VRF表项中该目的终端对应的主机表项的更新时刻,如果当前时刻与该更新时刻的差值大于预设阈值,即一段时间内,无访问该目的终端的流量,则从源终端的VRF表项中删除该目的终端对应的主机表项,维护VRF表项的老化回收,节省表项资源。

  例如,以背景技术中的临时场景为例,分为允许放通和不允许放通两种场景:

  (一)允许放通场景:User1-1访问User2-1:

  当User1-1入网时,根据终端入网的端口或SVI口分配VRF 10给User1-1终端,初始VRF10表项为空;当终端User1-1发起访问User2-1的数据报文时,由于此时终端VRF表为空,命中FP-3表项,FP上从报文至CPU查询User1-1的访问权限;CPU从维护的VRF表中获取查询User1-1访问User2-1的权限,返回放通;在VRF10安装User2-1的主机表项,同时将主机表项的clsid设置为1;后续User1-1访问User2-1的报文查找VRF10可以从芯片找到出口路由;在FP查找阶段命中FP-1,报文可正常发送出去。

  (二)不允许放通场景:User1-1访问User2-2:

  当User1-1入网时,根据终端入网的端口或SVI口分配VRF 10给User1-1终端,初始VRF10表项为空;当终端User1-1发起访问User2-2的数据报文时,由于此时终端VRF表为空,命中FP-3表项,FP上从报文至CPU查询User1-1的访问权限;CPU从维护的VRF表中获取查询User1-1访问User2-2的权限,返回不放通;在VRF10安装User2-2的主机表项,同时将主机表项的clsid设置为2;后续User1-1访问User2-2的报文在FP查找阶段命中FP-2,报文可直接丢弃。

  本发明实施例提供的终端权限控制方法,使用动态VRF表项安装技术,按需加载每个终端需要的主机资源,定时老化长期不用的主机路由资源,可大大节省VRF资源。

  基于同一发明构思,本发明实施例还提供一种终端权限控制装置,如图3所示,包括:查询模块31、新建模块32、上送模块33、安装模块34和转发模块35,其中

  查询模块31用于接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;新建模块32用于若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;上送模块33用于根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;安装模块34用于若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;转发模块35用于根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  如上述装置,可选地,还包括:

  更新模块,用于若所述源终端无访问所述目的终端的权限,则直接将所述主机表项的主机标识标记为第三标识;

  丢弃模块,用于根据所述第三标识,丢弃所述数据报文。

  如上述装置,可选地,还包括:

  处理模块,用于若所述VRF表项中包含所述目的终端对应的主机表项,则根据所述主机表项处理所述数据报文。

  如上述装置,可选地,所述处理模块具体用于:

  若所述主机表项的主机标识为第二标识,则根据所述VRF表项中所述主机表项对应的地址信息转发所述数据报文;

  若所述主机表项的主机标识为第三标识,则丢弃所述数据报文。

  如上述装置,可选地,还包括:

  记录模块,用于记录所述VRF表项中所述目的终端对应的主机表项的更新时刻;

  老化模块,用于若当前时刻与所述更新时刻的差值大于预设阈值,则从所述源终端的VRF表项中删除所述目的终端对应的主机表项。

  如上述装置,可选地,还包括:

  初始化模块,用于为每个入网终端分配VRF表项,所述VRF表项的初始值为空。

  本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

  图4为本发明实施例提供的电子设备的结构示意图,如图4所示,所述设备包括:处理器(processor)41、存储器(memory)42和总线43;

  其中,处理器41和存储器42通过所述总线43完成相互间的通信;

  处理器41用于调用存储器42中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收源终端发送的访问目的终端的数据报文,从所述源终端的虚拟路由转发VRF表项中查找所述目的终端对应的主机表项;若所述VRF表项中无所述主机表项,则在所述VRF表项中安装所述目的终端对应的主机表项,并将所述主机表项的主机标识标记为第一标识;根据所述第一标识,向中央处理器CPU发送所述源终端的访问权限查询请求;若所述源终端具有访问所述目的终端的权限,则在所述主机表项中添加所述目的终端的地址信息,并将所述主机表项的主机标识更新为第二标识;根据所述第二标识和所述目的终端的地址信息,转发所述数据报文。

  本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

  以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

  最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

《一种终端权限控制方法、装置、电子设备及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)