CN111679887A - 一种代理容器的配置方法及装置 - Google Patents

一种代理容器的配置方法及装置 Download PDF

Info

Publication number
CN111679887A
CN111679887A CN202010501410.XA CN202010501410A CN111679887A CN 111679887 A CN111679887 A CN 111679887A CN 202010501410 A CN202010501410 A CN 202010501410A CN 111679887 A CN111679887 A CN 111679887A
Authority
CN
China
Prior art keywords
container
proxy
node server
instruction
configuration instruction
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
CN202010501410.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.)
WeBank Co Ltd
Original Assignee
WeBank Co 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010501410.XA priority Critical patent/CN111679887A/zh
Publication of CN111679887A publication Critical patent/CN111679887A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种代理容器的配置方法及装置,该方法包括:节点服务器接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;所述节点服务器根据所述容器配置指令对所述代理容器进行配置。采用上述方法,实现代理容器差异化、定制化,进而增加服务器的资源利用率,提高服务器的安全性。

Description

一种代理容器的配置方法及装置
技术领域
本申请涉及金融科技(Fintech)的计算机技术领域,尤其涉及一种代理容器的配置方法及装置。
背景技术
近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。而在计算机技术的实现需要在计算机中安装对应的业务进程;如,日志进程,监控进程等等,使得计算机可以正常处理业务。
现有技术中节点服务器中的业务代理进程是通过SSH(Secure Shell,安全外壳协议)\SCP(SSH copy的简称)将业务代理进程的二进制可执行文件直接在主机上安装;或者,直接将业务代理进程的二进制可执行文件内置到节点服务器的操作系统镜像中,随主机初始化安装。但这两种方式的业务代理进程在节点服务器中运行时,随着业务代理进程的数量越来越多,容易发生节点服务器中的资源耗尽的风险。且节点服务器中的文件都可以被业务代理进程可以访问和获取,使得节点服务器容易发生被恶意攻击,降低节点服务器的安全性。
发明内容
本发明实施例提供一种代理容器的配置方法及装置,用于实现代理进程差异化、定制化,进而增加服务器的资源利用率,提高服务器的安全性。
第一方面,本发明实施例提供一种代理容器的配置方法,该方法包括:
节点服务器接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;所述节点服务器根据所述容器配置指令对所述代理容器进行配置。
采用上述方法,可以在代理服务端输入容器的配置信息,由代理服务端生成容器配置指令。或者,代理服务端中运行相关程序或算法,自动生成容器的配置信息,并生成容器配置指令。之后,代理服务端将该容器配置指令发送至容器管理平台,容器管理平台将该容器配置指令定义为各种配置和操作系统的节点服务器都可以接收的格式,再将该容器配置指令发送至各节点服务器。如此,消除了节点服务器的不同配置和操作系统的代理容器的统一配置的障碍。最后,节点服务器接收该容器配置指令后,将该容器配置指令配置到代理容器中,实现代理进程差异化、定制化,进而增加服务器的资源利用率,提高服务器的安全性。
在一种可能的设计中,所述容器配置指令为文件隔离指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述节点服务器的根目录生成所述代理容器的根目录;所述代理容器的根目录与所述节点服务器的根目录不同;所述节点服务器根据所述容器配置指令,确定所述代理容器在所述节点服务器上具有访问权限的文件;所述节点服务器将所述具有访问权限的文件对应的第一路径映射至第二路径,所述第一路径为所述具有访问权限的文件在所述代理容器的根目录中的地址,所述第二路径为所述具有访问权限的文件在所述节点服务器的根目录中的地址。
采用上述方法,节点服务器根据节点服务器的根目录生成代理容器的根目录,而代理容器的根目录不同于节点服务器的根目录。而代理容器中的根目录可以被代理容器中运行的代理进程获取,如此,代理容器中的代理进程则无法获取节点服务器中的根目录。也就是说,当代理进程中包含恶意程序、规则或算法等时,代理进程无法读取节点服务器中的文件,因此,也无法窃取或篡改节点服务器中的文件,进而无法对节点服务器的安全造成威胁。而节点服务器根据容器配置指令将具有访问权限的文件对应的第一路径映射至第二路径。也就是说,容器配置指令中设置有具有访问权限的文件对应的第一路径和第二路径的映射关系,可以将代理容器的根目录中的具有访问权限的文件地址映射到节点服务器中的根据路中的对应的具有访问权限的文件地址。进而使得代理容器中的代理进程可以只访问或获取节点服务器中部分文件,提高节点服务器的安全性。
在一种可能的设计中,所述容器配置指令为隔离取消指令;所述节点服务器根据命名空间实现隔离管理;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述隔离取消指令,设定所述代理容器具有访问权限的命名空间。
采用上述方法,通过在代理容器中运行代理进程,使得代理容器中的代理进程及文件无法被节点服务器读取,而相应的,代理容器也无法读取节点服务器中的进程以及文件。节点服务器接收容器配置指令后,根据命名空间对代理容器和节点服务器实施隔离管理。即,将代理容器具有访问权限的命名空间取消隔离管理,不具有访问权限的命名空间依然实施隔离。如此,提高节点服务器和代理容器的安全性。
在一种可能的设计中,所述容器配置指令为资源配置指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述资源配置指令,设定所述代理容器的资源使用限量;所述资源使用限量用于所述节点服务器在运行过程中确定是否删除所述代理容器。
采用上述方法,节点服务器根据资源配置指令中的代理容器的资源使用限量,使得后续代理容器中的容器管理实例对代理容器的资源使用进行监控,当代理容器或代理容器中的代理进程的资源使用超过限量,或通过资源使用量确定代理容器或代理容器中的代理进程的服务质量低于阈值后,将关闭该代理容器或代理容器中对应的代理进程。以此,提高代理容器中的资源使用量。
在一种可能的设计中,所述容器配置指令为执行限制指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述执行限制指令,设定所述代理容器的允许执行用户和/或禁止执行用户以及所述代理容器的允许执行命令/或禁止执行命令。
采用上述方法,节点服务器根据执行限制指令对代理容器的允许执行用户和/或禁止执行用户,以及允许执行命令/或禁止执行命令进行设置,使得代理容器可以有选择的允许执行用户和禁止执行用户,以及允许执行命令/或禁止执行命令。有效防止可能携带恶意代码、规则、程序、算法等的执行用户和执行命令对节点服务器和代理容器恶意攻击。提高节点服务器和代理容器的安全性。
在一种可能的设计中,所述节点服务器接收容器管理平台发送的容器配置指令之前,还包括:所述节点服务器基于所述容器管理平台的容器生成指令,生成具有设定代理功能的容器管理实例;所述容器生成指令是所述容器管理平台基于所述代理服务端的代理生成指令触发的;所述代理生成指令用于指示在所述节点服务器部署具有所述设定代理功能的容器;所述节点服务器基于所述容器管理实例,生成所述代理容器;所述节点服务器通过所述代理容器从文件服务器获取所述设定代理功能对应的应用文件,并将所述应用文件配置至所述代理容器,从而使所述代理容器具有所述设定代理功能。
采用上述方法,代理服务端将代理生成指令发送至容器管理平台,触发容器管理平台生成容器生成指令,进而节点服务器在接收到该容器生成指令后生成具有设定代理功能的容器管理实例,进而根据该容器管理实例生成代理容器,代理容器从文件服务器获取设定代理功能对应的应用文件,并将应用文件配置至代理容器,从而使代理容器具有所述设定代理功能。以此,实现代理容器的自动化部署,并根据容器配置指令在该代理容器中配置相应的权限。如此,在集群中可以自动化部署具有差异性、定制型的代理容器。提高节点服务器的安全性,加快代理容器的安装部署。
第二方面,本发明实施例提供一种代理容器的配置装置,该装置包括:
收发模块,用于接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;
处理模块,用于根据所述容器配置指令对所述代理容器进行配置。
在一种可能的设计中,所述处理模块具体用于:
所述节点服务器根据所述节点服务器的根目录生成所述代理容器的根目录;所述代理容器的根目录与所述节点服务器的根目录不同;
所述节点服务器根据所述容器配置指令,确定所述代理容器在所述节点服务器上具有访问权限的文件;
所述节点服务器将所述具有访问权限的文件对应的第一路径映射至第二路径,所述第一路径为所述具有访问权限的文件在所述代理容器的根目录中的地址,所述第二路径为所述具有访问权限的文件在所述节点服务器的根目录中的地址。
第三方面,本发明实施例还提供一种计算设备,包括:存储器,用于存储计算机程序;处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如第一方面的各种可能的设计中所述的方法。
第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读程序,当计算机读取并执行所述计算机可读程序时,使得计算机执行如第一方面的各种可能的设计中所述的方法。
本发明的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种代理容器的配置方法的架构示意图;
图2为本发明实施例提供的一种代理容器的配置方法的流程示意图;
图3为本发明实施例提供的一种代理容器的配置装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图所示,本发明实施例提供的一种代理容器的配置方法的架构示意图,如图1所示,代理服务端101将容器配置指令发送至容器管理平台102;容器管理平台102接收容器配置指令,并将该容器配置指令分发至服务器集群103,服务器集群103由至少一个节点服务器104组成;节点服务器104接收到该容器配置指令后,根据该容器配置指令对节点服务器104中的代理容器进行配置。另外,若容器配置指令需要相关配置文件支持,该配置文件可以由该容器配置指令携带,还可以通过代理服务端101存放在文件服务器105中。当节点服务器104对代理容器进行配置时,可以到文件服务器105中获取相关配置文件。
基于此,本申请实施例提供了一种代理容器的配置方法的流程,如图2所示,包括:
步骤201、节点服务器接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;
此处,节点服务器可以为相同配置或不同配置,和相同操作系统或不同操作系统的服务器,容器配置指令为代理服务端经由容器管理平台发送至节点服务器。容器管理平台可以是K8S系统等,可以将容器配置指令转化为不同配置和不同操作系统的各节点服务器可接收的格式。代理容器为具有设定代理功能的容器,其中包含具有设定代理功能的代理进程,如,日志进程、监控进程、服务进程等。代理服务端为代理容器的服务端,代理容器可以为该代理服务端在节点服务器上的客户端。
步骤202、所述节点服务器根据所述容器配置指令对所述代理容器进行配置。
采用上述方法,用户可以在代理服务端输入容器的配置信息,由代理服务端生成容器配置指令。或者,代理服务端中运行相关程序或算法,自动生成容器的配置信息,并生成容器配置指令。之后,代理服务端将该容器配置指令发送至容器管理平台,容器管理平台将该容器配置指令定义为各种配置和操作系统的节点服务器都可以接收的格式,再将该容器配置指令发送至各节点服务器。如此,消除了节点服务器的不同配置和操作系统的代理容器的统一配置的障碍。最后,节点服务器接收该容器配置指令后,将该容器配置指令配置到代理容器中,实现业务代理进程差异化、定制化,进而增加服务器的资源利用率,提高服务器的安全性。
本申请实施例还提供了一种容器配置指令为文件隔离指令的配置方法,所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述节点服务器的根目录生成所述代理容器的根目录;所述代理容器的根目录与所述节点服务器的根目录不同;所述节点服务器根据所述容器配置指令,确定所述代理容器在所述节点服务器上具有访问权限的文件;所述节点服务器将所述具有访问权限的文件对应的第一路径映射至第二路径,所述第一路径为所述具有访问权限的文件在所述代理容器的根目录中的地址,所述第二路径为所述具有访问权限的文件在所述节点服务器的根目录中的地址。
此处,节点服务器可以设置相关程序或安装插件的方式,根据节点服务器的根目录生成代理容器的根目录,使得节点服务器的根目录和代理容器的根目录不同。此外,还可利用linux chroot技术改变节点服务器的根目录作为代理容器的根目录。如此,代理容器获取的根目录是节点服务器改变后的根目录,代理容器在改变后的根目录下访问不到节点服务器的根目录和根目录对应的文件,节点服务器在改变后的根目录下也访问不到代理容器的根目录和根目录对应的文件。如此,防止代理容器中的代理进程出现漏洞或恶意攻击,导致节点服务器被破坏,以及,防止节点服务器中的进程出现漏洞或恶意攻击等,导致代理容器被破坏。增强了节点服务器和代理容器的安全性。
需要说明的是,通过利用上述技术改变节点服务器的根目录作为代理容器的根目录,虽然增强了节点服务器和代理容器的安全性,但是实际应用过程中,发现代理容器完全无法获取节点服务器中的文件,也无法实现相应的代理功能。如,代理容器需要访问节点服务器的日志文件以处理节点服务器的日志;或访问节点服务器的某组件的文件,以监控节点服务器中该组件的运行数据等等。
因此,本实施例中,为了使得节点服务器和代理容器在上述无法互相访问根目录的隔离状态下,代理容器仍然可以实现相应的代理功能,节点服务器根据容器配置指令,确定代理容器在所述节点服务器上具有访问权限的文件,则可以针对该文件,将该文件对应在代理容器和节点服务器上的根目录中的地址做映射关系的配置,使得代理容器可以访问节点服务器中的该文件,节点服务器也可以访问代理容器中的该文件。如此,当代理容器中运行的代理进程需要访问或监控主机的日志文件、系统配置等文件时,可以通过容器配置指令中的第一路径映射至第二路径的映射关系,访问该文件。实现只针对部分文件的访问。在保证节点服务器的业务正常进行的情况下,增强了节点服务器和代理容器的安全性。其中,可以通过数据卷等可以建立目录映射关系的技术建立第一路径和第二路径的映射关系。
例如,代理容器中的日志进程需要访问节点服务器上的/data/l ogs根目录,/data/logs根目录映射至代理容器内/logs根目录。代理容器中的docker管理进程需要访问节点服务器的docker控制文件---/var/run/docker.sock,/var/run/docker.sock根目录映射至代理容器内/run/docker.sock文件。代理容器中的监控进程需要访问节点服务器的/data/appdata,/data/appdata目录映射至代理容器内/appdata。并可以对应的设置节点服务器或代理容器的访问权限,如下表1所示:
Figure BDA0002524825870000091
表1
其中,日志进程对节点服务器根目录/data/logs只有读的权限,没有改写的权限。docker管理进程对节点服务器根目录/var/run/docker.sock只有读的权限,没有改写的权限。监控进程对节点服务器根目录/data/appdata即有读的权限,又有改写的权限。需要说明的是,这里的节点服务器在代理容器中的可以是根目录挂载,也可以是单个文件挂载。
本申请实施例还提供了一种容器配置指令为隔离取消指令的方法;所述节点服务器根据命名空间实现隔离管理;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述隔离取消指令,设定所述代理容器具有访问权限的命名空间。
此处,在节点服务器中设置代理容器,节点服务器根据命名空间,使得代理容器中的代理进程与节点服务器处于隔离的状态。如此,可以保证节点服务器和代理容器之间无法互相访问,防止代理进程或节点服务器中的进程包含恶意文件,使得节点服务器或代理进程遭受攻击。进一步在代理进程中配置隔离取消指令,使得隔离取消指令中存在的项目,代理进程和节点服务器可以互相访问隔离取消指令中的项目,实现代理容器的功能。例如,通过设置I PC(Inter-Process Communication,进程间通信)的命名空间,使得代理容器的消息代理进程无法读取节点服务器中对应的信号量、消息队列、共享内存等。通过设置PID(Process Identification,进程标识符)的命名空间,使得代理容器的进程管理进程不可见节点服务器中对应的进程。通过设置Network的命名空间,使得代理容器的网络监控进程无法读取节点服务器中对应的网络设备、网络栈、端口等。通过设置mount命令的命名空间,使得代理容器的共享存储程进程无法读取节点服务器中对应的挂载点等。通过设置UTS(Universal Terminal Server,通用终端服务器)的命名空间,使得代理容器的微服务代理进程无法读取节点服务器的主机名和域名等。如下表2所示:
Figure BDA0002524825870000101
表2
当代理容器中的进程需要取消与节点服务器中相应项目的隔离时,通过隔离取消指令。例如,隔离取消指令中的隔离策略“*”默认值为所有进程都处于隔离状态,则取消代理容器中日志进程中日志服务的挂载点的隔离,取消代理容器中监控进程中进程监控服务的进程隔离。如下表3所示:
Figure BDA0002524825870000102
Figure BDA0002524825870000111
表3
本申请实施例还提供了一种容器配置指令为资源配置指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述资源配置指令,设定所述代理容器的资源使用限量;所述资源使用限量用于所述节点服务器在运行过程中确定是否删除所述代理容器。
此处,节点服务器接收资源配置指令,为代理容器中的代理进程的资源使用量做限制,一旦超过资源使用限量则删除该代理进程和对应的代理容器。
该方法实施例中,可选通过内置的程序设定资源使用量,此外,也可以通过linuxcgroup(linux control groups,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制)等,可以用来限制资源使用量的技术限制资源使用量。通过配置CPU、内存、磁盘等的资源使用量,维护主机应用的安全稳定。
例如,当代理容器的代理进程CPU使用量,设定的资源使用限量的上限后,会严格限制其CPU使用,限制的最小粒度可以是1个服务器内核的千分之一,如,设置将一个代理容器中的代理进程的最大CPU使用量限制成0.5个核,整个代理进程永远都不能超过0.5个核,即使代理容器有漏洞,业务处理或其他规则运算等出现死循环情况也是不能超过0.5个核。
当代理容器的代理进程的内存使用量,设定资源使用限量的上限后,当代理容器的代理进程企图使用超过设定的内存时,该代理进程以及代理容器会被关闭。另外,在代理容器中可以设置一个容器管理实例,当代理进程的代理容器因为超过资源使用限量而被关闭后,该容器管理实例同时检测到代理容器状态异常后会自动重启该代理容器,使得该代理容器重新以正常状态运行。上述示例的资源配置指令中资源使用限量,如下表4所示:
Figure BDA0002524825870000112
Figure BDA0002524825870000121
表4
这里对于资源使用限量的方法,还可以通过配置资源使用限量的上下限比例,衡量服务质量。可以通过资源使用限量的上限设置和资源使用限量的下限的设置来衡量代理容器中代理进程的服务质量。根据服务质量状况,在节点服务器资源不足时,关闭部分代理容器,来维护节点服务器的安全稳定。其中,服务质量(QOS),可以通过对资源使用限量的上下限配比来决定代理容器中代理进程的服务质量,当前分成两类:
Guaranteed:即资源使用限量的上限等于资源使用限量的下限,服务质量最高。可以配置在一些重要或不允许中断的代理进程,例如负责网络转发的代理进程。除非代理容器的资源使用超过了限量,或者节点服务器的内存压力很大而且没有服务质量更低的代理容器时,将该代理容器关闭,否则不会被关闭。
Burstable:即资源使用限量的上限大于资源使用限量的下限,并且资源使用限量的下限占节点服务器的资源总量的比例越大,服务质量越高。可以配置在重要性比较低的代理进程上,可以是一般性的应用进程或者批处理任务相关进程上。本申请实施例还提供了一种内存资源管理方法,如:在Burstable类型的代理进程里计算一个OOM(OUT OFMEMORY)分数,分数越高,代理容器越容易被关闭,公式如下:
OOMScore=1000-(1000*内存下限)/节点服务器物理内存总量。
本申请实施例还提供了一种容器配置指令为执行限制指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:所述节点服务器根据所述执行限制指令,设定所述代理容器的允许执行用户和/或禁止执行用户以及所述代理容器的允许执行命令/或禁止执行命令。
此处,通过将设置执行限制指令防止部分执行用户和/或执行命令访问与读写的权力过大,一旦执行用户和/或执行命令中包含恶意攻击语句,有可能会对节点服务器造成不可挽回的损坏。因此,通过设置执行限制指令,提高节点服务器的安全性。如,root执行用户具有非常高的权限,对节点服务器的安全性造成极大地威胁,因此,可以将root执行用户作为禁止执行用户。而将日志进程对应的app执行用户、logs执行用户作为允许执行用户,docker管理进程对应的docker执行用户作为允许执行用户。如下表5所示:
代理容器中代理进程名称 允许执行用户
日志进程 app、logs
docker管理进程 docker
表5
执行限制指令中的执行命令策略,如下表6所示:
Figure BDA0002524825870000131
表6
其中,(*)表示,对于执行命令iptables、sysctl,所有代理容器中的代理进程都禁止执行。对于执行命令vim、rm,只有docker管理进程禁止执行。
这里需要说明的是,上述容器配置指令可以包括文件隔离指令、隔离取消指令、资源配置指令、执行限制指令等。容器配置指令的配置内容具体不做限定。
本申请实施例还提供了一种代理容器部署的方法,其中,所述节点服务器接收容器管理平台发送的容器配置指令之前,还包括:所述节点服务器基于所述容器管理平台的容器生成指令,生成具有设定代理功能的容器管理实例;所述容器生成指令是所述容器管理平台基于所述代理服务端的代理生成指令触发的;所述代理生成指令用于指示在所述节点服务器部署具有所述设定代理功能的容器;所述节点服务器基于所述容器管理实例,生成所述代理容器;所述节点服务器通过所述代理容器从文件服务器获取所述设定代理功能对应的应用文件,并将所述应用文件配置至所述代理容器,从而使所述代理容器具有所述设定代理功能。也就是说,节点服务器在根据容器配置指令前,代理服务端生成代理生成指令,并发送至容器管理平台。容器管理平台接收代理生成指令后生成容器生成指令,并将容器生成指令发送至节点服务器。之后,节点服务器根据容器生成指令生成容器管理实例,容器管理实例从镜像服务器中获取容器的镜像文件,生成代理容器。其中,容器镜像文件中包括容器的通用框架和代理进程的通用框架。此时,代理容器中包含了代理进程的代理管理进程,代理管理进程从文件服务器中获取设定代理功能对应的应用文件,并将该文件配置到代理容器中,使得代理容器具有设定代理功能。如,应用文件为日志进程对应的文件,则将该文件配置到代理容器中,生成日志进程。另外,上述容器配置指令可以被容器生成指令携带,当节点服务器根据容器生成指令生成代理容器后,根据容器生成指令携带的容器配置指令对该代理容器进行配置。此处,容器配置指令具体实现不做限定。
基于同样的构思,本发明实施例提供一种代理容器的配置装置,图3为本申请实施例提供的一种代理容器的配置装置示意图,如图3示,包括:
收发模块301,用于接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;
处理模块302,用于根据所述容器配置指令对所述代理容器进行配置。
在一种可能的设计中,所述处理模块302具体用于:
所述节点服务器根据所述节点服务器的根目录生成所述代理容器的根目录;所述代理容器的根目录与所述节点服务器的根目录不同;
所述节点服务器根据所述容器配置指令,确定所述代理容器在所述节点服务器上具有访问权限的文件;
所述节点服务器将所述具有访问权限的文件对应的第一路径映射至第二路径,所述第一路径为所述具有访问权限的文件在所述代理容器的根目录中的地址,所述第二路径为所述具有访问权限的文件在所述节点服务器的根目录中的地址。
在一种可能的设计中,所述处理模块302具体用于:
所述节点服务器根据所述隔离取消指令,设定所述代理容器具有访问权限的命名空间。
在一种可能的设计中,所述处理模块302具体用于:
所述节点服务器根据所述资源配置指令,设定所述代理容器的资源使用限量;所述资源使用限量用于所述节点服务器在运行过程中确定是否删除所述代理容器。
在一种可能的设计中,所述处理模块302具体用于:
所述节点服务器根据所述执行限制指令,设定所述代理容器的允许执行用户和/或禁止执行用户以及所述代理容器的允许执行命令/或禁止执行命令。
在一种可能的设计中,所述处理模块302具体用于:
所述节点服务器基于所述容器管理平台的容器生成指令,生成具有设定代理功能的容器管理实例;所述容器生成指令是所述容器管理平台基于所述代理服务端的代理生成指令触发的;所述代理生成指令用于指示在所述节点服务器部署具有所述设定代理功能的容器;
所述节点服务器基于所述容器管理实例,生成所述代理容器;
所述节点服务器通过所述代理容器从文件服务器获取所述设定代理功能对应的应用文件,并将所述应用文件配置至所述代理容器,从而使所述代理容器具有所述设定代理功能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全Agent实施例、或结合Agent和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种代理容器的配置方法,其特征在于,包括:
节点服务器接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;
所述节点服务器根据所述容器配置指令对所述代理容器进行配置。
2.如权利要求1所述的方法,其特征在于,所述容器配置指令为文件隔离指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:
所述节点服务器根据所述节点服务器的根目录生成所述代理容器的根目录;所述代理容器的根目录与所述节点服务器的根目录不同;
所述节点服务器根据所述容器配置指令,确定所述代理容器在所述节点服务器上具有访问权限的文件;
所述节点服务器将所述具有访问权限的文件对应的第一路径映射至第二路径,所述第一路径为所述具有访问权限的文件在所述代理容器的根目录中的地址,所述第二路径为所述具有访问权限的文件在所述节点服务器的根目录中的地址。
3.如权利要求1所述的方法,其特征在于,所述容器配置指令为隔离取消指令;所述节点服务器根据命名空间实现隔离管理;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:
所述节点服务器根据所述隔离取消指令,设定所述代理容器具有访问权限的命名空间。
4.如权利要求1所述的方法,其特征在于,所述容器配置指令为资源配置指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:
所述节点服务器根据所述资源配置指令,设定所述代理容器的资源使用限量;所述资源使用限量用于所述节点服务器在运行过程中确定是否删除所述代理容器。
5.如权利要求1所述的方法,其特征在于,所述容器配置指令为执行限制指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:
所述节点服务器根据所述执行限制指令,设定所述代理容器的允许执行用户和/或禁止执行用户以及所述代理容器的允许执行命令/或禁止执行命令。
6.如权利要求1至5任一项所述的方法,其特征在于,所述节点服务器接收容器管理平台发送的容器配置指令之前,还包括:
所述节点服务器基于所述容器管理平台的容器生成指令,生成具有设定代理功能的容器管理实例;所述容器生成指令是所述容器管理平台基于所述代理服务端的代理生成指令触发的;所述代理生成指令用于指示在所述节点服务器部署具有所述设定代理功能的容器;
所述节点服务器基于所述容器管理实例,生成所述代理容器;
所述节点服务器通过所述代理容器从文件服务器获取所述设定代理功能对应的应用文件,并将所述应用文件配置至所述代理容器,从而使所述代理容器具有所述设定代理功能。
7.一种代理容器的配置装置,其特征在于,包括:
收发模块,用于接收容器管理平台发送的容器配置指令;所述容器配置指令是代理服务端发送给所述容器管理平台的;所述节点服务器上运行有由所述容器管理平台进行管理的代理容器;所述代理容器为所述代理服务端在所述节点服务器上的客户端;
处理模块,用于根据所述容器配置指令对所述代理容器进行配置。
8.如权利要求7所述的装置,其特征在于,所述容器配置指令为文件隔离指令;所述节点服务器根据所述容器配置指令对所述代理容器进行配置,包括:
所述节点服务器根据所述节点服务器的根目录生成所述代理容器的根目录;所述代理容器的根目录与所述节点服务器的根目录不同;
所述节点服务器根据所述容器配置指令,确定所述代理容器在所述节点服务器上具有访问权限的文件;
所述节点服务器将所述具有访问权限的文件对应的第一路径映射至第二路径,所述第一路径为所述具有访问权限的文件在所述代理容器的根目录中的地址,所述第二路径为所述具有访问权限的文件在所述节点服务器的根目录中的地址。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,当所述程序在计算机上运行时,使得计算机实现执行权利要求1至6中任一项所述的方法。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如权利要求1至6任一权利要求所述的方法。
CN202010501410.XA 2020-06-04 2020-06-04 一种代理容器的配置方法及装置 Pending CN111679887A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010501410.XA CN111679887A (zh) 2020-06-04 2020-06-04 一种代理容器的配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010501410.XA CN111679887A (zh) 2020-06-04 2020-06-04 一种代理容器的配置方法及装置

Publications (1)

Publication Number Publication Date
CN111679887A true CN111679887A (zh) 2020-09-18

Family

ID=72434877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010501410.XA Pending CN111679887A (zh) 2020-06-04 2020-06-04 一种代理容器的配置方法及装置

Country Status (1)

Country Link
CN (1) CN111679887A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150291A (zh) * 2022-07-05 2022-10-04 中国银行股份有限公司 基于事件驱动的运维系统及方法
TWI806341B (zh) * 2022-01-06 2023-06-21 威聯通科技股份有限公司 主機的容器系統、動態掛載主機資料至容器的方法及應用程式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI806341B (zh) * 2022-01-06 2023-06-21 威聯通科技股份有限公司 主機的容器系統、動態掛載主機資料至容器的方法及應用程式
CN115150291A (zh) * 2022-07-05 2022-10-04 中国银行股份有限公司 基于事件驱动的运维系统及方法

Similar Documents

Publication Publication Date Title
US10469512B1 (en) Optimized resource allocation for virtual machines within a malware content detection system
US7430760B2 (en) Security-related programming interface
US10630643B2 (en) Dual memory introspection for securing multiple network endpoints
US10810164B2 (en) Securing access to functionality of a file-based write filter
JP4629332B2 (ja) 状態参照モニタ
US11438349B2 (en) Systems and methods for protecting devices from malware
US11409862B2 (en) Intrusion detection and prevention for unknown software vulnerabilities using live patching
CN110851241A (zh) Docker容器环境的安全防护方法、装置及系统
US10715554B2 (en) Translating existing security policies enforced in upper layers into new security policies enforced in lower layers
CN113986459A (zh) 一种容器访问的控制方法、系统、电子设备及存储介质
CN113849808B (zh) 容器安全管理方法、系统、终端及存储介质
CN111679887A (zh) 一种代理容器的配置方法及装置
CN111919198A (zh) 内核函数回调的方法和系统
CN113791865A (zh) 容器安全的处理方法及装置、存储介质和处理器
US11861364B2 (en) Circular shadow stack in audit mode
CN110809004A (zh) 一种安全防护方法、装置、电子设备及存储介质
CN107818260B (zh) 保障系统安全的方法及装置
CN116628696A (zh) 一种基于代理客户端的漏洞检测方法及相关设备
CN109783156B (zh) 一种应用的启动控制方法及装置
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
Nazar et al. Rooting Android–Extending the ADB by an auto-connecting WiFi-accessible service
CN117290857B (zh) 基于eBPF实现云原生安全的系统、方法、设备及介质
CN118013528A (zh) 安全策略生成方法、装置及系统
CN115017510A (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