CN115982697A - 沙箱访问方法、沙箱系统及计算机可读存储介质 - Google Patents
沙箱访问方法、沙箱系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115982697A CN115982697A CN202211068892.XA CN202211068892A CN115982697A CN 115982697 A CN115982697 A CN 115982697A CN 202211068892 A CN202211068892 A CN 202211068892A CN 115982697 A CN115982697 A CN 115982697A
- Authority
- CN
- China
- Prior art keywords
- sandbox
- access
- user side
- list
- sandboxes
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了沙箱访问方法、沙箱系统及计算机可读存储介质,该沙箱访问方法包括:通过宿主机的访问入口接收用户端的访问请求,基于访问请求获取沙箱的访问状态;根据访问状态判断沙箱是否能够向用户端提供访问服务;若沙箱能够向用户端提供访问服务,则向沙箱分配访问地址,并基于访问地址启动沙箱的访问服务,以建立宿主机与沙箱的连接。通过本申请的方法,用户端需通过宿主机的访问入口申请对沙箱进行访问,沙箱对外不可见;并且在沙箱中预制有访问权限,宿主机通过获取沙箱的访问状态,将用户端对无权限的沙箱的访问请求进行拦截,减少沙箱的安全风险,提高沙箱的可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及沙箱访问方法、沙箱系统及计算机可读存储介质。
背景技术
沙箱技术是一种操作系统上的虚拟文件系统技术。它会将用户的程序、文件与真实的操作系统(宿主机)隔离开来。沙箱设置有一套完整的文件系统,用户的程序可以在沙箱内可以正常运行,而不会对沙箱外造成影响。
在现有技术中,用户端访问沙箱系统中的某一个沙箱时,沙箱的对外访问服务需要常驻,以使得用户端可以随时对沙箱进行访问,沙箱对外可见,沙箱的安全风险高。
发明内容
本申请提供了沙箱访问方法、沙箱系统及计算机可读存储介质,以解决现有技术中沙箱对外可见的技术问题。
为解决上述问题,本申请提供一种沙箱访问方法,包括:通过所述宿主机的访问入口接收用户端的访问请求,基于所述访问请求获取沙箱的访问状态;根据所述访问状态判断所述沙箱是否能够向所述用户端提供访问服务;若所述沙箱能够向所述用户端提供所述访问服务,则向所述沙箱分配访问地址,并基于所述访问地址启动沙箱的访问服务,以建立所述宿主机与所述沙箱的连接。
其中,所述宿主机部署有若干所述沙箱;所述根据所述访问状态判断所述沙箱是否能够向所述用户端提供访问服务,包括:根据所述访问状态获取第一沙箱列表,所述第一沙箱列表包括能够向所述用户端提供访问服务的所有沙箱;将所述第一沙箱列表发送至所述用户端,以获取所述用户端返回的确认信息;基于所述确认信息从若干所述沙箱中选择所述用户端确认的待访问沙箱,并判定所述待访问沙箱能够向所述用户端提供所述访问服务。
其中,所述根据所述访问状态获取第一沙箱列表,包括:获取包括所述宿主机构建的所有沙箱的第二沙箱列表;遍历所述第二沙箱列表,获取所述第二沙箱列表中所述沙箱的配置信息;在所述配置信息包括允许访问的第一访问参数时,将所述沙箱添加至所述第一沙箱列表。
其中,所述获取所述第二沙箱列表中所述沙箱的配置信息之后,所述沙箱访问方法还包括:在所述配置信息包括不允许访问的第二访问参数时,获取所述沙箱的安全证书;判断所述安全证书是否包括允许访问的第三访问参数;若是,则将所述沙箱添加至所述第一沙箱列表。
其中,所述访问请求包括所述用户端访问的沙箱的标识信息,所述标识信息与所述沙箱具有唯一对应关系;所述通过所述宿主机的访问入口接收用户端的访问请求,基于所述访问请求获取沙箱的访问状态,包括:接收所述访问请求的标识信息,基于所述标识信息查询对应的待访问沙箱;获取所述待访问沙箱的访问状态。
其中,所述基于所述访问地址启动所述沙箱的所述访问服务,以建立所述宿主机与所述沙箱的连接之后,所述沙箱访问方法还包括:按照预设时间段向所述沙箱发送检测报文,以根据所述沙箱返回的结果对所述宿主机与所述沙箱的连接状态进行更新。
其中,所述沙箱访问方法,还包括:获取开启所述访问服务的沙箱的连接列表,所述连接列表包括所述沙箱建立的所有连接;遍历所述连接列表,以查询所述沙箱的所有连接的连接状态;在所有连接的所述连接状态为异常状态时,关闭所述沙箱的访问服务,并回收所述沙箱的访问地址。
其中,所述接收用户端发送的访问请求,所述基于所述访问请求获取沙箱的访问状态之前,所述沙箱访问方法包括:接收若干所述沙箱的配置文件;基于预设的系统文件以及所述配置文件,构建若干所述沙箱的隔离环境。
为解决上述问题,本申请提供一种沙箱系统,包括处理器以及与所述处理器连接的存储器,其中,所述存储器中存储有程序数据,所述处理器调取所述存储器存储的所述程序数据,以执行如上所述的沙箱访问方法。
为解决上述问题,本申请提供一种计算机可读存储介质,存储有程序指令,所述程序指令被执行以实现如上所述的沙箱访问方法。
本申请提出了沙箱访问方法、沙箱系统及计算机可读存储介质,该沙箱访问方法包括:通过宿主机的访问入口接收用户端的访问请求,基于访问请求获取沙箱的访问状态;根据访问状态判断沙箱是否能够向用户端提供访问服务;若沙箱能够向用户端提供访问服务,则向沙箱分配访问地址,并基于访问地址启动沙箱的访问服务,以建立宿主机与沙箱的连接。通过本申请的方法,用户端需通过宿主机的访问入口申请对沙箱进行访问,沙箱对外不可见;并且在沙箱中预制有访问权限,宿主机通过获取沙箱的访问状态,将用户端对无权限的沙箱的访问请求进行拦截,减少沙箱的安全风险,提高沙箱的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的沙箱访问方法的第一实施例的流程示意图;
图2是本申请提供的沙箱访问方法的第二实施例的流程示意图;
图3是本申请提供的沙箱访问方法的第三实施例的流程示意图;
图4是本申请提供的沙箱访问方法的第四实施例的流程示意图;
图5是本申请提供的沙箱访问方法的第五实施例的流程示意图;
图6是本申请提供的沙箱系统的一实施例的框架示意图;
图7是本申请提供的计算机可读存储介质的一实施例的框架示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动情况下所获得的所有其他实施例,均属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
沙箱技术是一种宿主机上的虚拟文件系统技术,其主要功能是资源隔离,运行在沙箱内的模块不能访问沙箱外的资源,可以有效防止沙箱内的模块影响宿主机的稳定运行,为用户提供一个安全的虚拟执行环境。
现有的沙箱技术中,宿主机中加载有多个沙箱,在用户需要访问宿主机中的某一个沙箱时,沙箱可以直接对宿主机外部提供访问服务。然而,沙箱直接对宿主机外部提供访问服务存在许多缺陷,例如,沙箱必须对外部可见,沙箱的网络对外界可直达;每个沙箱提供的对外服务必须是唯一的,不能产生冲突,比如沙箱一和沙箱二所使用的端口不能相同,导致用户在访问沙箱时容易发生端口冲突的问题;沙箱的对外服务必须是常驻,以随时准备接收用户的访问。这些缺陷无疑增加了沙箱外部的安全风险。因此,亟需一种更可靠便捷的沙箱访问方法,更适用于用户对沙箱的访问场景。
因此,本申请首先提出了一种沙箱访问方法,该沙箱访问方法适用于一种沙箱系统。具体的,该沙箱系统包括宿主机、以及部署在宿主机的若干沙箱,宿主机通过沙箱访问方法实现用户端与沙箱的访问连接,提高沙箱的安全性能,以使得沙箱更适用于系统测试、开发和运维等场景。
请参见图1,图1是本申请提供的沙箱访问方法的第一实施例的流程示意图。如图1所示,本实施例的沙箱访问方法包括以下步骤:
步骤S11:通过宿主机的访问入口接收用户端的访问请求,基于访问请求获取沙箱的访问状态。
宿主机具有唯一的访问入口,用户端通过向宿主机的访问入口发起访问请求,以对宿主机内部署的沙箱进行访问。具体的,宿主机接收用户端的访问请求,并基于访问请求获取沙箱的访问状态。其中,沙箱的访问状态可以理解为沙箱的对外访问服务的权限是否开启的状态信息,或者,在沙箱中预设有权限参数,可以通过获取沙箱的权限参数获取沙箱的访问状态,在权限参数为指定参数时,沙箱的对外访问服务开启,用户端可以通过宿主机对开启对外访问服务的沙箱进行访问。
步骤S12:根据访问状态判断沙箱是否能够向用户端提供访问服务。
在一实施方式中,在用户端未知宿主机存在的沙箱或未确定对哪个沙箱进行访问时,在根据访问状态判断沙箱是否能够向用户端提供访问服务之后,用户端可以通过宿主机获取已开启访问服务的沙箱列表,沙箱列表包括宿主机中所有开启访问服务的沙箱,用户端可以通过对沙箱列表进行选择,以在选择的沙箱能够向用户端提供访问服务,对选择的沙箱进行访问。
在其他实施方式中,在用户端已知宿主机存在的沙箱时,用户端向宿主机发起的访问请求中可以包括其指定发起访问的沙箱信息,宿主机根据访问请求中的沙箱信息获取该沙箱的访问状态,并根据该沙箱的访问状态判断该沙箱是否能够向用户端提供访问服务。
宿主机获取沙箱的访问状态后,根据沙箱的访问状态可以判断沙箱是否能够向用户端提供访问服务。若沙箱能够向用户端提供访问服务,则进入步骤S13;若沙箱不能够向用户端提供访问服务,则宿主机输出错误信息或提示信息至用户端,并停止用户端的访问。
步骤S13:向沙箱分配访问地址。
在用户端选择或者指定的沙箱能够向用户端提供访问服务时,宿主机启动沙箱的访问服务,并向沙箱分配访问地址。其中,宿主机向沙箱分配的访问地址包括访问内容、端口、路径等。访问地址包括但不局限于统一资源定位符(URL)。
步骤S14:基于访问地址启动沙箱的访问服务,以建立宿主机与沙箱的连接。
向沙箱分配访问地址后,沙箱根据分配的地址启动沙箱的访问服务,以建立宿主机与沙箱的连接,用户端可以通过宿主机对沙箱进行访问。
具体的,宿主机通过统一标准的访问入口与用户端进行连接,宿主机对外可见,而沙箱通过预设进程与宿主机连接,沙箱对宿主机可见,但是对外部不可见,用户端无法直接对沙箱进行访问。并且,宿主机设置有多个与沙箱进行通讯交流的端口,宿主机根据用户端的访问需求以及端口的空闲状态向沙箱分配对应的端口,不易发生沙箱间的端口冲突的问题,减少报错,提高用户端访问沙箱的可靠性。
示例性地,宿主机可以通过安全外壳协议(SSHD)与用户端进行远程连接,SSHD服务对外提供统一的访问用户,并对向宿主机发起访问的请求进行统一处理。即,宿主机用于处理用户端发起的访问请求,并基于用户端的访问请求与沙箱建立连接,以使得沙箱能够处理宿主机发起的相关命令。例如,宿主机的用户配置可以设置成以下形式:
root:x:0:0:root:/:/bin/sh
admin:x:0:502:Linux User,,,:/:/bin/sh
boxUser:x:0:502:LinuxUser,,,:/:/bin/boxSh
其中,访问用户为boxUser,处理请求的终端程序是boxSh,以通过上述代码使得以boxUser访问宿主机的请求都由boxSh来处理。
在上述实施方式中,通过宿主机的访问入口接收用户端的访问请求,基于访问请求获取沙箱的访问状态;根据访问状态判断沙箱是否能够向用户端提供访问服务;若沙箱能够向用户端提供访问服务,则向沙箱分配访问地址,并基于访问地址启动沙箱的访问服务,以建立宿主机与沙箱的连接。因此,用户端需通过宿主机的访问入口申请对沙箱进行访问,沙箱对外不可见;并且在沙箱中预制有访问权限,宿主机通过获取沙箱的访问状态,将用户端对无权限的沙箱的访问请求进行拦截,减少沙箱的安全风险,提高沙箱的可靠性。
进一步地,在用户端未知宿主机存在的沙箱或未确定对哪个沙箱进行访问时,宿主机可以将用户端能够进行访问的所有沙箱输出为列表,以使得用户可以选择对应的沙箱进行访问,用户端无需感知沙箱的变化情况或感知沙箱是否存在,提高用户的使用体验。
请参见图2,图2是本申请提供的沙箱访问方法的第二实施例的流程示意图。如图2所示,在一实施例中,步骤S12进一步包括以下步骤:
步骤S21:根据访问状态获取第一沙箱列表,第一沙箱列表包括能够向用户端提供访问服务的所有沙箱。
具体的,在步骤S12之前,宿主机接收用户端的访问请求后,若访问请求中不存在用户端指定的访问的沙箱对象,则获取宿主机中所有的沙箱的访问状态;根据所有的沙箱的访问状态,获取第一沙箱列表。其中,第一沙箱列表包括能够向用户端提供访问服务的所有沙箱。
步骤S22:将第一沙箱列表发送至用户端,以获取用户端返回的确认信息。
宿主机将包括能够向用户端提供访问服务的所有沙箱的第一沙箱列表发送至用户端,并获取用户端基于第一沙箱列表返回的确认信息。具体的,确认信息可以是用户端在接收第一沙箱列表后发出的确认指令所包括的信息。
其中,宿主机中所部署的所有沙箱都具有唯一对应的标识信息,标识信息可以是用来标识沙箱的位置、类型、用途等的标识码,宿主机通过沙箱的标识信息定位用户端进行访问的沙箱。例如,用户端在接收第一沙箱列表后发出对第一沙箱列表中的某一沙箱进行访问的操作指令,确认信息应包括用户端选择的沙箱的标识信息。
步骤S23:基于确认信息从若干沙箱中选择用户端确认的待访问沙箱,并判定待访问沙箱能够向用户端提供访问服务。
在获取用户端的确认信息后,从若干沙箱中定位并选择用户端确认的需要进行访问的待访问沙箱,并判定待访问沙箱能够向用户端提供访问服务,以使得用户端能够通过宿主机与待访问沙箱进行连接。
可以理解为,宿主机在获取第一沙箱列表时,将没有对用户端开启访问权限的沙箱从用户端的选择范围内删除,宿主机能够对沙箱的访问进行动态控制。
因此,在本实施例中,用户端可以通过对第一沙箱列表的沙箱进行选择,以通过宿主机与选择的待访问沙箱建立访问连接,用户端所感知的沙箱均为可以进行访问的沙箱,无需感知沙箱的变化情况,提高用户的使用体验。
可选地,步骤S21包括以下步骤:获取包括宿主机构建的所有沙箱的第二沙箱列表;遍历第二沙箱列表,获取第二沙箱列表中沙箱的配置信息;在配置信息包括允许访问的第一访问参数时,将沙箱添加至第一沙箱列表。
具体的,在用户端的访问请求中不存在指定的访问的沙箱对象时,宿主机生成查询指令,以根据查询指令获取包括宿主机构建的所有沙箱的第二沙箱列表,并遍历第二沙箱列表,根据第二沙箱列表中沙箱的访问状态从第二沙箱列表中查询出所有能够向客户端提供访问服务的沙箱。
在一种实施方式中,沙箱的配置文件中可以预设有对应的配置信息,该配置信息用于对沙箱的访问权限进行限制。其中,配置信息可以为包括是否允许外部用户对沙箱进行访问的配置参数,例如,沙箱的访问状态包括第一状态和第二状态,在第一状态时,沙箱允许用户对其进行访问,此时,配置参数可以为第一访问参数;在第二状态时,沙箱不允许外部用户对其进行访问或只允许部分具有操作权限的用户端进行访问,此时,配置参数可以为第二访问参数。
在遍历第二沙箱列表时,将第二沙箱列表中配置信息包括允许访问的第一访问参数的沙箱筛选出来,并将该沙箱添加至第一沙箱列表,以使得第一沙箱列表包括能够向用户端提供访问服务的所有沙箱。
因此,在本实施方式中,宿主机能够通过第一沙箱列表将用户端对没有开启访问权限的沙箱的访问请求进行拦截,访问权限不由宿主机或其他控制系统设置,保证访问权限的可靠,提高沙箱的可靠性。
进一步地,在另一种实施方式中,沙箱可以通过配置信息和安全证书对沙箱的访问权限进行限制。请参见图3,图3是本申请提供的沙箱访问方法的第三实施例的流程示意图。如图3所示,步骤S21还可以包括以下步骤:
步骤S31:获取包括宿主机构建的所有沙箱的第二沙箱列表。
在用户端的访问请求中不存在指定的访问的沙箱对象时,宿主机生成查询指令,以根据查询指令获取包括宿主机构建的所有沙箱的第二沙箱列表。
步骤S32:遍历第二沙箱列表,获取第二沙箱列表中沙箱的配置信息。
遍历第二沙箱列表,获取第二沙箱列表中每一个沙箱的配置信息,配置信息用于对沙箱的访问权限进行限制。其中,配置信息可以为包括是否允许外部用户对沙箱进行访问的配置参数。
步骤S33:在配置信息包括不允许访问的第二访问参数时,获取沙箱的安全证书。
在配置信息包括不允许访问的第二访问参数时,进一步获取该沙箱的安全证书。其中,配置信息为宿主机在部署沙箱时载入的配置文件,为沙箱的原始配置,原则上不可进行修改,因此,在沙箱后续的使用过程中,当需要对沙箱访问权限进行更改时,可以对沙箱的安全证书进行更新,使得用户端可以通过更新后的安全证书获取访问沙箱的权限。
步骤S34:判断安全证书是否包括允许访问的第三访问参数。
具体的,安全证书可以独立于沙箱的配置文件上传,在配置信息包括不允许访问的第二访问参数时,可以进一步获取沙箱的安全证书,以通过安全证书的具体参数判断沙箱能否向用户端提供访问服务。
同样地,安全证书也可以包括第一状态和第二状态,在第一状态时,安全证书可以为第三访问参数,此时沙箱允许用户对其进行访问;在第二状态时,安全证书可以为第四访问参数,沙箱不允许外部用户对其进行访问。可选地,第一访问参数和第三访问参数、第二访问参数和第四访问参数可以为同一参数,也可以设置为不同的参数类型,在此对安全证书和配置信息不做具体限定。
若安全证书包括允许访问的第三访问参数,则进入步骤S35;若安全证书包括不允许访问的第四访问参数,则宿主机将用户端发起的访问请求进行拦截。
步骤S35:将沙箱添加至第一沙箱列表。
在遍历第二沙箱列表时,将第二沙箱列表中配置信息包括允许访问的第一访问参数的沙箱以及配置信息包括第二访问参数、安全证书包括第三访问参数的沙箱筛选出来,并将该沙箱添加至第一沙箱列表,以使得第一沙箱列表包括能够向用户端提供访问服务的所有沙箱。
因此,在本实施方式中,宿主机能够通过第一沙箱列表将用户端对没有开启访问权限的沙箱的访问请求进行拦截,访问权限可以通过沙箱的配置信息和独立的安全证书进行定义,保证访问权限的可靠,提高沙箱的可靠性。
可选地,在上述实施方式中,宿主机可以将用户端能够进行访问的所有沙箱输出为列表,以使得用户可以选择对应的沙箱进行访问。而在其他实施方式中,当用户端已经确定需要对宿主机的哪个沙箱进行访问时,此时,可以根据指定沙箱的访问状态判断该沙箱是否能够向用户端提供访问服务,而无需输出沙箱列表,操作简单。
此时,用户端通过访问入口向宿主机发起的访问请求包括用户端访问的沙箱的标识信息,标识信息与沙箱具有唯一对应关系。在步骤S11中还包括以下步骤:接收访问请求的标识信息,基于标识信息查询对应的待访问沙箱;获取待访问沙箱的访问状态。
具体的,标识信息可以是用来标识沙箱的位置、类型、用途等的标识码,宿主机通过沙箱的标识信息定位用户端进行访问的沙箱。在接收访问请求后,宿主机可以通过访问请求获取用户端指定的待访问容器的标识信息,并基于标识信息在宿主机构建的所有沙箱中查询并定位出待访问沙箱,并获取待访问沙箱的访问状态。
在获取待访问沙箱的访问状态后,根据待访问沙箱的访问状态判断待访问沙箱是否能够向用户端提供访问服务,若待访问沙箱能够向用户端提供访问服务,则向待访问沙箱分配对应的访问地址,以建立宿主机与待访问沙箱的连接。
因此,在本实施例中,通过获取访问请求中用户端指定的待访问容器的标识信息,对待访问容器进行定位,宿主机无需向用户端输出沙箱列表,无需用户进行二次确认,提高用户的访问体验。
可选地,在宿主机基于用户端的访问请求与沙箱建立连接之后,为了减少异常连接长时间占用端口导致的无效开销,可以通过对宿主机与沙箱连接进行心跳检测,对沙箱与外部连接的状态进行判断,将状态异常的连接关闭,减少无效开销。
在步骤S14之后,沙箱访问方法还包括:按照预设时间段向沙箱发送检测报文,以根据沙箱返回的结果对宿主机与沙箱的连接状态进行更新。
具体的,宿主机与沙箱可以建立多个连接,例如,宿主机与第一沙箱包括第一连接、第二连接等,当用户端通过宿主机向第一沙箱发起的访问结束后,宿主机通过心跳检测感知第一连接是否断开。其中,检测报文包括心跳包,宿主机设置一个预定的时间间隔,例如每间隔1小时,发送一次检测报文,当宿主机在预设时间内接收到第一沙箱接收检测报文后返回的结果时,可以判定第一连接可用,此时第一连接的连接状态正常。当宿主机在预设时间内没有接收到第一沙箱返回的结果时,则第一连接已经失效,此时第一连接的连接状态为异常状态。
进一步地,通过检测报文对宿主机与沙箱的连接状态进行更新后,还可以获取宿主机与沙箱建立的所有连接的连接状态,以在该沙箱相关的所有连接失效时,可以关闭该沙箱的访问服务,节省沙箱的开销。
请参见图4,图4是本申请提供的沙箱访问方法的第四实施例的流程示意图。如图4所示,在本实施例中,沙箱访问方法还可以包括以下步骤:
步骤S41:获取开启访问服务的沙箱的连接列表,连接列表包括沙箱建立的所有连接。
在宿主机对沙箱进行访问控制时,可以设置预设的时间段,以在每个时间段对开启访问服务的沙箱的连接状态进行控制。具体的,宿主机对连接状态进行控制时,需先获取开启访问服务的沙箱的连接列表,连接列表包括沙箱建立的所有连接。
步骤S42:遍历连接列表,以查询沙箱的所有连接的连接状态。
获取连接列表后,宿主机遍历该沙箱的连接列表,以获取该沙箱与外部建立的所有连接的连接状态,某一连接的连接状态可以通过上述发送检测报文的方法获得。
步骤S43:在所有连接的连接状态为异常状态时,关闭沙箱的访问服务,并回收沙箱的访问地址。
在该沙箱的所有连接的连接状态均为异常状态时,与沙箱相关的所有对外服务均不工作,此时可以关闭沙箱的访问服务,并回收沙箱的访问地址。
其中,步骤S41-S43可以应用于宿主机中所有已经开启访问服务的沙箱,并且,步骤S41-S43可以位于上述所有实施方式的沙箱访问方法的任一步骤之间,宿主机可以在建立某一沙箱的连接同时,对其他沙箱的连接状态进行判断,因此,在此对步骤S41-S43的位置和适用范围不做具体限定。
因此,通过本实施例方法,沙箱的访问服务可以动态上下线,访问服务无需常驻,减少访问服务对服务器资源的占用。
可选地,请参见图5,图5是本申请提供的沙箱访问方法的第五实施例的流程示意图。在步骤S11之前,该沙箱访问方法还可以包括以下步骤:接收若干沙箱的配置文件;基于预设的系统文件以及配置文件,构建若干沙箱的隔离环境。
具体的,在用户端通过宿主机对沙箱进行访问之前,需要接收若干沙箱的配置文件,以基于预设的系统文件以及配置文件,在宿主机中构建若干沙箱的隔离环境,使得用户端可以通过沙箱的隔离环境运行对应的模块,而不对沙箱外部产生影响。
其中,沙箱的配置文件包括沙箱的基本信息和配置信息,示例性地,配置信息中用于标识是否允许外部用户访问的参数可以用ExtMode标识,当ExtMode为On时,标识该沙箱处于第一状态,可以被用户端访问。
宿主机通过相关的控制程序对沙箱进行管理,并根据虚拟文件系统技术构建沙箱的隔离环境,隔离环境中包括标准文件系统、隔离环境根进程以及沙箱的配置文件。具体的,沙箱与宿主机的连接通过标准文件系统的标准访问服务(例如,telnetd服务)实现,沙箱中用于处理宿主机的相关命令的进程为隔离环境的AppInitd根进程,具体的流程如图5所示。
请参见图6,图6是本申请提供的沙箱系统的一实施例的框架示意图。如图6所示,该沙箱系统100包括处理器101以及与处理器101连接的存储器102,其中,存储器102中存储有程序数据,处理器101调取存储器102存储的程序数据,以执行上述的容器访问方法。
可选地,在一实施例中,处理器101用于执行程序数据以实现如下方法:通过宿主机的访问入口接收用户端的访问请求,基于访问请求获取沙箱的访问状态;根据访问状态判断沙箱是否能够向用户端提供访问服务;若沙箱能够向用户端提供访问服务,则向沙箱分配访问地址,并基于访问地址启动沙箱的访问服务,以建立宿主机与沙箱的连接。
其中,处理器101还可以称为CPU(Central Processing Unit,中央处理单元)。处理器101可能是一种电子芯片,具有信号的处理能力。处理器101还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器102可以为内存条、TF卡等,可以存储沙箱系统100中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器102中。它根据处理器101指定的位置存入和取出信息。有了存储器102,沙箱系统100才有记忆功能,才能保证正常工作。沙箱系统100的存储器102按用途可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
请参见图7,图7是本申请提供的计算机可读存储介质的一实施例的框架示意图。如图7所示,该计算机可读存储介质110中存储有能够实现上述所有方法的程序指令111。
在本申请各个实施例中的各功能单元集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质110中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机可读存储介质110在一个程序指令111中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)、电子设备(例如MP3、MP4等,也可以是手机、平板电脑、可穿戴设备等移动终端,也可以是台式电脑等)或者处理器(processor)以执行本申请各个实施方式方法的全部或部分步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质110(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可读存储介质110实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可读存储介质110到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的程序指令111产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机可读存储介质110也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储介质110中的程序指令111产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机可读存储介质110也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的程序指令111提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种沙箱访问方法,其特征在于,应用于宿主机,包括:
通过所述宿主机的访问入口接收用户端的访问请求,基于所述访问请求获取沙箱的访问状态;
根据所述访问状态判断所述沙箱是否能够向所述用户端提供访问服务;
若所述沙箱能够向所述用户端提供所述访问服务,则向所述沙箱分配访问地址;
基于所述访问地址启动所述沙箱的所述访问服务,以建立所述宿主机与所述沙箱的连接。
2.根据权利要求1所述的沙箱访问方法,其特征在于,所述宿主机部署有若干所述沙箱;所述根据所述访问状态判断所述沙箱是否能够向所述用户端提供访问服务,包括:
根据所述访问状态获取第一沙箱列表,所述第一沙箱列表包括能够向所述用户端提供访问服务的所有沙箱;
将所述第一沙箱列表发送至所述用户端,以获取所述用户端返回的确认信息;
基于所述确认信息从若干所述沙箱中选择所述用户端确认的待访问沙箱,并判定所述待访问沙箱能够向所述用户端提供所述访问服务。
3.根据权利要求2所述的沙箱访问方法,其特征在于,所述根据所述访问状态获取第一沙箱列表,包括:
获取包括所述宿主机构建的所有沙箱的第二沙箱列表;
遍历所述第二沙箱列表,获取所述第二沙箱列表中所述沙箱的配置信息;
在所述配置信息包括允许访问的第一访问参数时,将所述沙箱添加至所述第一沙箱列表。
4.根据权利要求3所述的沙箱访问方法,其特征在于,所述获取所述第二沙箱列表中所述沙箱的配置信息之后,所述沙箱访问方法还包括:
在所述配置信息包括不允许访问的第二访问参数时,获取所述沙箱的安全证书;
判断所述安全证书是否包括允许访问的第三访问参数;
若是,则将所述沙箱添加至所述第一沙箱列表。
5.根据权利要求1所述的沙箱访问方法,其特征在于,所述访问请求包括所述用户端访问的沙箱的标识信息,所述标识信息与所述沙箱具有唯一对应关系;
所述通过所述宿主机的访问入口接收用户端的访问请求,基于所述访问请求获取沙箱的访问状态,包括:
接收所述访问请求的标识信息,基于所述标识信息查询对应的待访问沙箱;
获取所述待访问沙箱的访问状态。
6.根据权利要求1所述的沙箱访问方法,其特征在于,所述基于所述访问地址启动所述沙箱的所述访问服务,以建立所述宿主机与所述沙箱的连接之后,所述沙箱访问方法还包括:
按照预设时间段向所述沙箱发送检测报文,以根据所述沙箱返回的结果对所述宿主机与所述沙箱的连接状态进行更新。
7.根据权利要求6所述的沙箱访问方法,其特征在于,所述沙箱访问方法,还包括:
获取开启所述访问服务的沙箱的连接列表,所述连接列表包括所述沙箱建立的所有连接;
遍历所述连接列表,以查询所述沙箱的所有连接的连接状态;
在所有连接的所述连接状态为异常状态时,关闭所述沙箱的访问服务,并回收所述沙箱的访问地址。
8.根据权利要求1所述的沙箱访问方法,其特征在于,所述接收用户端发送的访问请求,所述基于所述访问请求获取沙箱的访问状态之前,所述沙箱访问方法包括:
接收若干所述沙箱的配置文件;
基于预设的系统文件以及所述配置文件,构建若干所述沙箱的隔离环境。
9.一种沙箱系统,其特征在于,包括处理器以及与所述处理器连接的存储器,其中,所述存储器中存储有程序数据,所述处理器调取所述存储器存储的所述程序数据,以执行如权利要求1-8任一项所述的沙箱访问方法。
10.一种计算机可读存储介质,其特征在于,存储有程序指令,所述程序指令被执行以实现如权利要求1-8任一项所述的沙箱访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068892.XA CN115982697A (zh) | 2022-08-31 | 2022-08-31 | 沙箱访问方法、沙箱系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068892.XA CN115982697A (zh) | 2022-08-31 | 2022-08-31 | 沙箱访问方法、沙箱系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115982697A true CN115982697A (zh) | 2023-04-18 |
Family
ID=85965302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211068892.XA Pending CN115982697A (zh) | 2022-08-31 | 2022-08-31 | 沙箱访问方法、沙箱系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982697A (zh) |
-
2022
- 2022-08-31 CN CN202211068892.XA patent/CN115982697A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681662B (zh) | 一种安装程序的方法及装置 | |
US20180268146A1 (en) | System and method to enforce the secure boot policy of a platform on a virtual machine | |
CN108965250B (zh) | 一种数字证书安装方法及系统 | |
CN106330958A (zh) | 一种安全访问方法及装置 | |
CN115378735B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN108335105B (zh) | 数据处理方法及相关设备 | |
US9344406B2 (en) | Information processing device, information processing method, and computer program product | |
CN111176794A (zh) | 一种容器管理方法、装置及可读存储介质 | |
KR20190069574A (ko) | 무선 네트워크 유형 검출 방법과 장치, 및 전자 디바이스 | |
WO2017003885A1 (en) | Brokered advanced pairing | |
CN108289080B (zh) | 一种访问文件系统的方法、装置和系统 | |
CN111339524A (zh) | 多租户权限控制方法及装置 | |
CN112162873A (zh) | 一种远程调用方法、电子装置和存储介质 | |
CN110990798B (zh) | 应用程序权限配置方法、装置、电子设备及存储介质 | |
CN111966422A (zh) | 一种本地化插件服务方法、装置、电子设备及存储介质 | |
US8601544B1 (en) | Computer system employing dual-band authentication using file operations by trusted and untrusted mechanisms | |
EP2728472B1 (en) | User terminal, reliability management server, and method and program for preventing unauthorized remote operation | |
CN112788017B (zh) | 一种安全校验方法、装置、设备及介质 | |
CN115665265B (zh) | 请求处理方法、装置、设备、存储介质及系统 | |
WO2021139261A1 (zh) | 应用部署方法、装置及介质 | |
CN115203754B (zh) | 场景模式管理装置、初始化方法以及场景模式切换方法 | |
CN110784551A (zh) | 基于多租户的数据处理方法、装置、设备和介质 | |
CN107172082B (zh) | 一种文件共享方法及系统 | |
CN115982697A (zh) | 沙箱访问方法、沙箱系统及计算机可读存储介质 | |
US9240988B1 (en) | Computer system employing dual-band authentication |
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 |