CN115314266A - 访问控制方法、装置、电子设备及可读存储介质 - Google Patents

访问控制方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN115314266A
CN115314266A CN202210893488.XA CN202210893488A CN115314266A CN 115314266 A CN115314266 A CN 115314266A CN 202210893488 A CN202210893488 A CN 202210893488A CN 115314266 A CN115314266 A CN 115314266A
Authority
CN
China
Prior art keywords
cloud database
white list
tcp message
cloud
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210893488.XA
Other languages
English (en)
Inventor
胡林森
周方圆
翁宁龙
赵承勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210893488.XA priority Critical patent/CN115314266A/zh
Publication of CN115314266A publication Critical patent/CN115314266A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书提供访问控制方法、装置、电子设备及可读存储介质,在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文;并解析所述TCP报文,获取所述TCP报文中包括的源IP;基于所述源IP针对所述TCP报文进行访问控制。

Description

访问控制方法、装置、电子设备及可读存储介质
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种访问控制方法、装置、电子设备及可读存储介质。
背景技术
随着计算机技术和网络技术的发展,互联网信息系统的应用越来越广泛。数据库作为业务平台信息技术的核心和基础,承载着越来越多的关键数据,这些关键数据一旦泄露,可能会对企业造成经济损失,因此,数据库安全至关重要。而数据库提供的访问安全控制的功能,是保障数据库安全重要的一环。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于IP白名单的访问控制方法及装置,以解决相关技术中存在的问题。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种访问控制方法,所述方法包括:
在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文;
解析所述TCP报文,获取所述TCP报文中包括的源IP;
基于所述源IP针对所述TCP报文进行访问控制。
根据本说明书一个或多个实施例的第二方面,提出了访问控制装置,所述装置包括:
报文拦截单元,用于在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文;
报文解析单元,用于解析所述TCP报文,获取所述TCP报文中包括的源IP;
访问控制单元,基于所述源IP针对所述TCP报文进行访问控制。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的有益效果:
本申请通过云服务平台搭载的服务组件,可以在传输层直接对访问发起方针对云数据库实例进行访问的TCP报文进行拦截,基于所述源IP针对所述TCP报文进行访问控制。
通过上述实施例,服务组件直接在传输层拦截TCP报文,解析所TCP报文获取源IP,并针对TCP报文中的源IP进行访问控制,无需由数据库引擎自身实现报文拦截以及报文解析等功能,节约开发成本;当在云服务平台创建多个云数据库实例时,可以通过上述服务组件统一对所有云数据库实例进行访问控制,而无需针对每一种数据库开发访问控制功能,进一步节约开发成本。
附图说明
图1是一示例性实施例提供的一种访问控制方法的系统架构示意图。
图2是一示例性实施例提供的一种访问控制方法的流程图。
图3是一示例性实施例提供的一种服务组件对云数据库实例维护的IP白名单进行更新的流程图。
图4是一示例性实施例提供的一种由工作流处理更新任务的示意图。
图5是一示例性实施例提供的一种种服务组件对云数据库实例维护的IP白名单进行更新的交互示意图。
图6是一示例性实施例提供的一种将白名单刷新命令下发至云数据库实例的示意图。
图7是一示例性实施例提供的一种电子设备的示意结构图。
图8是一示例性实施例提供的一种访问控制装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
数据库作为业务平台信息技术的核心和基础,承载着越来越多的关键数据。因此,数据库能否安全稳定的运行,直接决定着企业的业务系统能否正常使用。因此,对数据库的关键数据进行保护,是尤为重要的。
通常,数据库会提供黑/白名单的功能,用于进行访问控制。当开启IP白名单功能时,只有加入到IP白名单的IP地址所属的用户的应用服务器,才可以访问数据,而没有加入IP白名单的IP地址所属的用户的应用服务器,会被拦截。当开启黑名单功能时,加入到IP黑名单的IP地址所述的用户的应用服务器会被拦截,而其他IP均可以正常的访问数据。
数据库提供的黑/白名单功能是由数据库引擎实现,数据库引擎需要实现IP拦截以及IP解析、IP校验等功能。由于每种数据库的架构不同,其获取IP的方式不同,因此需要对每种数据库单独开发一套黑/白名单管理系统,需要大量对数据库内核的开发工作,工作量大且存在重复性工作。
有鉴于此,本说明书提出一种访问控制方法,在传输层拦截TCP报文,并针对所述TCP报文中的源IP,对TCP报文进行访问控制。
在实现时,可以在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文;解析所述TCP报文,获取所述TCP报文中包括的源IP;基于所述源IP针对所述TCP报文进行访问控制。
图1是一示例性实施例提供的一种访问控制方法的系统架构示意图。如图1所示,该系统可以包括网络10、服务器11、若干电子设备,如12、手机13和手机14等。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器、云服务器等。手机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。
在一实施例中,服务器11可以与手机12-14进行配合;其中,可由手机12-14获取相关TCP报文,通过网络10上传至服务器11,然后由服务器11基于本说明书的访问控制方法进行访问控制。在另一实施例中,手机12-14可以独立实现本说明书的基于IP白名单的访问控制方法;其中,由手机12-14获取相关TCP报文,并基于本说明书的访问控制方法对获取到的TCP报文进行访问控制。
下面结合附图对本说明书的访问控制方法进行详细说明。
云数据库,是指在虚拟网络环境中建立的数据库,相关云服务企业利用虚拟化技术屏蔽硬件的物理隔离性,用户可以按需获取存储资源,建立自己的云数据库。相对于传统的数据库,可以实现按需付费、按需扩展、高可用性等功能。
云服务平台,是指可以提供云服务的平台,当用户购买了企业相关的云产品时,企业的云服务平台可以提供针对于该云产品的不同服务。例如,当用户购买了相关企业的云服务器时,可以通过云服务平台部署云服务器,或者可以通过云服务平台实现实时监控,数据备份,安全防护等功能。又例如,当用户购买了相关企业的云数据库时,可以通过云服务平台部署云数据库实例,或者可以通过云服务平台实现数据备份、数据恢复等功能。
在本说明书中,云服务平台可以对接多种云数据库引擎,并面向用户提供了创建不同云数据库引擎对应的云数据库实例的功能。用户可以在所述云服务平台上创建至少一种云数据库引擎对应的至少一云数据库实例。
例如,云服务平台可以对接MySQL、SQL Server、PostgreSQL、MariaDB等数据库引擎,用户可以分别创建相应的云数据库实例。
图2是一示例性实施例提供的一种访问控制方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤202,在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文。
在本说明书中,访问发起方是指针对云数据库实例进行访问的任何电子设备。例如,可以是用户的应用服务器,也可以是攻击者针对云数据库实例进行攻击的服务器等等。用户可以在上述云服务平台建立多个云数据库实例,云数据库实例是指上述访问发起方针对多个数据库实例其中一个或多个云数据库实例进行访问的数据库实例。在本说明书中,可以通过TCP报文中的目的IP确定云数据库实例。
在一种实施方式中,云服务平台还搭载了面向所述云数据库实例提供访问控制服务的服务组件;其中,访问控制方法可以应用所述服务组件。本说明书的服务组件可以实现在传输层拦截对上述云数据库实例进行访问的TCP报文,其具体实现方式,本说明书对此不做限定。例如,可以通过云服务平台提供的操作系统中的网络控制模块实现报文拦截功能,或是通过云服务平台提供的操作系统中的安全模块实现报文拦截功能。
步骤204,解析所述TCP报文,获取所述TCP报文中包括的源IP。
在本说明书中,拦截到TCP报文后,可以解析TCP报文,获取TCP报文中包括的源IP。其中,可以获取TCP报文中的包括源IP字段包括的源IP,也可以获取TCP报文中的option字段记录的IP。
在本说明书中,上述云服务平台搭载的服务组件,可以包括基于云服务平台的操作系统内核中实现的报文解析组件。上述服务组件可以对拦截到的上述访问发起方针对云数据库实例进行访问的TCP报文进行解析,获取TCP报文中包括的源IP。其中,可以将TCP报文中的包括源IP字段作为所述TCP报文的源IP,也可以将TCP报文中的option字段记录的IP作为TCP报文中包括的源IP,本说明书对此不作限定。
在一种实施方式中,上述至少一个云数据库实例中的至少部分云数据库实例对应不同的网络访问链路。
在本说明书中,上述网络访问链路是指用户的应用服务器与上述云数据库实例进行连接时的链路。用户可以通过自身的物理服务器进行连接上述云数据库实例,用户还可以通过上述云服务平台提供的云服务器连接上述云数据库实例,用户也可以通过自身的物理服务器连接上述云服务平台提供的负载均衡中间件,再由负载均衡中间件连接上述用户实例。上述不同的连接方式对应的网络访问链路是不同的。
上述服务组件可以针对不同的网络访问链路,自动切换不同的报文解析模式,其中,在不同的报文解析模式下,从TCP报文中获取源IP地址的方式存在差异。
在拦截到TCP报文后,上述服务组件可以确定拦截到的所述TCP对应的网络访问链路,并基于确定出的网络访问链路进一步确定网络访问链路对应的报文解析模式,基于确定出的报文解析模式,解析上述TCP报文,获取TCP报文中包括的源IP。上述网络链路对应的报文解析模式,可以由用户预先设定,例如,当用户通过自身的物理服务器进行连接上述云数据库实例时,可以设定为第一模式,当用户通过上述云服务平台提供的云服务器连接上述云数据库实例时,可以设定第二模式。其中,不同的报文解析模式可以提取的源IP不同,例如,可以通过提取TCP报文中的option字段中的内容作为源IP,也可以通过提取TCP报文中报头中的源IP字段的内容作为源IP。
在一种实施方式中,上述网络访问链路可以区分为基于发起方对应的真实的IP地址进行访问的第一链路和基于所述云服务平台向所述发起方提供的IP地址进行访问第二链路。上述第一链路可以包括用户通过自身的物理服务器进行连接上述云数据库实例的网络访问链路,上述第二链路可以包括用户通过上述云服务平台提供的云服务器连接上述云数据库实例的网络访问链路,以及用户通过自身的物理服务器连接上述云服务平台提供的负载均衡中间件,再由负载均衡中间件连接上述用户实例的网络访问链路。
当上述网络访问链路是第一链路时,上述服务组件可以解析TCP报文,获取TCP报文中的option字段中包括的IP地址作为源IP。在这种模式下,普通的TCP报文中,option字段为空,因此无法获取到源IP,自然无法访问上述云数据库实例,而只有在TCP报文中option字段中加入了源IP的TCP报文,才需要与从云数据库实例获取的IP白名单进行匹配,判断是否需要进行访问控制。
当上述网络访问链路是第二链路时,上述服务组件可以解析TCP报文,获取TCP报文中的报头中包括的源IP字段包括的IP地址作为源IP。在这种模式下,所有访问云数据库的TCP报文,均要获取源IP并与从云数据库实例获取的IP白名单进行匹配,判断是否需要进行访问控制。
在一种实施方式中,上述服务组件可以包括基于云服务平台的操作系统内核中的网络控制模块的实现的报文解析组件。用户可以针对操作系统内核中的网络控制模块进一步进行开发,针对上述不同的网络访问链路,设置不同的报文解析模式,从而进一步获取TCP报文中的源IP字段,确定是否需要进行访问控制。进一步的,上述云服务平台的搭载的操作系统可以是linux操作系统,其中上述服务组件可以包括基于云服务平台搭载的linux系统中的linux内核中的netfilter模块实现的报文解析组件。
步骤206,基于所述源IP针对所述TCP报文进行访问控制。
在获取到TCP报文中包括的源IP后,可以获取云数据库实例维护IP黑名单或IP白名单,以对TCP报文进行访问控制。以IP黑名单为例,可以获取云数据库实例维护的IP黑名单,将源IP与IP黑名单上的IP地址进行匹配,当源IP在IP黑名单上时,则拦截所述TCP报文,禁止所述IP访问云数据库实例。以IP白名单为例,可以获取云数据库实例维护的IP白名单,将源IP与IP白名单上的IP地址进行匹配,当源IP在IP白名单上时,则对此TCP报文进行放行。
在一种实施方式中,由于IP黑名单的访问控制机制为除了加入IP黑名单以外的全部IP均可以访问云数据库实例,对于云数据库而言,其安全性较差。因此,优选的,访问控制功能以云数据库实例提供的IP白名单为主。
在本说明书中,云服务平台搭载的服务组件面向用户创建的云数据库实例,提供了基于IP白名单的访问控制服务。用户可以针对不同的云数据库实例创建IP白名单,并由云数据库实例进行维护。上述云服务平台的服务组件还可以基于云数据库实例维护的IP白名单,对访问发起方针对云数据库实例进行访问的TCP报文进行访问控制。其中,IP白名单为在与所述云数据库实例对应的元数据表中创建的IP白名单。上述服务组件可以读取元数据表中存储的IP地址,与访问发起方针对云数据库实例进行访问的TCP报文中源IP进行比对,从而进行访问控制。
上述服务组件获取到TCP报文中的源IP后,可以获取云数据库实例维护的IP白名单,将获取到的TCP报文中的源IP与云数据库实例维护的IP白名单中的IP地址进行匹配,如果TCP报文中的源IP在该IP白名单上,则对此TCP报文进行放行;如果TCP报文中的源IP不在该IP白名单,则对此TCP报文进行拦截。
在一种实施方式中,用户可能针对上述云数据库实例维护的IP白名单进行修改、删除等操作,因此,上述服务组件还可以对云数据库实例维护的IP白名单进行更新。其中,上述服务组件还可以维护任务调度表,所述任务调度表用于存储用户针对所述IP白名单进行更新的更新任务。
图3是一示例性实施例提供的一种服务组件对云数据库实例维护的IP白名单进行更新的流程图。如图3所示,该方法可以包括以下步骤:
步骤302,接收用户针对所述IP白名单的更新操作,所述更新操作包括所述云数据库实例对应的标识信息和针对所述云数据库的IP白名单的更新参数。
在本说明书中,用户可以针对上述多个云数据库实例中的任意一个云数据库维护的IP白名单进行更新。用户可以通过上述云服务平台,发起针对IP白名单的更新操作,其中,上述更新操作可以包括在上述IP白名单中添加IP地址,或是在上述IP白名单中删除IP地址等等。上述云服务平台搭载的服务组件可以接收用户针对数据库实例维护的IP白名单的更新操作,其中,更新操作中可以包括云数据库实例对应的标识信息,所述标识信息用于指示具体为哪个云数据库实例,更新操作中还可以包括针对云数据库IP白名单的更新参数,所述更新参数具体可以包括是增加、修改或删除标识,还可以包括对应增加、修改或删除操作对应的IP地址等等。
例如,用户可以针对某个MySQL云数据库实例维护的IP白名单增加IP地址192.158.0.1,上述服务组件可以接收用户的更新操作,并获取到该MySQL云数据库实例的标识信息,以及更新参数增加、192.158.0.1。
步骤304,基于所述云数据库实例对应的标识信息和针对所述IP白名单的更新参数,生成更新任务存储至所述任务调度表。
上述服务组件还可以维护任务调度表,所述任务调度表存储了用户针对上述IP白名单进行更新的更新任务。其中,上述服务组件可以基于上述更新操作中获取到的云数据库实例对应的标识信息和针对所述IP白名单的更新参数,生成更新任务并存储到上述任务调度表。
例如,表1是示例性实施例提供的一种任务调度表,所述任务调度表中存储了不同的云数据库实例对应不同的更新任务。例如,用户针对云数据库实例MySQL1维护的IP白名单,增加了IP地址192.158.0.1,用户针对云数据库实例MySQL2维护的IP白名单,删除了IP地址192.158.0.2,用户针对云数据库实例SQL Server1维护的IP白名单,将IP地址192.158.0.3更新为192.158.0.4。
标识信息 更新参数1 更新参数2 更新参数3
更新任务1 MySQL1 Add 192.158.0.1 Null
更新任务2 MySQL2 Delete 192.158.0.2 Null
更新任务3 SQL Server1 Update 192.158.0.3 192.158.0.4
步骤306,基于预设周期,获取所述任务调度表中的至少一个所述更新任务,基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新。
上述服务组件可以基于预先设定的周期,从上述任务调度表中获取至少一个更新任务,并基于更新任务中的内容,对IP白名单进行更新。其中,所述周期可以由用户基于云服务平台提供的计算能力进行自由设定,例如,可以设定为30秒,1分钟等等。
上述服务组件可以定时抓取任务调度表中的更新任务,并基于更新任务中云数据库实例的标识信息,获取云数据库实例维护的IP白名单。在获取到云数据库实例维护的白名单后,可以基于上述更新参数,对所述IP白名单进行更新。
在一种实施方式中,上述服务组件还可以为不同的云数据库实例生成工作流,其中,工作流用于处理云数据库实例对应的全部更新任务。
在实际应用中,用户可能对同一个云数据库实例进行多次更新操作。因此上述服务组件在抓取到任务调度表中的更新任务后,可以基于上述云数据库实例的标识信息,针对不同的云数据库实例,分别生成工作流,并将云数据库标识信息对应的全部所述更新任务分发至所述工作流,以使工作流可以处理该云数据库实例对应的全部所述更新任务。上述工作流可以基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新。其中,工作流具体可以是一组执行更新动作的线程,在上述服务组件在抓取到任务调度表中的更新任务,可以从工作线程池中分配一组线程作为工作流以处理更新任务。
图4是一示例性实施例提供的一种由工作流处理更新任务的示意图。如图4所示,云服务平台在接收用户针对IP白名单的更新操作后,可以针对用户的更新操作,生成不同的更新任务,并将更新任务持久化至任务调度表,也即将更新任务对应的云数据库实例的标识信息、针对所述IP白名单的更新参数存储至任务调度表。
针对不同的数据库实例,上述服务组件可以为不同的数据库实例分别生成工作流,如图4所示,可以为MySQL数据库实例1生成第一工作流,为MySQL数据库实例2生成第二工作流,为SQL Server数据库实例1生成第三工作流。其中,每一工作流用于处理该数据库实例的全部更新任务。
在一种实施方式中,上述服务组件还可以生成一个定时调度进程,所述定时调度进程用于定时从任务调度表中抓取更新任务,并为每一云数据库实例生成工作流,同时锁定该云数据库实例的状态,当有新的更新任务时,与原有的更新任务进行合并,当全部更新任务处理完毕后,再更新云数据库实例的状态,需要说明的是,定时调度进程在抓取到一组更新任务后,同一云数据库实例可能具有多个更新任务,例如,针对云数据库实例SQLServer1,将IP白名单中的IP192.158.0.3更新为192.158.0.4;并将IP白名单中192.158.0.2进行删除。针对同一云数据库实例可能具有多个更新任务的情况,可以将多个更新任务按时间顺序进行合并,以由工作流针对所述更新任务进行快速处理。同时,还可能存在当工作流还没有处理完全部的更新任务时,定时调度进程再次从任务调度表中抓取更新任务的情况,此时新的更新任务中可能包括与还没处理完成的云数据库实例对应的更新任务,此时可以将同一云数据库实例新的更新任务与原有的更新任务进行合并,以由工作流针对所述更新任务进行快速处理。
上述服务组件会针对每一云数据库实例,定时检查是否具有新的更新任务,当一段时间内定时调度进程没有抓取到针对云数据库实例的更新任务后,由定时调度进程释放工作流,并更新云数据库实例的状态。
图5是一示例性实施例提供的一种种服务组件对云数据库实例维护的IP白名单进行更新的交互示意图。如图5所示,云服务平台在接收用户针对IP白名单的更新操作后,可以针对用户的更新操作,生成不同的更新任务,并将更新任务持久化至任务调度表,也即将更新任务对应的云数据库实例的标识信息、针对所述IP白名单的更新参数存储至任务调度表。定时调度进程可以定时从任务调度表中获取一组更新任务,针对更新任务,由定时调度进程为对应的云数据库实例生成工作流,同时从工作线程池为工作流分配工作线程。工作流基于更新任务的更新参数,对云数据库实例维护的IP白名单进行更新。同时,定时调度进程持续的从任务调度表中获取一组更新任务,当云数据库实例有新的更新任务到来时,可以将同一云数据库实例的更新任务进行合并,再由工作流进行处理。当在一段时候后确认没有新的更新任务后,再更新数据库状态。
步骤308,将更新后的IP白名单下发至所述云数据库实例,以由所述云数据库实例维护所述更新后的IP白名单。
上述服务组件在获取到IP白名单并对IP白名单进行更新后,可以将更新后的IP白名单下发至云数据库实例,并由云数据库实例维护更新后的IP白名单。
在一种实施方式中,上述工作流在针对每一云数据库实例的更新任务处理完成后,会生成针对该云数据库实例的白名单刷新命令,以及更新后的IP白名单。可以由工作流将白名单刷新命令以及更新后的IP白名单下发至与工作流对应的云数据库实例。由于工作流可能对应不同的云数据库实例,且各个云数据库实例的实现方式不同,因此下发IP白名单刷新命令的方式可以针对不同的云数据库实例进行调整,例如可以通过PRC算法实现的PRC链路直接下发白名单刷新命令以及对应的IP白名单;也可以通过拉取云数据库实例对应的工具镜像,在工具镜像的基础上对IP白名单直接进行更新;或者是直接通过调用云数据库实例对应的API,通过API对IP白名单进行更新。针对不同的云数据库实例,可以由用户自主设定下发IP白名单刷新命令的方式,也可以由服务组件自动针对不同的云数据库实例选择不同的IP白名单下发方式,本说明书对此不作限定。
图6是一示例性实施例提供的一种将白名单刷新命令下发至云数据库实例的示意图。由于每一工作流可能对应不同的云数据库实例,因此针对不同的云数据库实例可以使用不同的方式下发白名单刷新命令。在上述工作流针对每一云数据库实例的更新任务处理完成后,生成针对云数据库实例的白名单刷新命令,以及更新后的IP白名单,由工作流按照每一云数据库实例对应的方式下发白名单刷新命令。如图6所示,第一工作流可以按照PRC链路的方式将IP白名单下发至第一云数据库实例,第二工作流可以拉取第二云数据库实例对应的工具镜像,在工具镜像的基础上对IP白名单进行IP白名单的更新,第三工作量可以调用云数据库实例对应的API,通过API对IP白名单进行更新。
通过上述实施例,服务组件直接在传输层拦截TCP报文,解析所TCP报文获取源IP,并针对TCP报文中的源IP进行访问控制,无需由数据库引擎自身实现报文拦截以及报文解析等功能,节约开发成本;当在云服务平台创建多个云数据库实例时,可以通过上述服务组件统一对所有云数据库实例维护的IP白名单进行管理,进而基于IP白名单进行访问控制,而无需针对每一种数据库开发基于IP白名单的访问控制功能,进一步节约开发成本,提高用户管理数据库维护上述IP白名单的效率。
图7是一示例性实施例提供的一种电子设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他任务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件亦或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,图8是一示例性实施例提供的一种访问控制装置的框图。
报文拦截单元802,用于在传输层拦截访问发起方针对所述至少一个云数据库实例中的任一云数据库实例进行访问的TCP报文;
报文解析单元804,用于解析所述TCP报文,获取所述TCP报文中包括的源IP;
访问控制单元806,基于所述源IP针对所述TCP报文进行访问控制。
可选的,所述访问控制单元806,具体用于获取所述目标云数据库实例维护的IP白名单,并将所述源IP与所述IP白名单中的IP地址进行匹配,以对所述TCP报文进行访问控制。
可选的,所述IP白名单为在与所述云数据库实例对应的元数据表中创建的IP白名单。
可选的,所述至少一种云数据库中的至少部分云数据库对应不同的网络访问链路;所述服务组件支持与所述不同的网络访问链路分别对应的多种报文解析模式;其中,在不同的报文解析模式下,从TCP报文中获取源IP地址的方式存在差异;
上述报文拦截单元802,包括:
确定与拦截到的所述TCP报文对应的网络访问链路;
基于与确定出的所述网络访问链路对应的报文解析模式,解析所述TCP报文,获取所述TCP报文中包括的源IP。
可选的,所述不同的网络访问链路包括基于发起方对应的真实的IP地址进行访问的第一链路,以及基于所述云服务平台向所述发起方提供的IP地址进行访问第二链路;
上述报文解析单元804,包括:
当所述网络访问链路为第一链路时,解析所述TCP报文,获取所述TCP报文中的源IP字段包括的IP地址作为源IP;
当所述网络访问链路为第二链路时,解析所述TCP报文,取所述TCP报文中的option字段包括的IP地址作为源IP。
可选的,所述服务组件包括在所述云服务平台的操作系统内核中实现的报文解析组件。
可选的,所述服务组件包括基于所述云服务平台的操作系统内核中的网络控制模块实现的报文解析组件。
可选的,所述云服务平台搭载的操作系统为linux系统;所述服务组件包括基于所述云服务平台的linux内核中的netfilter模块实现的报文解析组件。
可选的,上述服务组件维护了任务调度表,所述任务调度表用于存储用户针对所述IP白名单进行更新的更新任务,所述装置还包括:
白名单更新单元,用于接收用户针对所述IP白名单的更新操作,所述更新操作包括所述云数据库实例对应的标识信息和针对所述云数据库的IP白名单的更新参数;
基于所述云数据库实例对应的标识信息和针对所述IP白名单的更新参数,生成更新任务存储至所述任务调度表;
基于预设周期,获取所述任务调度表中的至少一个所述更新任务,基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新;
将更新后的IP白名单下发至所述云数据库实例,以由所述云数据库实例维护所述更新后的IP白名单。
可选的,所述白名单更新单元,用于基于预设周期,获取所述任务调度表中的至少一个所述更新任务;
基于所述更新任务中所述云数据库实例的标识信息,分别为所述云数据库实例生成工作流,所述工作流用于处理所述云数据库实例标识信息对应的全部更新任务;
基于所述云数据库实例的标识信息,将所述云数据库实例的标识信息对应的所述更新任务发至所述工作流,使所述工作流基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (14)

1.一种访问控制方法,所述方法包括:
在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文;
解析所述TCP报文,获取所述TCP报文中包括的源IP;
基于所述源IP针对所述TCP报文进行访问控制。
2.据权利要求1所述的方法,所述基于所述源IP针对所述TCP报文进行访问控制,包括:
获取所述云数据库实例维护的IP白名单,并将所述源IP与所述IP白名单中的IP地址进行匹配,以对所述TCP报文进行访问控制。
3.据权利要求2所述的方法,所述IP白名单为在与所述云数据库实例对应的元数据表中创建的IP白名单。
4.根据权利要求1所述的方法,所述云服务平台搭载了面向所述云数据库实例提供访问控制服务的服务组件;所述方法应用于所述服务组件。
5.根据权利要求4所述的方法,所述云数据库实例中的至少部分云数据库实例对应不同的网络访问链路;所述服务组件支持与所述不同的网络访问链路分别对应的多种报文解析模式;其中,在不同的报文解析模式下,从TCP报文中获取源IP地址的方式存在差异;
解析所述TCP报文,获取所述TCP报文中包括的源IP,包括:
确定与拦截到的所述TCP报文对应的网络访问链路;
基于与确定出的所述网络访问链路对应的报文解析模式,解析所述TCP报文,获取所述TCP报文中包括的源IP。
6.根据权利要求5所述的方法,所述不同的网络访问链路包括基于发起方对应的真实的IP地址进行访问的第一链路,以及基于所述云服务平台向所述发起方提供的IP地址进行访问第二链路;
基于与确定出的所述网络访问链路对应的报文解析模式,解析所述TCP报文,获取所述TCP报文中包括的源IP,包括:
当所述网络访问链路为第一链路时,解析所述TCP报文,获取所述TCP报文中的option字段包括的IP地址作为源IP;
当所述网络访问链路为第二链路时,获取所述TCP报文中的源IP字段包括的IP地址作为源IP。
7.根据权利要求4所述的方法,所述服务组件包括在所述云服务平台的操作系统内核中实现的报文解析组件。
8.根据权利要求7所述的方法,所述服务组件包括基于所述云服务平台的操作系统内核中的网络控制模块实现的报文解析组件。
9.根据权利要求8所述的方法,所述云服务平台搭载的操作系统为linux系统;所述服务组件包括基于所述云服务平台的linux内核中的netfilter模块实现的报文解析组件。
10.根据权利要求4所述的方法,所述服务组件维护了任务调度表,所述任务调度表用于存储用户针对所述IP白名单进行更新的更新任务,所述方法还包括:
接收用户针对所述IP白名单的更新操作,所述更新操作包括所述云数据库实例对应的标识信息和针对所述云数据库的IP白名单的更新参数;
基于所述云数据库实例对应的标识信息和针对所述IP白名单的更新参数,生成更新任务存储至所述任务调度表;
基于预设周期,获取所述任务调度表中的至少一个所述更新任务,基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新;
将更新后的IP白名单下发至所述云数据库实例,以由所述云数据库实例维护所述更新后的IP白名单。
11.根据权利要求10所述的方法,基于预设周期,获取所述任务调度表中的至少一个所述更新任务,基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新,包括:
基于预设周期,获取所述任务调度表中的至少一个所述更新任务;
基于所述更新任务中所述云数据库实例的标识信息,分别为所述云数据库实例生成工作流,所述工作流用于处理所述云数据库实例标识信息对应的全部更新任务;
基于所述云数据库实例的标识信息,将所述云数据库实例的标识信息对应的所述更新任务分发至所述工作流,以使所述工作流基于所述云数据库实例的标识信息,获取所述云数据库实例维护的IP白名单,基于所述IP白名单的更新参数,对所述IP白名单进行更新。
12.一种访问控制装置,所述装置包括:
报文拦截单元,用于在传输层拦截访问发起方发起的TCP报文;其中,所述TCP报文为针对云服务平台上创建的云数据库实例进行访问的TCP报文;
报文解析单元,用于解析所述TCP报文,获取所述TCP报文中包括的源IP;
访问控制单元,基于所述源IP针对所述TCP报文进行访问控制。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-9中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-11中任一项所述的方法。
CN202210893488.XA 2022-07-27 2022-07-27 访问控制方法、装置、电子设备及可读存储介质 Pending CN115314266A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210893488.XA CN115314266A (zh) 2022-07-27 2022-07-27 访问控制方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210893488.XA CN115314266A (zh) 2022-07-27 2022-07-27 访问控制方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115314266A true CN115314266A (zh) 2022-11-08

Family

ID=83858484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210893488.XA Pending CN115314266A (zh) 2022-07-27 2022-07-27 访问控制方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115314266A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200190A (zh) * 2013-03-26 2013-07-10 北京理工大学 一种面向QualNet网络半实物仿真的实物接入方法
CN112134893A (zh) * 2020-09-25 2020-12-25 杭州迪普科技股份有限公司 物联网安全防护方法、装置、电子设备及存储介质
CN112910831A (zh) * 2019-12-04 2021-06-04 中兴通讯股份有限公司 报文匹配方法、装置、防火墙设备和存储介质
CN114070619A (zh) * 2021-11-12 2022-02-18 中国工商银行股份有限公司 数据库异常访问的监控方法、监控系统、设备和存储介质
CN114126084A (zh) * 2020-08-26 2022-03-01 中兴通讯股份有限公司 数据处理方法、基站、终端及存储介质
CN114697088A (zh) * 2022-03-17 2022-07-01 神州绿盟成都科技有限公司 一种确定网络攻击的方法、装置及电子设备
CN114745144A (zh) * 2020-12-24 2022-07-12 网神信息技术(北京)股份有限公司 访问控制方法和装置、电子设备、存储介质及程序

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200190A (zh) * 2013-03-26 2013-07-10 北京理工大学 一种面向QualNet网络半实物仿真的实物接入方法
CN112910831A (zh) * 2019-12-04 2021-06-04 中兴通讯股份有限公司 报文匹配方法、装置、防火墙设备和存储介质
CN114126084A (zh) * 2020-08-26 2022-03-01 中兴通讯股份有限公司 数据处理方法、基站、终端及存储介质
CN112134893A (zh) * 2020-09-25 2020-12-25 杭州迪普科技股份有限公司 物联网安全防护方法、装置、电子设备及存储介质
CN114745144A (zh) * 2020-12-24 2022-07-12 网神信息技术(北京)股份有限公司 访问控制方法和装置、电子设备、存储介质及程序
CN114070619A (zh) * 2021-11-12 2022-02-18 中国工商银行股份有限公司 数据库异常访问的监控方法、监控系统、设备和存储介质
CN114697088A (zh) * 2022-03-17 2022-07-01 神州绿盟成都科技有限公司 一种确定网络攻击的方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高庆锋;李春林;: "基于TCP/IP协议网络数据报的截获并篡改的研究及实现", 计算机安全, no. 04, 5 April 2007 (2007-04-05) *

Similar Documents

Publication Publication Date Title
US11106655B2 (en) Asset management system, method, apparatus, and electronic device
US10868673B2 (en) Network access control based on distributed ledger
KR102396739B1 (ko) 자산 관리 방법 및 장치, 및 전자 디바이스
JP6348937B2 (ja) オブジェクト記憶システムにおけるオブジェクトデータの更新方法及び更新装置
US10095549B1 (en) Ownership transfer account service in a virtual computing environment
US20210234669A1 (en) Using cache objects to store events for adding corresponding objects in a blockchain
KR20190136053A (ko) 서비스 데이터를 블록체인 시스템에 기입하기 위한 방법 및 디바이스
JP2021511561A (ja) 資産管理方法および装置ならびに電子デバイス
KR20200084009A (ko) 자산 관리 방법 및 장치, 및 전자 디바이스
US10887261B2 (en) Dynamic attachment delivery in emails for advanced malicious content filtering
US10031948B1 (en) Idempotence service
US8635682B2 (en) Propagating security identity information to components of a composite application
WO2017192549A1 (en) System and method for secure and efficient communication within an organization
US9245132B1 (en) Systems and methods for data loss prevention
CN110764930A (zh) 基于消息模式的请求或应答处理方法及装置
CN115314266A (zh) 访问控制方法、装置、电子设备及可读存储介质
US9305007B1 (en) Discovering relationships using deduplication metadata to provide a value-added service
CN115630392A (zh) 一种基于无服务器架构的隐私数据管理方法和计算网关
CN115766173A (zh) 数据的处理方法、系统及装置
CN117632395A (zh) 工作流处理方法、装置、设备、存储介质和程序产品
CN113420288A (zh) 一种容器镜像敏感信息检测系统及方法
CN112528339A (zh) 一种基于Caché数据库的数据脱敏方法及电子设备
WO2015021848A1 (en) Method and apparatus for data distribution and concurrence
US9612885B1 (en) System and method for providing a transient and removable inflection point
US20150189000A1 (en) Method, system and device for distributed application execution between electronic devices and cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination