CN115048272A - 容器监控处理方法、装置、宿主机、系统、存储介质及程序产品 - Google Patents
容器监控处理方法、装置、宿主机、系统、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115048272A CN115048272A CN202210746504.2A CN202210746504A CN115048272A CN 115048272 A CN115048272 A CN 115048272A CN 202210746504 A CN202210746504 A CN 202210746504A CN 115048272 A CN115048272 A CN 115048272A
- Authority
- CN
- China
- Prior art keywords
- container
- mirror image
- process data
- file
- abnormal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请涉及容器监控处理方法、装置、宿主机、系统、存储介质及程序产品,属于信息安全技术领域。本申请中,当检测到容器中有新建进程时,利用该新建进程的进程标识,获取该新建进程的其他维度信息,并将该新建进程的进程标识和其他维度信息建立关联,以此形成该新建进程的进程数据,然后,确定该新建进程所属容器所对应的容器镜像,并将该新建进程的进程数据添加到该新建进程所属容器所对应的容器镜像中,再利用宿主机中容器代理端配置的代理端进程检测规则集,对容器镜像中的进程数据进行异常进程检测处理。以此实现在容器外对容器的运行安全进行监控,而不是直接在容器中对运行的进程进行检测,进而可降低容器自身运行的负担压力。
Description
技术领域
本申请属于信息安全技术领域,具体涉及容器监控处理方法、装置、宿主机、系统、存储介质及程序产品。
背景技术
容器为网络服务商的应用程序提供了隔离的运行环境空间,具体为每个容器内都包含一个独享的完整运行环境空间,并且一个容器内的变动不会影响其他容器的运行环境。容器中运行应用程序时其处理能力是一定的,因容器运行时需要对容器进行安全监控,对于采用在容器中运行安全监控应用程序的方式,安全监控应用程序对容器中其他应用程序的监控会占用容器相当一部分处理能力,这可能会给容器运行带来较大的负担压力。
发明内容
为此,本申请提供容器监控处理方法、装置、宿主机、系统、存储介质及程序产品,有助于解决采用在容器中运行安全监控应用程序的方式,对容器中其他应用程序的监控会占用容器相当一部分处理能力,由此可能会给容器运行带来较大负担压力的问题。
为实现以上目的,本申请采用如下技术方案:
第一方面,本申请提供一种容器监控处理方法,所述方法应用于配置容器的宿主机,所述方法包括:
当检测到容器中有新建进程时,利用所述新建进程的进程标识,获取所述新建进程的其他维度信息,并将所述新建进程的所述进程标识和所述其他维度信息建立关联,以形成所述新建进程的进程数据;
确定所述新建进程所属容器所对应的容器镜像,将所述新建进程的所述进程数据添加到所述新建进程所属容器所对应的所述容器镜像中;
利用宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理。
第二方面,本申请提供一种容器监控处理装置,所述容器监控处理装置应用于配置容器的宿主机,所述容器监控处理装置包括:
进程数据得到模块,用于当检测到容器中有新建进程时,利用所述新建进程的进程标识,获取所述新建进程的其他维度信息,并将所述新建进程的所述进程标识和所述其他维度信息建立关联,以形成所述新建进程的进程数据;
进程数据添加至容器镜像模块,用于确定所述新建进程所属容器所对应的容器镜像,将所述新建进程的所述进程数据添加到所述新建进程所属容器所对应的所述容器镜像中;
宿主机端进程检测处理模块,用于利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理。
第三方面,本申请提供一种容器宿主机,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
第四方面,本申请提供一种容器监控系统,包括:
如上述第三方面所述的容器宿主机。
第五方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
第六方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述第一方面所述的方法。
本申请采用以上技术方案,至少具备以下有益效果:
本申请针对容器宿主机中配置的各容器,当检测到容器中有新建进程时,利用该新建进程的进程标识,获取该新建进程的其他维度信息,并将该新建进程的进程标识和其他维度信息建立关联,以此形成该新建进程的进程数据,然后,确定该新建进程所属容器所对应的容器镜像,并将该新建进程的进程数据添加到该新建进程所属容器所对应的容器镜像中,再利用宿主机中容器代理端配置的代理端进程检测规则集,对容器镜像中的进程数据进行异常进程检测处理。以此实现在容器外对容器的运行安全进行监控,而不是直接在容器中对运行的进程进行检测,进而可降低容器自身运行的负担压力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的容器监控处理方法的流程图;
图2是根据一示例性实施例示出的容器宿主机应用容器监控处理装置的框图结构示意图;
图3是根据一示例性实施例示出的容器宿主机的框图结构示意图;
图4是根据一示例性实施例示出的容器监控系统的框图结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
请参阅图1,图1是根据一示例性实施例示出的容器监控处理方法的流程图,该容器监控处理方法应用于容器宿主机,该容器监控处理方法包括如下步骤:
步骤S11、当检测到容器中有新建进程时,利用所述新建进程的进程标识,获取所述新建进程的其他维度信息,并将所述新建进程的所述进程标识和所述其他维度信息建立关联,以形成所述新建进程的进程数据。
容器为应用程序提供了隔离的运行空间,具体为每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。在实际应用中,容器宿主机中可以配置有一个或者两个或者两个以上的容器,在容器中,当有应用程序运行时,在容器中会新建对应的进程,进程是一个程序的执行实例,也就是正在执行的程序。在进程创建时,会为进程创建相应的进程标识(Pid),通过进程标识,可以采集获取到对应进程的其他维度信息,该其他维度信息可以包括但不限于以下相关信息:进程路径cwd、进程启动时的终端设备TTY信息、父进程的进程号PPID(如果该进程是由另一个进程启动的,则该进程具有父进程)、进程名Name、进程可执行程序位置exe、进程执行用户username、进程启动时间bootTime、进程会话session,以及进程链上的相关信息等。利用上述的进程维度信息可以实现对进程的安全监控。
对于利用新建进程的进程标识,来获取该新建进程的其他维度信息,在实际应用中,可以通过宿主机中的代理服务Agent获取容器中新建进程的进程标识(Pid),具体可通过应用程序与操作系统内核之间的通信协议Netlink,从操作系统内核中获取新建进程的进程标识,然后利用进程标识创建各进程维度信息的获取路径,通过各获取路径来采集该新建进程相应的各维度信息。如:根据进程标识(Pid),创建如下获取维度信息的获取路径:/proc/{pid}/exe,通过该获取路径来采集进程的可执行exe文件;又如:根据进程标识(Pid),创建如下获取维度信息的获取路径:/proc/{pid}/cmdline,通过该获取路径来采集进程的命令行cmdline参数;又如:根据进程标识(Pid),创建如下获取维度信息的获取路径:/proc/{pid}/cgroup,通过该获取路径可以采集到相应进程所属控制组cgroups信息,其中,控制组cgroups信息中记录有进程所属容器的容器标识(container_id)信息,进而通过容器标识(container_id)信息,可以查询到对应容器的相关信息。
在获取到新建进程的其他维度信息后,将该新建进程的进程标识和该新建进程的其他维度信息建立关联,以此形成该新建进程的进程数据,该进程数据在后续用于在容器外对容器的运行安全进行监控。
步骤S12、确定所述新建进程所属容器所对应的容器镜像,将所述新建进程的所述进程数据添加到所述新建进程所属容器所对应的所述容器镜像中。
具体的,可以事先为容器创建容器镜像,通过容器镜像来存储上述步骤S1得到的进程数据。容器中出现新建进程后,表明容器中发生了变更,而容器镜像是静态的,因而将该新建进程的进程数据,添加到该新建进程所属容器所对应的容器镜像中,与对应的容器形成同步,来保证在容器外对容器运行安全进行监控的数据同步。
在一个实施例中,对于所述确定所述新建进程所属容器所对应的容器镜像,包括:
获取所述新建进程所属容器的容器标识;
利用所述容器标识与对应所述容器镜像的映射关系,确定出所述新建进程所属容器所对应的所述容器镜像。
具体的,可以事先为容器创建好对应的容器镜像,并通过容器的容器标识,与容器镜像建立起映射关系,通过这种映射关系,只需要通过容器标识,即可自动对接查找到对应的容器镜像。
对于获取新建进程所属容器的容器标识,可以根据进程标识(Pid),创建如下获取路径:/proc/{pid}/cgroup,通过该获取路径可以采集到相应进程所属控制组cgroups信息,其中,控制组cgroups信息中记录有进程所属容器的容器标识(container_id)信息,从控制组cgroups信息中获取到容器标识(container_id)信息,然后根据获取到的容器标识(container_id)信息,利用容器标识与对应容器镜像的映射关系,找到该新建进程所属容器所对应的容器镜像,将该新建进程的进程数据添加到该新建进程所属容器所对应的容器镜像中。
在一个实施例中,所述利用所述容器标识与对应所述容器镜像的映射关系,确定出所述新建进程所属容器所对应的所述容器镜像之前,所述方法还包括:
利用容器的套接字socket接口,定时获取容器宿主机上的在运行容器;
针对所述在运行容器,建立对应的所述容器镜像,并将所述在运行容器的所述容器标识与对应的所述容器镜像建立映射关系。
具体的,通过容器的套接字socket接口,可以获取到容器宿主机上的容器运行信息,该容器运行信息包括但不限于以下内容:在运行容器的数量,在运行容器的容器标识以及在运行容器的详细配置信息。基于该容器运行信息,可以为各个在运行容器建立对应的容器镜像,然后,将各个在运行容器的容器标识与对应的容器镜像建立映射关系,通过这种映射关系,只需要通过容器标识,即可自动对接查找到对应的容器镜像。
通过该方案定时更新容器运行情况,为在运行容器建立容器镜像,进而针对在运行容器,在容器外对容器的运行安全进行监控,可以保证作为监控用的进程数据的有效性。
步骤S13、利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理。
宿主机中容器代理端进行容器代理服务,容器代理端可以配置有代理端进程检测规则集,该代理端进程检测规则集用来判断进程是否异常,利用宿主机中容器代理端配置的代理端进程检测规则集,对容器镜像中的进程数据进行异常进程检测处理,以此实现在容器外对容器的运行安全进行监控,而不是直接在容器中对运行的进程进行检测,进而可降低容器自身运行的负担压力。
在一个实施例中,对于步骤S13、所述利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理,包括:
通过所述容器代理端获取所述容器镜像中的所述进程数据;
利用所述代理端进程检测规则集,对所述进程数据中所述其他维度信息的各维度信息进行检测;
当检测到有维度信息命中所述代理端进程检测规则集中的进程检测规则时,基于所述进程数据中的所述进程标识进行告警提示。
具体的,通过步骤S11可知,每个进程数据中携带有进程标识,通过容器代理端,可以基于进程标识来获取容器镜像中的进程数据,针对每个进程数据的各其他维度信息,利用代理端进程检测规则集进行检测,例如,其中一个检测规则为:判断命令行cmdline是否含有预设的敏感关键字,该敏感关键字可以包括但不限于如下内容:“whoami”,该关键字用于查询当前用户;“pwd”,该关键字用于查询当前工作目录的路径。当有维度信息命中代理端进程检测规则集中的某个进程检测规则时,表明该进程数据所对应的进程存在异常,因进程标识能够指示对应的进程,因而可通过该进程数据中的进程标识进行告警提示。
综上,针对容器宿主机中配置的各容器,当检测到容器中有新建进程时,利用该新建进程的进程标识,获取该新建进程的其他维度信息,并将该新建进程的进程标识和其他维度信息建立关联,以此形成该新建进程的进程数据,然后,确定该新建进程所属容器所对应的容器镜像,并将该新建进程的进程数据添加到该新建进程所属容器所对应的容器镜像中,再利用宿主机中容器代理端配置的代理端进程检测规则集,对容器镜像中的进程数据进行异常进程检测处理。以此实现在容器外对容器的运行安全进行监控,而不是直接在容器中对运行的进程进行检测,进而可降低容器自身运行的负担压力。
在一个实施例中,所述方法还包括:
利用所述容器代理端将所述进程数据发送至云端服务器的分布式消息队列Kafka,以使所述云端服务器的流处理框架Flink,从所述分布式消息队列Kafka中获取所述进程数据,将所述进程数据存储于所述云端服务器的搜索引擎ElasticSearch中,并在所述搜索引擎ElasticSearch中,基于所述进程数据中的所述进程标识,对所述进程数据建立索引,以及利用所述云端服务器中的云端进程检测规则集,对建立索引的所述进程数据进行异常进程检测处理。
容器代理端可以定时收集进程数据进行聚合投递,对于进程数据可以先进入容器宿主机中的缓冲区,容器代理端利用缓冲区向云端服务器发送进程数据,比如,容器代理端定时(如包括但不限于每秒)收集一次进程数据,将收集的进程数据聚合在一起,若聚合的数据量超过缓冲区的容量,将一部分数据分离出来,使剩下的数据能一次性全部进入缓冲区被投递出去,发送给云端服务器的分布式消息队列Kafka,通过上述操作可以避免进程数据发送过载,对于被分离出来的进程数据,可以放入下一次投递。云端服务器通过其分布式消息队列Kafka来接收宿主机发送过来的进程数据,然后,云端服务器的流处理框架Flink,将Kafka中的进程数据写入搜索引擎ElasticSearch中。分布式消息队列Kafka能够基于数据流量构建实时的流数据通道,可同时为容器代理端发送进程数据和流处理框架Flink读取进程数据提供高吞吐量。
针对存储于搜索引擎ElasticSearch中的进程数据,云端服务器利用各进程数据的进程标识,对进程数据建立索引,基于建立索引的进程数据,云端服务器利用预配置的云端进程检测规则集,对进程数据进行异常进程检测处理,因云端服务器是独立于容器宿主机的,在云端服务器配置云端进程检测规则集时,可以配置更加全面,比如,云端进程检测规则集能对进程数据中所有维度信息都进行检测。当云端服务器检测到异常进程时,云端服务器可基于异常进程的进程标识向容器宿主机发送告警提示。该方案通过在云端服务器对进程数据进行检测,以此也实现在容器外对容器的运行安全进行监控。
在一个实施例中,所述方法还包括:
针对所述容器镜像中的文件,进行异常文件检测,并当检测出异常文件时,获取所述异常文件在所述容器镜像中的访问路径;
利用所述访问路径,通过所述容器代理端从所述容器镜像所对应的容器中查找到对应的文件,针对查找到的文件,做隔离或者删除处理。
上述方案基于容器镜像中的各个文件进行异常文件检测,以此方式在容器外对容器的运行安全进行监控,并当在该容器镜像中检测出异常文件时,利用该容器镜像中异常文件的访问路径,通过容器代理端从该容器镜像所对应的容器中查找对应的文件,查找到的文件即为异常文件,对该查找到的文件做隔离或者删除处理,以此方式对容器中的文件做监控处理,来降低容器自身运行的负担压力。
对于针对所述容器镜像中的文件,进行异常文件检测,本申请提供以下实施例进行说明。
在一个实施例中,所述针对所述容器镜像中的文件,进行异常文件检测,包括:
步骤S201、获取所述容器镜像中web服务的根目录;
步骤S202、利用预设网页后门文件webshell检测规则,对所述web服务的根目录下的web文件进行检测,检测是否存在网页后门文件,若存在网页后门文件,则确定检测出异常文件。
网页后门文件WebShell是以网页文件形式存在的一种恶意的网页后门文件。网页后门文件WebShell与web服务的根目录webroot下正常的网页文件混在一起,通过网页后门文件WebShell可以对网站服务器进行数据删除或者修改等恶意操作。
网页后门文件WebShell可以包括但不限于GET_cmd等高危命令脚本文件。具体的,以GET_cmd高危命令脚本文件为例,可以有如下文件内容的网页后门文件WebShell:
<?
system($_GET['cmd']);
echo'<form method="post"action="../../hackable/uploads/webshell.php"><input type="text"name="cmd"/></form>';
?>
对于网页后门文件WebShell,可以通过正则匹配规则进行识别,以上述具体示例给出的文件为例,可以制定如下检测GET_cmd高危命令脚本文件的正则匹配规则:
[^\\>](\\$_GET|\\$_POST)\\[[^\\(\\)\\{\\}\\[\\]]{0,8}\\]\\((\\$_GET|\\$_POST)\\[
具体的,可以遍历容器镜像中web服务根目录下的各个web文件,利用上述针对GET_cmd高危命令脚本文件的正则匹配规则,检测各个web文件的内容中是否存在被该正则匹配规则命中的关键词,如上述网页后门文件WebShell的具体实例中,存在“GET”和“POST”关键词,即可被该正则匹配规则命中,从而该文件被检测为网页后门文件WebShell。
当在该容器镜像中检测出网页后门文件WebShell时,利用其在该容器镜像中的访问路径,通过容器代理端从该容器镜像所对应的容器中查找对应的文件,查找到的文件即为网页后门文件WebShell,对该查找到的文件做隔离或者删除处理,以此方式对容器中的文件做监控处理,来降低容器自身运行的负担压力。
在另一个实施例中,所述针对所述容器镜像中的文件,进行异常文件检测,包括:
获取所述容器镜像中各文件的文件路径,利用预设的异常路径集,当检测出所述容器镜像中有文件路径命中所述异常路径集中的异常路径时,则确定检测出异常文件。
实际应用中,如木马文件等一些异常文件有固定的文件路径,以木马文件为例,如gates木马,会创建固定文件路径:/tmp/gate.lod。在异常路径集中汇集如上述的gates木马固定文件路径,对容器镜像中对各文件路径进行逐一识别,当检测出该容器镜像中有文件路径命中异常路径集中的异常路径时,则确定检测出异常文件。然后,在当该容器镜像中检测出异常文件时,利用该容器镜像中异常的文件路径,通过容器代理端从该容器镜像所对应的容器中查找对应的文件,查找到的文件即为异常文件,对该查找到的文件做隔离或者删除处理,以此方式对容器中的文件做监控处理,来降低容器自身运行的负担压力。
请参阅图2,图2是根据一示例性实施例示出的容器宿主机应用容器监控处理装置的框图结构示意图,该容器监控处理装置2包括:
进程数据得到模块21,用于当检测到容器中有新建进程时,利用所述新建进程的进程标识,获取所述新建进程的其他维度信息,并将所述新建进程的所述进程标识和所述其他维度信息建立关联,以形成所述新建进程的进程数据;
进程数据添加至容器镜像模块22,用于确定所述新建进程所属容器所对应的容器镜像,将所述新建进程的所述进程数据添加到所述新建进程所属容器所对应的所述容器镜像中;
宿主机端进程检测处理模块23,用于利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理。
进一步地,进程数据添加至容器镜像模块22中,确定所述新建进程所属容器所对应的容器镜像,包括:获取所述新建进程所属容器的容器标识;利用所述容器标识与对应所述容器镜像的映射关系,确定出所述新建进程所属容器所对应的所述容器镜像。
进一步地,进程数据添加至容器镜像模块22,在利用所述容器标识与对应所述容器镜像的映射关系,确定出所述新建进程所属容器所对应的所述容器镜像之前,还用于:利用容器的套接字socket接口,定时获取容器宿主机上的在运行容器;针对所述在运行容器,建立对应的所述容器镜像,并将所述在运行容器的所述容器标识与对应的所述容器镜像建立映射关系。
进一步地,宿主机端进程检测处理模块23,具体用于:通过所述容器代理端获取所述容器镜像中的所述进程数据;利用所述代理端进程检测规则集,对所述进程数据中所述其他维度信息的各维度信息进行检测;当检测到有维度信息命中所述代理端进程检测规则集中的进程检测规则时,基于所述进程数据中的所述进程标识进行告警提示。
进一步地,所述容器监控处理装置2还包括:
宿主机端文件检测处理模块24,用于针对所述容器镜像中的文件,进行异常文件检测,并当检测出异常文件时,获取所述异常文件在所述容器镜像中的访问路径;利用所述访问路径,通过所述容器代理端从所述容器镜像所对应的容器中查找到对应的文件,针对查找到的文件,做隔离或者删除处理。
进一步地,宿主机端文件检测处理模块24中,所述针对所述容器镜像中的文件,进行异常文件检测,包括:获取所述容器镜像中web服务的根目录;利用预设网页后门文件webshell检测规则,对所述web服务的根目录下的web文件进行检测,检测是否存在网页后门文件,若存在网页后门文件,则确定检测出异常文件。
进一步地,宿主机端文件检测处理模块24中,所述针对所述容器镜像中的文件,进行异常文件检测,包括:获取所述容器镜像中各文件的文件路径,利用预设的异常路径集,当检测出所述容器镜像中有文件路径命中所述异常路径集中的异常路径时,则确定检测出异常文件。
进一步地,所述容器监控处理装置2还包括:
发送云端服务器检测处理进程模块,用于利用所述容器代理端将所述进程数据发送至云端服务器的分布式消息队列Kafka,以使所述云端服务器的流处理框架Flink,从所述分布式消息队列Kafka中获取所述进程数据,将所述进程数据存储于所述云端服务器的搜索引擎ElasticSearch中,并在所述搜索引擎ElasticSearch中,基于所述进程数据中的所述进程标识,对所述进程数据建立索引,以及利用所述云端服务器中的云端进程检测规则集,对建立索引的所述进程数据进行异常进程检测处理。
关于上述实施例中的容器监控处理装置2,其中各个模块执行操作的具体方式已经在上述相关方法的实施例中进行了详细描述,此处将不做详细阐述说明。
请参阅图3,图3是根据一示例性实施例示出的容器宿主机的框图结构示意图,该容器宿主机3包括:
至少一个处理器31;以及
与所述至少一个处理器31通信连接的存储器32;其中,
所述存储器32存储有可被所述至少一个处理器31执行的指令,所述指令被所述至少一个处理器31执行,以使所述至少一个处理器31能够执行上述相关容器监控处理方法。
关于上述实施例中的容器宿主机3,其处理器31执行存储器32中程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
请参阅图4,图4是根据一示例性实施例示出的容器监控系统的框图结构示意图,该容器监控系统包括:
如上述所述的容器宿主机3;以及
云端服务器4,用于通过所述云端服务器4的分布式消息队列Kafka接收所述容器宿主机发送的所述进程数据,并利用所述云端服务器4的流处理框架Flink,从所述分布式消息队列Kafka中获取所述进程数据,将所述进程数据存储于所述云端服务器4的搜索引擎ElasticSearch中,并在所述搜索引擎ElasticSearch中,基于所述进程数据中的所述进程标识,对所述进程数据建立索引,以及利用所述云端服务器4中的云端进程检测规则集,对建立索引的所述进程数据进行异常进程检测处理。
对于搜索引擎ElasticSearch中存储的进程数据,可以根据时间进行分割存储,保留最近N天的数据,比如:包括但不限于最近七天的数据,以此降低存储的压力和成本。
其中,对于图4中容器宿主机3的容器监控处理装置2的具体说明,请参阅上述相关实施例。
关于上述实施例中的容器监控系统,其具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述相关容器监控处理方法。
其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
此外,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述相关容器监控处理方法。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。
应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (14)
1.一种容器监控处理方法,其特征在于,所述方法应用于配置容器的容器宿主机,所述方法包括:
当检测到容器中有新建进程时,利用所述新建进程的进程标识,获取所述新建进程的其他维度信息,并将所述新建进程的所述进程标识和所述其他维度信息建立关联,以形成所述新建进程的进程数据;
确定所述新建进程所属容器所对应的容器镜像,将所述新建进程的所述进程数据添加到所述新建进程所属容器所对应的所述容器镜像中;
利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理。
2.根据权利要求1所述的方法,其特征在于,所述确定所述新建进程所属容器所对应的容器镜像,包括:
获取所述新建进程所属容器的容器标识;
利用所述容器标识与对应所述容器镜像的映射关系,确定出所述新建进程所属容器所对应的所述容器镜像。
3.根据权利要求2所述的方法,其特征在于,所述利用所述容器标识与对应所述容器镜像的映射关系,确定出所述新建进程所属容器所对应的所述容器镜像之前,所述方法还包括:
利用容器的套接字socket接口,定时获取容器宿主机上的在运行容器;
针对所述在运行容器,建立对应的所述容器镜像,并将所述在运行容器的所述容器标识与对应的所述容器镜像建立映射关系。
4.根据权利要求1所述的方法,其特征在于,所述利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理,包括:
通过所述容器代理端获取所述容器镜像中的所述进程数据;
利用所述代理端进程检测规则集,对所述进程数据中所述其他维度信息的各维度信息进行检测;
当检测到有维度信息命中所述代理端进程检测规则集中的进程检测规则时,基于所述进程数据中的所述进程标识进行告警提示。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
利用所述容器代理端将所述进程数据发送至云端服务器的分布式消息队列Kafka,以使所述云端服务器的流处理框架Flink,从所述分布式消息队列Kafka中获取所述进程数据,将所述进程数据存储于所述云端服务器的搜索引擎ElasticSearch中,并在所述搜索引擎ElasticSearch中,基于所述进程数据中的所述进程标识,对所述进程数据建立索引,以及利用所述云端服务器中的云端进程检测规则集,对建立索引的所述进程数据进行异常进程检测处理。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述容器镜像中的文件,进行异常文件检测,并当检测出异常文件时,获取所述异常文件在所述容器镜像中的访问路径;
利用所述访问路径,通过所述容器代理端从所述容器镜像所对应的容器中查找到对应的文件,针对查找到的文件,做隔离或者删除处理。
7.根据权利要求6所述的方法,其特征在于,所述针对所述容器镜像中的文件,进行异常文件检测,包括:
获取所述容器镜像中web服务的根目录;
利用预设网页后门文件webshell检测规则,对所述web服务的根目录下的web文件进行检测,检测是否存在网页后门文件,若存在网页后门文件,则确定检测出异常文件。
8.根据权利要求6所述的方法,其特征在于,所述针对所述容器镜像中的文件,进行异常文件检测,包括:
获取所述容器镜像中各文件的文件路径,利用预设的异常路径集,当检测出所述容器镜像中有文件路径命中所述异常路径集中的异常路径时,则确定检测出异常文件。
9.一种容器监控处理装置,其特征在于,所述容器监控处理装置应用于配置容器的容器宿主机,所述容器监控处理装置包括:
进程数据得到模块,用于当检测到容器中有新建进程时,利用所述新建进程的进程标识,获取所述新建进程的其他维度信息,并将所述新建进程的所述进程标识和所述其他维度信息建立关联,以形成所述新建进程的进程数据;
进程数据添加至容器镜像模块,用于确定所述新建进程所属容器所对应的容器镜像,将所述新建进程的所述进程数据添加到所述新建进程所属容器所对应的所述容器镜像中;
宿主机端进程检测处理模块,用于利用容器宿主机中容器代理端配置的代理端进程检测规则集,对所述容器镜像中的所述进程数据进行异常进程检测处理。
10.一种容器宿主机,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种容器监控系统,其特征在于,包括:
如权利要求10所述的容器宿主机。
12.根据权利要求11所述的容器监控系统,其特征在于,所述容器监控系统还包括:
云端服务器,用于通过所述云端服务器的分布式消息队列Kafka接收所述容器宿主机发送的所述进程数据,并利用所述云端服务器的流处理框架Flink,从所述分布式消息队列Kafka中获取所述进程数据,将所述进程数据存储于所述云端服务器的搜索引擎ElasticSearch中,并在所述搜索引擎ElasticSearch中,基于所述进程数据中的所述进程标识,对所述进程数据建立索引,以及利用所述云端服务器中的云端进程检测规则集,对建立索引的所述进程数据进行异常进程检测处理。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210746504.2A CN115048272A (zh) | 2022-06-29 | 2022-06-29 | 容器监控处理方法、装置、宿主机、系统、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210746504.2A CN115048272A (zh) | 2022-06-29 | 2022-06-29 | 容器监控处理方法、装置、宿主机、系统、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048272A true CN115048272A (zh) | 2022-09-13 |
Family
ID=83163597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210746504.2A Pending CN115048272A (zh) | 2022-06-29 | 2022-06-29 | 容器监控处理方法、装置、宿主机、系统、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048272A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118035042A (zh) * | 2024-04-03 | 2024-05-14 | 阿里云计算有限公司 | 应用程序性能分析方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-29 CN CN202210746504.2A patent/CN115048272A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118035042A (zh) * | 2024-04-03 | 2024-05-14 | 阿里云计算有限公司 | 应用程序性能分析方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357038B (zh) | 监控虚拟机集群的方法和系统 | |
KR101835303B1 (ko) | 컴퓨팅 장치들에 대한 시스템 성능 및 이벤트 데이터를 수집, 추적 및 저장하기 위한 시스템들 및 방법들 | |
CN111831548B (zh) | 一种依赖关系拓扑图的绘制方法和装置 | |
US20200210424A1 (en) | Query engine for remote endpoint information retrieval | |
US20110225582A1 (en) | Snapshot management method, snapshot management apparatus, and computer-readable, non-transitory medium | |
CN111046011B (zh) | 日志收集方法、系统、装置、电子设备及可读存储介质 | |
JP4506520B2 (ja) | 管理サーバ、メッセージの抽出方法、及び、プログラム | |
CN105991458B (zh) | 一种负载均衡的方法及负载均衡装置 | |
CN110932933B (zh) | 网络状况监测方法、计算设备及计算机存储介质 | |
CN105607986A (zh) | 用户行为日志数据采集方法及装置 | |
US9058330B2 (en) | Verification of complex multi-application and multi-node deployments | |
WO2015009405A1 (en) | Systems and methods for filtering low utility value messages from system logs | |
US20160269428A1 (en) | Data processing | |
CN110941823B (zh) | 威胁情报获取方法及装置 | |
CN111478792B (zh) | 一种割接信息处理方法、系统及装置 | |
CN115048272A (zh) | 容器监控处理方法、装置、宿主机、系统、存储介质及程序产品 | |
US10200374B1 (en) | Techniques for detecting malicious files | |
CN114070755A (zh) | 虚拟机网络流量确定方法、装置、电子设备和存储介质 | |
KR101907037B1 (ko) | 악성 코드 진단 서버, 시스템 및 방법 | |
WO2018187541A1 (en) | Infected file detection and quarantine system | |
CN112148513B (zh) | 单点服务数据的转储方法、装置及存储介质 | |
CN110505238B (zh) | 基于edr的消息队列的处理装置和方法 | |
CN113157306A (zh) | 一种资源打包管理方法、装置、设备及存储介质 | |
KR20160100626A (ko) | 실제 자원들을 이용하여 악성 코드를 실행하는 컴퓨팅 장치, 악성 코드의 정보를 관리하는 서버 시스템, 및 그것들을 포함하는 전자 시스템 | |
CN110795261A (zh) | 虚拟磁盘故障的检测方法和装置 |
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 |