掌桥专利:专业的专利平台
掌桥专利
首页

访问控制方法、系统、物理主机及通信设备

文献发布时间:2023-06-19 11:26:00


访问控制方法、系统、物理主机及通信设备

技术领域

本申请涉及计算机技术领域,尤其涉及一种访问控制方法、系统、物理主机、通信设备及计算机可读存储介质。

背景技术

目前,多数云平台都提供了裸金属服务器(Bare Metal Server,BMS),由于无法确定数据包的安全,因此需要对裸金属服务器实现安全组的功能,从而对网络通信提供访问控制。当前物理主机的安全组的实现方式主要是在物理主机的操作系统中安装安全组件设置iptables的方式,将安全组规则转化为具体的iptables规则。但是,在用户的实际操作中,经常会出现一些误操作,由于安全组规则直接在操作系统中配置,则容易引起安全组功能失效或错误的问题。

发明内容

本申请实施例提供一种访问控制方法、系统、物理主机、通信设备以及计算机可读存储介质,以解决相关技术存在的问题,技术方案如下:

第一方面,本申请实施例提供了一种访问控制方法,包括:

物理主机的第一网卡接收安全组规则的配置信息;

所述第一网卡中的第一虚拟交换机根据所述安全组规则的配置信息对安全组规则进行设置,以使外部设备根据所述安全组规则访问所述物理主机。

第二方面,本申请实施例提供了一种物理主机,包括:

获取模块,用于接收安全组规则的配置信息;

配置模块,用于根据所述安全组规则的配置信息对安全组规则进行设置,以使外部设备根据所述安全组规则访问所述物理主机。

第三方面,本申请实施例提供了一种访问控制系统,所述访问控制系统包括:至少一个物理主机和用于对至少一个物理主机进行数据传输的外部交换机;

所述物理主机包括:运行网卡操作系统的第一网卡;其中,所述网卡操作系统中配置有第一虚拟交换机,所述第一虚拟交换机内配置有安全组规则,并根据所述安全组规则对所述物理主机进行访问控制;

所述物理主机通过所述第一网卡与所述外部交换机连接。

第四方面,本申请实施例提供了一种通信设备,该装置包括:存储器和处理器。其中,该该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。

第五方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。

上述技术方案中的优点或有益效果至少包括:由于物理主机的第一网卡的网卡操作系统中配置有第一虚拟交换机,第一虚拟交换机内配置有安全组规则,根据安全组规则对物理主机进行访问限制,从而实现了安全组功能,避免了用户误操作容易引起安全组功能失效或错误的问题。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。

图1是现有技术中主机系统的结构示意图;

图2是本申请实施例的访问控制系统的结构示意图;

图3是本申请实施例的访问控制方法流程示意图;

图4为本申请实施例的访问控制方法流程示意图;

图5为本申请实施例的访问控制方法流程示意图;

图6为本申请实施例的访问控制方法流程示意图;

图7为本申请实施例的访问控制系统的具体结构示意图;

图8是本申请实施例的物理主机的结构示意图;

图9是本申请实施例的物理主机的结构示意图;

图10是本申请实施例的物理主机的结构示意图;

图11是本申请实施例的通信设备结构示意图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

本申请实施例提供了访问控制系统,如图2所示,访问控制系统包括:至少一个物理主机和用于对至少一个物理主机进行数据传输的外部交换机3。

物理主机包括:运行网卡操作系统的第一网卡1;其中,网卡操作系统中配置有对安全组规则进行设置的第一虚拟交换机2;第一虚拟交换机2内配置有安全组规则,并根据安全组规则对物理主机进行访问控制。物理主机通过第一网卡1与外部交换机3连接。

需要说明的是,本申请实施例提供的访问控制系统,可以包括多个物理主机,物理主机之间能够通过外部交换机3进行通信,还可以根据外部交换机3进行网络通信。可以理解的是,每个物理主机的结构均相同,同时每个物理主机均运行有对应的主机操作系统6(即Host OS),而网卡操作系统独立于主机操作系统6,其运行于第一网卡1中。在本实施例中,第一网卡1为智能网卡(Smart NIC),那么对应的网卡操作系统则为Smart NIC OS,智能网卡的核心是通过FPGA(FieldProgrammable Gate Array,现场可编程门阵列)协助CPU(Central Processing Unit,中央处理器)处理网络负载。Smart NIC OS与Host OS均可以为嵌入式操作系统,当物理主机进行通信时,则将Smart NIC OS与Host OS配置为嵌入式所有权模式(即ECPF模式),以使智能网卡的资源和功能由嵌入式ARM(AsynchronousResponse Mode,异步响应方式)子系统拥有和控制。

需要说明的是,网卡操作系统中配置有第一虚拟交换机2,即open vswitch,简称OVS,而OVS包括:ovsdb-sever、ovs-vswitchd和ovs kernel module。其中,ovsdb-sever为OVS的数据库服务器,用来存储虚拟交换机的配置信息。它与manager和ovs-vswitchd交换信息使用了OVSDB(JSON-RPC)的方式。ovs kernel module为OVS的内核模块,处理包交换和隧道,缓存flow,如果在内核的缓存中找到转发规则则转发,否则发向用户空间去处理。ovs-vswitchd为OVS的核心部件,和上层controller通信遵从openflow协议,与ovsdb-server通信使用OVSDB协议,和内核模块通过netlink通信,并且支持多个独立的datapath(网桥),它通过更改flow table实现了绑定,和VLAN等功能。

示例性地,外部交换机3可以为物理交换机,当物理交换机接收到外部信息(如用户配置的安全组规则),则配置网卡操作系统处于所有权模式,在第一虚拟交换机2的流表中添加对应的安全组规则,从而实现安全组的功能。

由此可见,现有技术中的主机系统(参见图1)直接通过主机操作系统中将安全组规则转化为iptables规则。而本申请实施例中(参见图2),由于第一网卡1的卡操作系统中配置有第一虚拟交换机2,第一虚拟交换机2内配置有安全组规则,根据安全组规则对物理主机进行访问限制,从而实现了安全组功能。而由于安全组规则设置在第一虚拟交换机2中而非主机操作系统6,这样,即使用户误操作,也不会出现安全组功能失效或错误的情况。

在一种实施方式中,访问控制系统还包括:用于使物理主机与外部设备通信的通信模块。

数据通信模块4连接于物理主机与外部交换机3之间。

本申请实施例中,仍参见图2,通信模块可以为物理网卡,还可以为其他能够进行数据通信的装置,在此不做限定。需要说明的是,通过物理网卡使得物理主机能够与外部设备进行通信,例如,通过物理网卡使得物理主机通过外部交换机3可以与其他物理主机进行通信,还可以接入网络进行网络通信。

在一种实施方式中,访问控制系统还包括:

物理主机通过外部交换机3接入广域网5。

需要说明的是,仍参见图2,外部交换机3可以为物理交换机,其不但可以让多个物理主机之间进行数据通信,物理主机还可以访问广域网5(即公网),使得物理主机能够进行多种方式的通信。

图3示出根据本申请一实施例的一种访问控制系统的访问控制方法的流程图。如图3所示,该方法可以包括:

S110,物理主机的第一网卡1接收安全组规则的配置信息。

需要说明的是,该访问控制方法,应用于上述发明实施例提供的访问控制系统。

具体实施过程中,第一网卡1通过外部交换机3获取安全组规则的配置信息。其中,安全组规则的配置信息包括以下中的任意一项或多项:规则方向、授权策略、协议类型、端口范围、授权对象和优先级,安全组规则的配置信息还可以包括物理主机的相关信息,例如,物理主机编号、标识码等信息。可以理解的是,安全组规则的配置信息可以是用户自己选择的,也可以是预先设置好的,在此不作限定。

S120,第一网卡1中的第一虚拟交换机根据安全组规则的配置信息对安全组规则进行设置,以使外部设备根据安全组规则访问物理主机。

具体实施过程中,第一网卡1中的第一虚拟交换机2接收到安全组规则的配置信息,根据配置信息将所需要的安全组规则加入到OVS流表中,由于OVS可与内核的连接跟踪系统(Connection tracking system)一同使用,借助Conntrack的功能,OpenFlow流可用于匹配TCP、UDP、ICMP等连接的状态。(即连接跟踪系统支持跟踪有状态和无状态协议),从而实现网络状态的识别,控制物理主机的端口的通信情况,进而实现安全组功能。

需要说明的是,安全组规则可以OVS流表的形式预先存储于第一虚拟交换机2中,也可以是以其他形式存储至第一虚拟交换机2中。当第一网卡1接收到安全组规则配置信息后,第一虚拟交换机2中安全组规则根据接收到的安全组规则配置信息进行设置。例如,当接收到的安全组规则的配置信息为A设备,放行SSH 22端口,则将配置信息添加至安全组规则中,以使SSH 22端口放行A设备。又例如,入方向:放行SSH 22端口、HTTP 80端口,出方向:默认允许所有访问。

示例性地,可以是用户通过用户终端设备(例如手机、平板电脑等)或物理主机对应的操作控制台等设备对安全组规则进行配置,并将配置信息发送至物理主机;物理主机中的第一网卡1接收到配置信息后,第一虚拟交换机2根据配置信息设置第一虚拟交换机2中安全组规则,由于安全组规则中设置了物理主机端口的访问规则,从而限制物理主机端口的通信情况。可以理解的是,当访问控制系统中存在多个物理主机时,则需要确定用户的配置信息对应的物理主机,将配置信息下发至对应的物理主机。那么此时配置信息中需要包括物理主机的编号、标识码等信息,从而对应控制物理主机的通信情况。

有鉴于此,本申请实施例提供的访问控制系统的访问控制方法,当第一网卡1接收到安全组规则的配置信息后,第一虚拟交换机2根据配置信息对安全组规则进行设置,根据安全组规则对物理主机进行访问限制,从而实现了安全组功能。而由于安全组规则设置在第一虚拟交换机2中而非主机操作系统6,这样,即使用户误操作,也不会出现安全组功能失效或错误的情况。

在一种实施方式中,在物理主机的第一网卡1接收安全组规则的配置信息之前,方法还包括:

S100,配置物理主机工作在第一模式下,以使第一网卡1控制物理主机通过外部交换机3与外部设备进行通信。

图4为访问控制方法的流程图。如图4所示,本申请实施例中,第一模式为嵌入式所有权模式(即ECPF模式)。在ECPF模式下,第一网卡1资源和功能由嵌入式ARM(AsynchronousResponse Mode,异步响应方式)子系统拥有和控制。物理主机仍然可以使用其网卡原本所具有的网络功能,但是特权有限。只有在第一网卡1侧的驱动程序已加载并完成网卡配置之后,才能加载相应的物理主机的主机操作系统的驱动程序。ECPF模式下的网卡操作系统控制和配置网卡嵌入式交换机,这意味着往返于主机端口的流量始终落在网卡的操作系统端。若在网卡处停止数据传输,则往返于主机端口的流量通路中断。

示例性地,ECPF模式下,网卡操作系统可以同时加载主机端网络端口和物理网卡(即数据通信模块4)端口,以使第一网卡1能够通过外部交换机3与外部设备进行通信,从而通过外部交换机3获取安全组规则的配置信息。

需要说明的是,当物理主机不工作在第一模式下,即不工作在ECPF模式下时,此时物理主机的主控制系统为主机操作系统,而非网卡系统。这样,则通过物理主机的主机操作系统进行通信,即需要先加载主机操作系统的驱动程序,再对第一网卡1侧的驱动程序进行加载。因此只有当物理主机工作在ECPF模式下,第一网卡1的网卡系统才能做为主控制系统,主机接口的流量始终落在网卡的操作系统端,这样网卡系统才可以根据第一虚拟机中的安全组规则对物理主机的端口访问进行限制。

在一种实施方式中,第一网卡1中的第一虚拟交换机2根据安全组规则的配置信息配置对安全组规则进行设置,以使外部设备根据安全组规则访问物理主机,步骤S120具体包括:

第一虚拟交换机2将安全组规则的配置信息对应添加至安全组规则中,以对物理主机的端口进行访问限制,以使外部设备根据安全组规则访问物理主机。

具体实施过程中,第一网卡1接收到一个安全组规则的配置信息后,则将配置信息加入至安全组规则中,而安全组规则是物理机的各个端口访问规则,以及其可以访问的对象等信息,则当任一外部设备接入后,第一网卡1需要根据当前外部设备查找对应的安全组规则,从而确定当前外部设备进行访问的端口。

在一种实施方式中,第一虚拟交换机2将安全组规则的配置信息对应添加至安全组规则中,以对物理主机的端口进行访问限制,以使外部设备根据安全组规则访问物理主机,具体包括:

S1210,通过第一网卡1中的驱动程序将安全组规则的配置信息添加至第一虚拟交换机2的安全组规则中。

S1220,第一虚拟交换机2根据安全组规则执行对应的配置指令以配置物理主机的端口,以使外部设备根据安全组规则对物理主机进行访问。

图5为访问控制方法的流程图。如图5所示,需要说明的是,第一网卡1中的驱动程序为SGagent程序,驱动SGagent程序将安全组的配置信息添加至第一虚拟交换机2的安全组规则中,从而配置信息在第一虚拟交换机2中生效。本申请实施例中,当物理主机接收到安全组规则的配置信息后,调用第一网卡1中的SGagent程序,来实现将安全组规则的配置信息写入到第一虚拟交换机2的OVS流表中,从而实现了安全组功能。

为了方便理解,通过以下示例对安全组规则进行说明:

OVS配置安全组规则执行命令:

例如,规则一:选择开放物理主机具体的端口使外部设备可访问,则对应OVS配置:

ovs-ofctl add-flow br0 priority=0,tcp,tp_src=80,actions=normal

又例如,规则二:设置与物理主机192.168.0.2不可以通信,则对应OVS配置:

ovs-ofctl add-flow br0 priority=5,ip,nw_dst=192.168.0.2,actions=drop

可以理解的是,可以根据用户的需求在OVS中配置相应的安全组规则。

在一种实施方式中,物理主机的第一网卡1接收安全组规则的配置信息,步骤S110,具体包括:

S1110,物理主机的第一网卡1通过外部交换机3接收安全组规则的配置信息。

图6为访问控制方法的流程图。如图6-7所示,示例性地,当访问控制系统中有多个物理主机时,设置有接收用户配置的安全组规则请求的管理平台7,当管理平台7接收到用户的安全组规则请求时会创建一条配置安全组规则的任务,此时会调用第一网卡1中的SGagent程序,来实现将安全组规则的配置信息写入到第一虚拟交换机2的OVS流表中,从而实现了安全组功能。

通过采用上述方案,在物理主机的第一网卡的网卡操作系统中配置有第一虚拟交换机,第一虚拟交换机内配置有安全组规则,根据安全组规则对物理主机进行访问限制,从而实现了安全组功能,避免了用户误操作容易引起安全组功能失效或错误的问题。

图8示出根据本申请一实施例的一种物理主机的结构示意图。如图8所示,该装置,包括:

获取模块110,用于接收安全组规则的配置信息。

配置模块120,用于根据安全组规则的配置信息对安全规则进行设置,以使外部设备根据安全组规则访问物理主机。

在一种实施方式中,如图9所示,该装置还包括:

处理模块100,用于配置物理主机工作在第一模式下,以使第一网卡1控制物理主机通过外部交换机3与外部设备进行通信。

在一种实施方式中,配置模块120,具体包括:

第一配置单元,用于第一虚拟交换机2将安全组规则的配置信息对应添加至安全组规则中,以对物理主机的端口进行访问限制,以使外部设备根据安全组规则访问物理主机。

在一种实施方式中,如图10所示,第一配置单元,具体包括:

第一子配置单元1210,用于通过第一网卡1中的驱动程序将安全组规则的配置信息添加至第一虚拟交换机2的安全组规则中;

第二子配置单元1220,用于第一虚拟交换机2根据安全组规则执行对应的配置指令以配置物理主机的端口,以使外部设备根据安全组规则对物理主机进行访问。

在一种实施方式中,获取模块,还用于:

物理主机的第一网卡1通过外部交换机3接收安全组规则的配置信息。

本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

图11示出根据本申请一实施例的通信设备的结构框图。如图9所示,该通信设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。处理器920执行该计算机程序时实现上述实施例中的访问控制方法。存储器910和处理器920的数量可以为一个或多个。

该通信设备还包括:

通信接口930,用于与外界设备进行通信,进行数据交互传输。

如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。

本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。

本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。

本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。

应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。

进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。

应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。

以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 访问控制方法、系统、物理主机及通信设备
  • 强制访问控制方法、装置和物理主机
技术分类

06120112920373