操作系统镜像的安全保护方法、装置及电子设备
技术领域
本申请涉及安全技术,尤其涉及一种操作系统镜像的安全保护方法、装置、电子设备及计算机可读存储介质。
背景技术
操作系统(Operating System,OS)是管理硬件与软件资源的程序,处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等事务,操作系统是电子设备中不可缺少的部分。
操作系统镜像是操作系统的所有文件的一个统称,在部署操作系统时,通常是从外界如互联网获取操作系统镜像,并通过安装操作系统镜像,完成操作系统在电子设备中的部署。然而,操作系统镜像可能存在安全风险,例如其内的配置预先被人为恶意篡改,导致使用相应的操作系统时会出现信息泄露等危险情况。
针对于此,相关技术尚未提出有效解决方案。
发明内容
本申请实施例提供一种操作系统镜像的安全保护方法、装置、电子设备及计算机可读存储介质,能够对操作系统镜像实现有效的安全保护,提升其安全性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种操作系统镜像的安全保护方法,包括:
响应于针对电子设备的镜像部署请求,获取待进行安全保护的操作系统镜像;
从安全保护规范中获取需要进行安全保护的至少一个项目;
将所述安全保护规范中针对所述至少一个项目的安全条件、与所述操作系统镜像中的所述至少一个项目进行匹配处理;
当所述至少一个项目中的任意一个项目与对应的安全条件匹配失败时,对所述操作系统镜像中对应匹配失败的项目的内容进行更新,以符合所述匹配失败的项目的安全条件;
将更新后的所述操作系统镜像,确定为符合所述安全保护规范的操作系统镜像;
其中,符合所述安全保护规范的操作系统镜像用于部署至所述电子设备中。
本申请实施例提供一种操作系统镜像的安全保护装置,包括:
镜像获取模块,用于响应于针对电子设备的镜像部署请求,获取待进行安全保护的操作系统镜像;
项目获取模块,用于从安全保护规范中获取需要进行安全保护的至少一个项目;
匹配模块,用于将所述安全保护规范中针对所述至少一个项目的安全条件、与所述操作系统镜像中的所述至少一个项目进行匹配处理;
更新模块,用于当所述至少一个项目中的任意一个项目与对应的安全条件匹配失败时,对所述操作系统镜像中对应匹配失败的项目的内容进行更新,以符合所述匹配失败的项目的安全条件;
确定合规模块,用于将更新后的所述操作系统镜像,确定为符合所述安全保护规范的操作系统镜像;
其中,符合所述安全保护规范的操作系统镜像用于部署至所述电子设备中。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的操作系统镜像的安全保护方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的操作系统镜像的安全保护方法。
本申请实施例具有以下有益效果:
将安全保护规范中的安全条件与操作系统镜像中的至少一个项目进行匹配处理,并对匹配失败的项目的内容进行更新,如此,使得操作系统镜像符合安全保护规范,提升了部署操作系统镜像的安全性,实现了有效防护。
附图说明
图1是本申请实施例提供的操作系统镜像的安全保护系统的一个可选的架构示意图;
图2是本申请实施例提供的结合区块链网络的操作系统镜像的安全保护系统的一个可选的架构示意图;
图3是本申请实施例提供的服务器的一个可选的架构示意图;
图4A是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图;
图4B是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图;
图4C是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图;
图4D是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图;
图4E是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图;
图5是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图;
图6是本申请实施例提供的用于提供合规镜像的云市场的一个可选的界面示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。另外,在以下的描述中,涉及到的“多个”是指至少两个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)操作系统镜像:将操作系统的所有文件按照一定格式制作成的文件,操作系统镜像的文件格式可为ISO格式或GHOST格式等,不做限定。
2)安全保护规范:用于对操作系统镜像进行匹配处理及内容更新的规范,可以由用户根据实际情况进行创建,也可以是相关部门发布的安全保护制度等。
3)项目:由安全保护规范所规定,通常指操作系统镜像中用于实现一系列功能的内容的集合,例如对于身份鉴别项目来说,操作系统镜像中对应身份鉴别项目的内容包括密码配置、登录失败配置及会话超时配置等。
4)安全条件:安全保护规范中规定的项目需要满足的条件,例如对于身份鉴别项目来说,密码的最小长度需要在8位以上。
5)云安全(Cloud Security):是指基于云计算商业模式应用的安全软件、硬件、用户、机构和安全云平台的总称。云安全的一个主要研究方向是如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护和合规审计等。
6)区块链(Blockchain):由区块(Block)形成的加密的、链式的交易的存储结构。
7)区块链网络(Blockchain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
本申请实施例提供一种操作系统镜像的安全保护方法、装置、电子设备及计算机可读存储介质,能够对操作系统镜像进行自动化配置,提升操作系统镜像的安全性,实现有效防护,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为各种类型的用户终端,也可以实施为服务器。
参见图1,图1是本申请实施例提供的操作系统镜像的安全保护系统100的一个可选的架构示意图,为实现支撑一个操作系统镜像的安全保护应用,终端设备400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,终端设备400可以在本地执行本申请实施例提供的操作系统镜像的安全保护方法。例如,终端设备400本地已存在操作系统镜像,并已通过安装操作系统镜像,在本地部署操作系统。对于该种情况,终端设备400响应于针对终端设备400自身的镜像部署请求(如终端设备400的用户输入的相关指令),获取本地的操作系统镜像,根据安全保护规范对操作系统镜像中的至少一个项目进行匹配处理及内容更新,并通过安装得到的符合安全保护规范的操作系统镜像,对本地部署的操作系统进行更新,提升操作系统的安全防护能力。当然,终端设备400也可根据指定的存储地址,从外界获取操作系统镜像,并根据安全保护规范进行匹配处理及内容更新,对此不做限定。安全保护规范可以是预先存储于终端设备400本地的,也可以是从外界获取的。
在一些实施例中,服务器200也可执行本申请实施例提供的操作系统镜像的安全保护方法。例如,服务器200在接收到终端设备400发送的针对终端设备400的镜像部署请求时,获取待进行安全保护的操作系统镜像,其中,操作系统镜像可以是终端设备400直接发送给服务器200的,也可以是服务器200从终端设备400发送的地址中获取到的,还可以是服务器200获取到的公共操作系统镜像。该公共操作系统镜像可以预先指定,并存储于数据库、服务器200中的分布式文件系统或区块链等处,便于服务器200获取,安全保护规范同理。然后,服务器200根据安全保护规范对获取到的操作系统镜像中的项目进行匹配处理及内容更新,并将得到的符合安全保护规范的操作系统镜像,发送给终端设备400,便于终端设备400将该操作系统镜像安装在本地。
这里,服务器200也可接收终端设备400发送的、针对终端设备400之外的设备的镜像部署请求,例如,针对服务器200的镜像部署请求;又例如,在服务器200提供云平台服务时,服务器200接收终端设备400发送的、针对云服务器的镜像部署请求,该云服务器是服务器200为终端设备400提供的。对于该类情况,服务器200在得到符合安全保护规范的操作系统镜像后,可以直接将该操作系统镜像安装至需要部署镜像的设备(即镜像部署请求对应的设备),也可以将该操作系统镜像发送至终端设备400,由终端设备400安装至需要部署镜像的设备中。其中,在需要部署镜像的设备为云服务器的情况下,通过上述方式能够提供更安全的云服务,有效实现云安全。
终端设备400可在图形界面410显示对操作系统镜像进行安全保护的过程中的各种结果,例如显示地址框,以提示用户输入待进行安全保护的操作系统镜像的地址;例如显示密码框,以提示用户输入针对创建的新的管理员账户的密码。如图1所示,在图形界面410中示例性地示出了合规提示,该合规提示表示操作系统镜像符合安全保护规范。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备),但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
本申请实施例也可结合区块链技术实现,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参见图2,图2是本申请实施例提供的结合区块链网络的操作系统镜像的安全保护系统110的一个可选的架构示意图,包括区块链网络500、认证中心600及电子设备700,其中,区块链网络500可包括多个节点510,电子设备可以是服务器(例如图1所示的服务器200),也可以是终端设备(例如图1所示的终端设备400)根据实际应用场景而定,下面进行具体说明。
区块链网络500的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何电子设备例如终端设备和服务器,都可以在不需要授权的情况下接入区块链网络500;以联盟链为例,电子设备在获得授权后可以接入区块链网络500,此时,成为区块链网络500中的一类特殊的节点即客户端节点。
需要指出地,客户端节点可以只提供发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络500的原生节点的功能,例如下文的排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于具体业务需求)地实现。从而,可以将电子设备的数据和业务处理逻辑最大程度迁移到区块链网络500中,通过区块链网络500实现数据和业务处理过程的可信和可追溯。区块链网络500接收来自客户端节点提交的交易,执行交易以更新账本或者查询账本。
下面以电子设备接入区块链网络以实现查询安全保护规范为例,说明区块链网络的示例性应用。
电子设备700接入区块链网络500,成为区块链网络500的客户端节点。电子设备700在需要查询安全保护规范时,将查询请求以交易形式发送至区块链网络,在交易中指定实现查询操作需要调用的智能合约以及向智能合约传递的参数,交易还携带了电子设备700签署的数字签名(例如,使用电子设备700的数字证书,对交易的摘要进行加密得到),并将交易广播到区块链网络500。其中,数字证书可由电子设备700向认证中心600进行登记注册得到。
区块链网络500中的节点510在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的电子设备700的身份标识,确认电子设备700是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点510自己的数字签名,并继续在区块链网络500中广播。
区块链网络500中具有排序功能的节点510接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络500中提供共识服务的节点。
区块链网络500中的提供共识服务的节点510对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于查询安全保护规范的交易,从状态数据库中查询安全保护规范,并将安全保护规范发送至电子设备700。值得说明的是,状态数据库以键值对的形式存储数据,且状态数据库存储的数据通常与区块链存储的数据相同,在响应查询交易时,优先根据状态数据库中的数据进行响应,从而提升响应效率。
电子设备700在获取到安全保护规范后,可根据安全保护规范对操作系统镜像中的项目进行匹配处理及内容更新,其中,操作系统镜像可以是电子设备700本地的,或是电子设备700从指定的地址获取的。然后,电子设备700将得到的符合安全保护规范的操作系统镜像进行上链,上链过程与上述查询过程类似,例如,电子设备700生成提交操作系统镜像的交易,并将交易广播到区块链网络500。这里,节点510可集成本申请实施例中的安全保护的逻辑(例如将安全保护的逻辑以智能合约的形式部署至节点510中),从而对交易进行验证、区块填充及共识(根据安全保护规范对电子设备700提交的操作系统镜像进行匹配处理),在共识一致,即均确定电子设备700提交的操作系统镜像中的所有项目与对应的安全条件匹配成功时,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于提交操作系统镜像的交易,将操作系统镜像以键值对的形式存储至状态数据库。如此,保证区块链及状态数据库中存储的操作系统镜像的安全性,便于节点510或者其他客户端节点从区块链或状态数据库中查询符合安全保护规范的操作系统镜像。
在一些实施例中,节点510可集成本申请实施例中的安全保护的逻辑,从而对电子设备700提交的操作系统镜像进行安全保护,并将得到的符合安全保护规范的操作系统镜像存储至区块链及状态数据库,便于电子设备700查询。即电子设备700只需向区块链网络500提交待进行安全保护的操作系统镜像,在区块链网络500进行处理后,电子设备700便可从区块链或状态数据库中查询得到符合安全保护规范的操作系统镜像,如此,将大部分的操作转移至节点510,能够节省电子设备700的本地资源消耗。
参见图3,图3是本申请实施例提供的服务器200(例如,可以是图1所示的服务器200)的架构示意图,图3所示的服务器200包括:至少一个处理器210、存储器240和至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器 210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的操作系统镜像的安全保护装置可以采用软件方式实现,图3示出了存储在存储器240中的操作系统镜像的安全保护装置243,其可以是程序和插件等形式的软件,包括以下软件模块:镜像获取模块2431、项目获取模块2432、匹配模块2433、更新模块2434及确定合规模块2435,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的操作系统镜像的安全保护装置可以采用硬件方式实现,作为示例,本申请实施例提供的操作系统镜像的安全保护装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的操作系统镜像的安全保护方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的操作系统镜像的安全保护方法。
参见图4A,图4A是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图,将结合图4A示出的步骤进行说明。
在步骤101中,响应于针对电子设备的镜像部署请求,获取待进行安全保护的操作系统镜像。
这里,需要部署镜像的电子设备可以是终端设备或服务器,待进行安全保护的操作系统镜像可以是电子设备本地已安装或未安装的,也可以是从互联网、数据库或者区块链中获取的。另外,本申请实施例对操作系统的类型不做限定,例如可为Windows或Linux操作系统等。
在步骤102中,从安全保护规范中获取需要进行安全保护的至少一个项目。
这里,安全保护规范可以是人为根据实际应用场景而创建的,也可以是相关部门发布的安全保护制度。本申请实施例对安全保护规范的获取方式同样不做限定,例如可以是从电子设备本地获取的,也可以是从互联网、数据库或者区块链中获取的。
在得到安全保护规范后,从安全保护规范获取操作系统镜像中需要进行安全保护的至少一个项目、以及针对每一个项目的安全条件。例如,安全保护规范可包括身份鉴别项目、访问控制项目、安全检查项目及入侵防范项目中的至少之一,当然,也可包括更多的其他项目。
在一些实施例中,身份鉴别项目包括但不限于操作系统镜像中涉及到密码、用户管理及登录失败处理的内容;访问控制项目包括但不限于操作系统镜像中涉及到管理员权限及文件权限的内容;安全检查项目包括但不限于操作系统镜像中涉及到日志记录及日志备份的内容;入侵防范项目包括但不限于操作系统镜像中涉及到服务启动/关闭、端口启动/关闭及入侵检测的内容。
在一些实施例中,步骤102之前,还包括:向区块链网络发送查询请求,以获取区块链中存储的安全保护规范。
在本申请实施例中,安全保护规范可存储于区块链中,对于该种情况,可以向区块链网络发送查询请求,例如生成查询安全保护规范的交易,并将该交易发送至区块链网络。区块链网络中的节点对接收到的交易进行验证、区块填充及共识,在共识一致时,将存储于区块链中的安全保护规范发送至查询请求的发起方。值得说明的是,在存在状态数据库时,区块链网络中的节点可以将存储于状态数据库中的安全保护规范发送至查询请求的发起方,从而提升响应效率,其中,状态数据库中存储的数据与区块链相同。由于区块链具有公开、透明和不可篡改的特性,故通过上述方式,能够有效保证得到的安全保护规范的准确性。
在步骤103中,将安全保护规范中针对至少一个项目的安全条件、与操作系统镜像中的至少一个项目进行匹配处理。
在确定出需要进行安全保护的项目后,将安全保护规范中针对项目的安全条件、与操作系统镜像中的项目进行匹配处理。例如,对于身份鉴别项目来说,对应的安全条件是密码最小长度为8位以上,则对身份鉴别项目进行匹配处理是指检查操作系统镜像的密码配置中,所配置的密码的最小长度是否为8位以上,若密码配置中所配置的密码的最小长度为8位以上,则确定身份鉴别项目与对应的安全条件匹配成功;若密码配置中所配置的密码的最小长度并不是8位以上,例如是2位以上,则确定身份鉴别项目与对应的安全条件匹配失败。即当项目符合对应的安全条件时,确定项目与对应的安全条件匹配成功;否则,确定匹配失败。
在一些实施例中,可以通过这样的方式来实现上述的从安全保护规范中获取需要进行安全保护的至少一个项目:从安全保护规范中获取需要进行安全保护的身份鉴别项目、访问控制项目、安全检查项目及入侵防范项目;可以通过这样的方式来实现上述的将安全保护规范中针对至少一个项目的安全条件、与操作系统镜像中的至少一个项目进行匹配处理:根据设定顺序遍历身份鉴别项目、访问控制项目、安全检查项目及入侵防范项目,并将安全保护规范中针对遍历到的项目的安全条件、与操作系统镜像中的遍历到的项目进行匹配处理。
在需要进行安全保护的项目包括身份鉴别项目、访问控制项目、安全检查项目及入侵防范项目下,可以对这些项目依次进行匹配处理。例如,设定顺序可以是身份鉴别项目-访问控制项目-安全检查项目-入侵防范项目,按照该设定顺序遍历多个项目,并将安全保护规范中针对遍历到的项目的安全条件、与操作系统镜像中的遍历到的项目进行匹配处理,当然,设定顺序并不限于此。通过上述方式,提升了安全保护的有序性。
在步骤104中,当至少一个项目中的任意一个项目与对应的安全条件匹配失败时,对操作系统镜像中对应匹配失败的项目的内容进行更新,以符合匹配失败的项目的安全条件。
当某个项目与对应的安全条件匹配失败时,对操作系统镜像中对应该项目的内容进行更新,以符合该项目的安全条件。同样以上述身份鉴别项目的例子进行举例,若身份鉴别项目原有的密码配置中,所配置的密码最小长度为2位以上,则对身份鉴别项目的内容进行更新,指的是对密码配置进行更新,以将密码最小长度更新为8位以上。值得说明的是,在根据设定顺序遍历多个项目时,若遍历到的项目与对应的安全条件匹配失败,则可对遍历到的项目的内容进行更新,然后根据设定顺序继续遍历,直至所有项目都遍历完毕。
另外,对于一个项目来说,其可能由多个内容组成,例如身份鉴别项目可包括密码、用户管理及登录失败处理等内容,而对于每一个内容,在安全保护规范中均可设定对应的一个安全条件。当项目中的任意一个内容不符合相应的安全条件时,确定该项目匹配失败。在对匹配失败的项目中的内容进行更新时,一种方式是,对匹配失败的项目中的全部内容进行更新;另一种方式是,对匹配失败的项目中不符合安全条件的内容进行更新,对匹配失败的项目中符合安全条件的内容则保持原样。根据实际应用场景,可选用两种方式中的任意一种,来对匹配失败的项目中的内容进行更新。
在一些实施例中,步骤101之后,还包括:获取操作系统镜像中的版本信息,以作为目标版本信息;还可以通过这样的方式来实现上述的对操作系统镜像中对应匹配失败的项目的内容进行更新:在与多个版本信息对应的更新操作中,确定与目标版本信息对应的更新操作,并根据与目标版本信息对应的更新操作,对操作系统镜像中对应匹配失败的项目的内容进行更新;其中,更新操作包括与版本信息对应的执行命令和文件路径。
这里,从待进行安全保护的操作系统镜像中获取操作系统的版本信息,版本信息用于表示操作系统镜像对应的操作系统的类型,为了便于区分,将这里获取到的版本信息命名为目标版本信息。例如,OpenSUSE、SUSE、CentOS、Redhat、Ubuntu及Debian是Linux操作系统的多种发行版,版本信息各不相同。然后,在与多个版本信息对应的更新操作中,确定与目标版本信息对应的更新操作,并根据确定出的更新操作对匹配失败的项目进行内容更新,其中,更新操作包括与版本信息对应的执行命令和文件路径。例如,在对密码配置中的密码最小长度进行更新时,版本信息A对应的是执行命令A1和文件路径A2,而版本信息B对应的是执行命令B1和文件路径B2,存在差异。通过上述方式,能够兼容不同类型的操作系统,提升安全保护的适用性。
在步骤105中,将更新后的操作系统镜像,确定为符合安全保护规范的操作系统镜像;其中,符合安全保护规范的操作系统镜像用于部署至电子设备中。
这里,将更新后的操作系统镜像,确定为符合安全保护规范的操作系统镜像,即该操作系统镜像中的所有项目均能够与对应的安全条件匹配成功。当然,还存在另一种情况,即根据步骤103进行匹配处理后,操作系统镜像中的所有项目均与对应的安全条件匹配成功,对于该情况,直接将操作系统镜像确定为符合安全保护规范的操作系统镜像,不进行内容更新。得到的符合安全保护规范的操作系统镜像可用于部署至电子设备中,例如以安装的形式进行部署。
在一些实施例中,步骤105之前,还包括:对操作系统镜像中的系统界面配置进行更新,以在操作系统镜像对应操作系统的系统界面中显示合规提示;其中,合规提示表示操作系统镜像符合安全保护规范;清理操作系统镜像中通过更新产生的执行记录。
在本申请实施例中,除了对匹配失败的项目进行内容更新外,还可以对操作系统镜像中的系统界面配置进行更新,以在操作系统镜像对应操作系统的系统界面中显示合规提示,即安装操作系统镜像后,在启动操作系统时,会在系统界面显示合规提示,其中,对合规提示的形式不做限定,例如可以是以标签的形式呈现。如此,使用户获知已安装的操作系统镜像符合安全保护规范。
另外,还可清理操作系统镜像中通过更新产生的执行记录,以避免冗余的执行记录对用户的使用体验造成不良影响,这里的执行记录包括对匹配失败的项目进行内容更新产生的执行记录、以及对系统界面配置进行更新产生的执行记录。当然,在未对系统界面配置进行更新的情况下,可以仅清理操作系统镜像中通过对匹配失败的项目进行内容更新产生的执行记录。
在一些实施例中,可以通过这样的方式来实现上述的获取待进行安全保护的操作系统镜像:获取公共操作系统镜像,以作为待进行安全保护的操作系统镜像;在步骤105之后,还包括:执行以下任意一种处理:将符合安全保护规范的操作系统镜像,安装至电子设备中;将符合安全保护规范的操作系统镜像,发送至镜像部署请求的发起方,以使发起方将符合安全保护规范的操作系统镜像,安装至电子设备中。
本申请实施例提供了安全保护的两种应用场景。在第一种应用场景中,响应于针对电子设备的镜像部署请求,获取公共操作系统镜像,以作为待进行安全保护的操作系统镜像,例如,公共操作系统镜像可以是原生CentOS基础镜像。其中,公共操作系统镜像可以是根据设定的地址,从数据库或区块链等处获取到的,设定的地址可预先存储,也可由镜像部署请求的发起方提供。在根据安全保护规范对公共操作系统镜像进行匹配处理及内容更新后,可以直接将得到的符合安全保护规范的操作系统镜像安装至电子设备中,也可以将得到的操作系统镜像发送至镜像部署请求的发起方,由发起方安装至电子设备中。通过上述方式,发起方只需发送镜像部署请求,即可得到符合安全保护规范的操作系统镜像,有效地减少了发起方需要执行的操作。
在一些实施例中,可以通过这样的方式来实现上述的获取待进行安全保护的操作系统镜像:将电子设备本地的操作系统镜像,确定为待进行安全保护的操作系统镜像。在步骤105之后,还包括:将符合安全保护规范的操作系统镜像,安装至电子设备中。
在第二种应用场景中,响应于针对电子设备的镜像部署请求,将电子设备本地的操作系统镜像,确定为待进行安全保护的操作系统镜像,其中,本地的操作系统镜像可以是已安装的(即已根据操作系统镜像搭建生产环境)或者未安装的(仅存储在电子设备本地),镜像部署请求可以是电子设备的用户发起的,或是根据设定的逻辑自动生成的。在根据安全保护规范对本地的操作系统镜像进行匹配处理及内容更新后,将得到的符合安全保护规范的操作系统镜像安装至电子设备中,以对电子设备自身进行有效防护。
在一些实施例中,在步骤105之后,还包括:向区块链网络发送上链请求,以将符合安全保护规范的操作系统镜像存储至区块链中。
在得到符合安全保护规范的操作系统镜像后,可向区块链网络发送上链请求,例如生成提交操作系统镜像的交易,并将该交易发送至区块链网络。区块链网络中的节点对该交易进行验证、区块填充及共识,在共识一致时,将提交的操作系统镜像存储至区块链,在存在状态数据库的情况下,也同时将操作系统镜像存储至状态数据库中。如此,便于其他设备从区块链或状态数据库中查询符合安全保护规范的操作系统镜像。
其中,区块链网络中的节点可集成本申请实施例中的安全保护的逻辑,即节点进行共识的过程,实则上是将安全保护规范中的安全条件与操作系统镜像中的至少一个项目进行匹配处理的过程。若设定数量的节点确定操作系统镜像中的所有项目与对应的安全条件匹配成功,则确定共识一致,这里的设定数量可根据实际的共识机制而定。
在区块链网络的节点集成有本申请实施例中的安全保护的逻辑的前提下,也可将待进行安全保护的操作系统镜像发送至区块链网络,由区块链网络的节点根据安全保护规范对操作系统镜像进行匹配处理及内容更新,并将得到的符合安全保护规范的操作系统镜像存储至区块链(及状态数据库)。如此,将安全保护的大部分操作迁移至链上完成,减少接收镜像部署请求的设备的工作量,设备只需提交待进行安全保护的操作系统镜像,然后向区块链网络查询符合安全保护规范的操作系统镜像即可。
如图4A所示,本申请实施例根据安全保护规范对操作系统镜像中的项目进行匹配处理及内容更新,提升了操作系统镜像的安全性,实现了有效防护。
在一些实施例中,参见图4B,图4B是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图,图4A示出的步骤104可以通过步骤201至步骤202实现,将结合各步骤进行说明。
在步骤201中,当匹配失败的项目为身份鉴别项目时,对操作系统镜像中的密码配置、登录失败配置和会话超时配置进行更新,以符合身份鉴别项目的安全条件。
当身份鉴别项目与对应的安全条件匹配失败时,对操作系统镜像中的密码配置、登录失败配置和会话超时配置进行更新,以符合该安全条件,其中,更新的方式可根据身份鉴别项目的安全条件进行预先设定。例如,对密码配置中的密码有效期的最小天数、密码有效期的最大天数、密码过期的提前提醒天数和密码复杂度进行更新;对登录失败配置中的登录失败次数和账户锁定时长进行更新;对会话超时配置中的会话超时时长进行更新。其中,密码复杂度可包括密码最小长度、密码中大写字母的最少数量、密码中小写字母的最少数量以及密码中数字的最少数量等。当然,更新方式并不限于此,例如还可配置采用口令、密码技术和生物技术中的至少两种鉴别技术对用户进行身份鉴别。
在步骤202中,在操作系统镜像中创建新的系统管理组以及新的管理员账户,并对管理员权限配置进行更新,以允许新的管理员账户拥有管理员权限,并禁止拥有管理员权限的账户登录。
除了对密码配置、登录失败配置和会话超时配置进行更新之外,还可对操作系统镜像中涉及到用户管理的内容进行更新。例如,在操作系统镜像中创建新的系统管理组以及新的管理员账户,并对管理员权限配置进行更新,例如在Linux操作系统中,系统管理组可以是wheel组。这里,对管理员权限配置进行更新,可以是允许新的管理员账户拥有管理员权限,同时禁止拥有管理员权限的账户登录,即用户只能使用未拥有管理员权限的账户登录,在登录成功后,才能通过输入密码或输入特定命令等方式,转换为拥有管理员权限的账户。值得说明的是,在操作系统镜像是已安装的镜像的情况下,创建的新的管理员账户,可以与已安装的操作系统镜像对应操作系统中的管理员账户相同。
在一些实施例中,在操作系统镜像中创建新的系统管理组以及新的管理员账户之后,还包括:获取用户多次输入的针对新的管理员账户的密码;当多次输入的密码相同、且多次输入的密码符合密码配置时,将多次输入的密码确定为新的管理员账户的密码。
在本申请实施例中,在创建新的管理员账户后,可提示用户输入密码,并获取用户多次输入的针对新的管理员账户的密码,这里的多次是指至少两次。当多次输入的密码相同、且多次输入的密码符合通过步骤201更新后的密码配置时,将多次输入的密码确定为新的管理员账户的账户密码。通过上述方式,采用交互式的机制来确定管理员账户的密码,提升了安全保护过程对于用户的友好度。
如图4B所示,本申请实施例对身份鉴别项目中的密码配置、登录失败配置、会话超时配置及用户管理的内容进行更新,提升了身份鉴别项目的安全性。
在一些实施例中,参见图4C,图4C是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图,图4A示出的步骤104可以通过步骤301至步骤302实现,将结合各步骤进行说明。
在步骤301中,当匹配失败的项目为访问控制项目时,对操作系统镜像中的管理员权限配置进行更新,以使系统管理组中的管理员账户拥有管理员权限,并禁止管理员账户之外的账户拥有管理员权限。
当访问控制项目与对应的安全条件匹配失败时,对操作系统镜像中的管理员权限配置进行更新,以使系统管理组中的管理员账户拥有管理员权限,并禁止管理员账户之外的账户拥有管理员权限,实现权限的准确分配。
在步骤302中,对操作系统镜像中的文件权限配置进行更新,以使设定文件的所有者账户拥有对设定文件的读写权限,所有者账户之外的账户拥有对设定文件的读权限。
除了对管理员权限配置进行更新,在本申请实施例中,还可对操作系统镜像中的文件权限配置进行更新,以使设定文件的所有者账户拥有对设定文件的读写权限,所有者账户之外的账户仅拥有对设定文件的读权限。其中,对操作系统镜像中的设定文件的类型和所在的路径不做限定,设定文件的所有者账户通常是指创建设定文件的账户,当然,也可通过相关命令将所有者账户修改为其他账户。其中,设定文件可根据实际应用场景进行具体设定。
如图4C所示,本申请实施例对访问控制项目中的管理员权限配置及文件权限配置进行更新,实现了更安全有效的访问控制。
在一些实施例中,参见图4D,图4D是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图,图4A示出的步骤104可以通过步骤401至步骤403实现,将结合各步骤进行说明。
在步骤401中,当匹配失败的项目为安全检查项目时,启动操作系统镜像中的日志进程,并对日志进程的配置文件进行更新,以根据日志进程对设定文件、以及针对设定文件的设定操作进行记录。
当安全检查项目与对应的安全条件匹配失败时,启动操作系统镜像中预设的日志进程,同时,对日志进程的配置文件进行更新,以根据日志进程对设定文件、以及针对设定文件的设定操作进行记录。值得说明的是,这里的设定文件并不是指步骤302中的设定文件,而是指的是预先设定的、需要进行日志监控的文件。
在步骤402中,对操作系统镜像中的备份配置文件进行更新,以对日志进程运行过程中产生的文件进行备份管理。
在本申请实施例中,还对操作系统镜像中的备份配置文件进行更新,例如对备份配置文件中的日志文件路径、保存的日志文件数目、日志文件最大容量及当日志文件的容量达到最大容量时的措施进行更新,如此,对日志进程运行过程中产生的日志文件进行有效的备份管理。
在步骤403中,启动操作系统镜像中的监控服务;其中,监控服务用于监控在操作系统镜像对应的操作系统中执行的命令。
这里,还可以启动操作系统镜像中的监控服务,其中,监控服务用于监控在操作系统镜像对应的操作系统中执行的命令,即实现进程监控。
如图4D所示,本申请实施例对安全检查项目的内容进行更新,实现了对日志和进程的有效监控,以及对日志文件的有效管理。
在一些实施例中,参见图4E,图4E是本申请实施例提供的操作系统镜像的安全保护方法的一个可选的流程示意图,图4A示出的步骤104可以通过步骤501至步骤503实现,将结合各步骤进行说明。
在步骤501中,当匹配失败的项目为入侵防范项目时,关闭操作系统镜像中设定的危险服务。
当入侵防范项目与对应的安全条件匹配失败时,关闭操作系统镜像中危险服务,其中,危险服务可以预先设定,例如发送邮件的服务等。
在步骤502中,启动操作系统镜像中设定的安全端口,并关闭除安全端口之外的端口。
这里,端口指的是不可见的虚拟端口,安全端口可以预先设定,例如可以是22端口。通过端口控制的方式,从另一个角度提升入侵操作系统的难度。
在步骤503中,在操作系统镜像中添加入侵检测组件;其中,入侵检测组件用于在操作系统镜像对应的操作系统中进行入侵检测。
这里,还可以在操作系统镜像中添加入侵检测组件,其中,入侵检测组件用于在操作系统镜像对应的操作系统中进行入侵检测,入侵检测组件可从电子设备本地、互联网或区块链中获取,入侵检测组件可以是软件或其他形式,本申请实施例不做限定。
如图4E所示,本申请实施例从服务、端口和入侵检测组件三个方面实现入侵防范,提升了恶意方入侵操作系统的难度。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。本申请实施例提供了如图5所示的操作系统镜像的安全保护方法的流程示意图,为了便于说明,以操作系统为Linux操作系统为例。本申请实施例基于安全保护规范在操作系统镜像的四个项目上进行自动化配置,其中包括身份鉴别项目、访问控制项目、安全审计项目(对应上文的安全检查项目)和入侵防范项目。下面以步骤形式进行详细说明。
1)获取版本信息。
在得到待进行安全保护的操作系统镜像后,通过获取操作系统镜像中的版本信息,并执行与版本信息相应的更新方式(对应上文的更新操作),实现对不同操作系统的差异性兼容。例如,Linux操作系统的发行版本包括OpenSUSE、SUSE、CentOS、Redhat、Ubuntu及Debian等,而对于不同的发行版本来说,其更新操作可能存在差异,故本申请实施例通过获取版本信息,从而对不同的操作系统做出执行层面上的区分,例如区分执行命令和文件路径等,提高兼容性。
2)身份鉴别项目。
根据安全保护规范中针对身份鉴别项目的安全条件,对操作系统镜像中的身份鉴别项目进行匹配处理,即检查身份鉴别项目是否合规。当身份鉴别项目与对应的安全条件匹配失败时,对操作系统镜像中对应身份鉴别项目的内容进行更新,更新过程如下:
①更新密码配置。
更新操作系统镜像中的密码配置文件,例如操作系统镜像对应CentOS,则可对密码配置/etc/login.defs进行更新,将其中的密码有效期的最小天数(PASS_MIN_DAYS)更新为0,将密码有效期的最大天数(PASS_MAX_DASYS)更新为90天,将密码过期的提前提醒天数(PASS_WARN_AGE)更新为7天,即提前7天警告密码将过期,将密码最小长度(PASS_MIN_LEN)更新为8位。值得说明的是,在本申请实施例中,可通过流编辑器(Stream Editor)结合正则表达式来更新配置。
②更新用户管理配置。
对用户管理的相关配置进行更新,包括禁止root身份登录,还包括创建新的系统管理组和新的管理员账户,并允许新的管理员账户使用root权限,其中,root权限即为管理员权限,root身份即为拥有管理员权限的账户。禁止root身份登录和允许新的管理员账户使用root权限可通过对管理员权限配置进行更新来实现。值得说明的是,在确定新的管理员账户的密码时,可采用交互式方式来实现,即由用户自定义密码,而不是随机生成密码,其中还可包括密码复杂度检查以及密码多次输入确定,保证新建管理员账户的准确性。
此外,用户管理在应用场景上可以分为两种。第一种是独立运行,例如在镜像交付的场景中,对外界(如云平台)获取的操作系统镜像进行用户管理,以创建新的系统管理组和管理员账户,其中,新的管理员账户的密码由用户自定义;第二种是直接在当前过程中执行,例如对本地的已有个人镜像进行用户管理,以创建新的系统管理组和管理员账户,其中,新的管理员账户的密码由用户自定义。
③更新登录失败配置。
例如,使用流编辑器和正则表达式,对登录失败配置/etc/pam.d/system-auth进行更新,以使锁定帐户的登录失败次数为8,账户锁定时长为3600秒。此外,还可对会话超时配置/etc/profile和bash_profile进行更新,以使变量TMOUT=3600,表示空闲等待时长超过3600秒时,会话自动退出。
3)访问控制项目。
根据安全保护规范对身份鉴别项目的内容更新完毕,或者身份鉴别项目与对应的安全条件匹配成功时,根据安全保护规范对操作系统镜像中的访问控制项目进行匹配处理。当访问控制项目与对应的安全条件匹配失败时,对操作系统镜像中对应访问控制项目的内容进行更新,更新过程如下:
①修改wheel组权限。
这里,wheel组对应上文的系统管理组,修改wheel组权限即是对管理员权限配置进行更新。例如,在管理员权限配置/etc/sudoers中,结合流编辑器和正则表达式,删除语句%wheel ALL=(ALL) ALL开头前的注释符号#,从而配置wheel组用户(对应上文的管理员账户)拥有执行所有语句的权限;删除语句auth required pam_wheel.so user_id前的#,从而配置仅有wheel组用户能够通过su命令获取root权限。此外,还可在管理员权限配置/etc/login.defs中,结合流编辑器和正则表达式,在文件最后添加语句SU_WHEEL_ONLYyes,从而配置仅有wheel组用户能够通过su命令获取root权限。
②修改重要文件权限。
例如,可配置chmod 644 /etc/xxx,其中,权限码644表示重要文件xxx的所有者账户(拥有者)具有读写权限,所有者账户之外的账户仅具有读权限。重要文件可预先设定,举例来说,包括但不限于/etc/environment、/etc/group、/etc/hosts.allow、/etc/hosts.deny、/etc/login.defs、/etc/passwd、/etc/profile、/etc/resolv.conf、/etc/services、/etc/shadow、/etc/xinetd.d/rsync、/etc/ssh/sshd_config、/etc/sysconfig/network、/etc/audit/auditd.conf和/etc/audit/audit.rules。这里,修改重要文件权限,即对应上文的对文件权限配置进行更新。
4)安全审计项目。
根据安全保护规范对访问控制项目的内容更新完毕,或者访问控制项目与对应的安全条件匹配成功时,根据安全保护规范对操作系统镜像中的安全审计项目进行匹配处理。当安全审计项目与对应的安全条件匹配失败时,对操作系统镜像中对应安全审计项目的内容进行更新,更新过程如下:
①开启日志审查以及进程审查。
开启操作系统镜像中与日志审计相关的进程,例如rsyslog进程和auditd进程。对于进程审查,添加psacct组件,并使用psacct组件中的lastcomm命令监控操作系统中执行的命令,该过程对应上文的启动监控服务。
②添加审计规则。
这里,可对auditd进程的配置文件进行更新,即更新日志进程的配置文件,以根据auditd进程对设定文件、以及针对设定文件的设定操作进行记录,其中,auditd进程在每次启动时,从auditd进程的配置文件来加载记录的规则。例如,结合流编辑器和正则表达式,在配置文件/etc/audit/audit.rules中,添加设定文件/var/log/audit、/etc/audit、/etc/group、/etc/passwd、/etc/shadow、/etc/login.defs、/etc/pam.d和/etc/ssh/sshd_config,还配置对这些设定文件的写操作进行记录,如此,当设定文件发生写操作时,auditd进程便可进行记录。当然,除了写操作外,还可配置其他操作,如读操作。
③更新备份配置文件。
例如,结合流编辑器和正则表达式,对备份配置文件/etc/logrotate.conf中的日志文件路径(log_file)、保存的日志文件数目(num_logs)、日志文件最大容量(max_log_file)以及当日志文件的容量达到最大容量时的措施(max_log_file_action)进行更新。
5)入侵防范项目。
根据安全保护规范对安全审计项目的内容更新完毕,或者安全审计项目与对应的安全条件匹配成功时,根据安全保护规范对操作系统镜像中的入侵防范项目进行匹配处理。当入侵防范项目与对应的安全条件匹配失败时,对操作系统镜像中对应入侵防范项目的内容进行更新,更新过程如下:
①关闭危险服务。
例如,采用systemct stop命令,关闭预先设定的不必要的服务,例如telnet服务、echo服务、echo-udp服务、finger服务、talk服务、ntalk服务及sendmail服务等。
②端口开放设置。
例如,配置iptables策略,仅开放22端口(对应上文的安全端口),并关闭除22端口之外的端口。
③安全软件安装。
这里,根据实际应用场景,安装用于入侵检测的安全软件(对应上文的入侵检测组件),例如从互联网中获取并安装安全软件。
6)痕迹清理。
以上步骤完成之后,会遗留一些操作日志、安装包及历史命令等杂余的信息(对应上文的执行记录),影响用户体验。故在本申请实施例中,对上述步骤产生的杂余信息进行清理,保证用户正常使用操作系统。
7)合规标记。
以上步骤完成之后,在操作系统镜像对应操作系统的系统页面(如系统欢迎界面)中,显示系统合规(即操作系统镜像符合安全保护规范)的banner标记,即合规提示,便于用户获知安全保护已成功完成。其中,可通过对操作系统镜像中的系统界面配置进行更新,来实现合规提示的显示。
本申请实施例提供的操作系统镜像的安全保护方法可集成于脚本中,通过执行脚本来实现一键式的自动化安全保护。此外,本申请实施例提供的操作系统镜像的安全保护方法可应用于多种应用场景。例如,如图6所示,一种场景是,用户在云平台(云市场)购买云服务器时,可在云平台中选择符合安全保护规范的操作系统镜像,直接安装至购买的云服务器中,该操作系统镜像可以是通过上述的脚本,对原生CentOS基础镜像(对应上文的公共操作系统镜像)进行一键式配置所得到的。另一种场景是,用户个人已基于原生的操作系统镜像搭建生产环境,则用户可通过执行上述的脚本,对原生的操作系统镜像进行安全保护,从而得到符合安全保护规范的操作系统镜像。
通过本申请实施例,使用一键式的自动化配置,实现快捷高效的安全保护,无须用户手动配置;此外,用户无须深入理解安全保护规范,即可得到符合安全保护规范的操作系统镜像;能够兼容不同操作系统之间的差异性,实现准确有效的更新,避免因配置修改引起的系统故障。
下面继续说明本申请实施例提供的操作系统镜像的安全保护装置243实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器240的操作系统镜像的安全保护装置243中的软件模块可以包括:镜像获取模块2431,用于响应于针对电子设备的镜像部署请求,获取待进行安全保护的操作系统镜像;项目获取模块2432,用于从安全保护规范中获取需要进行安全保护的至少一个项目;匹配模块2433,用于将安全保护规范中针对至少一个项目的安全条件、与操作系统镜像中的至少一个项目进行匹配处理;更新模块2434,用于当至少一个项目中的任意一个项目与对应的安全条件匹配失败时,对操作系统镜像中对应匹配失败的项目的内容进行更新,以符合匹配失败的项目的安全条件;确定合规模块2435,用于将更新后的操作系统镜像,确定为符合安全保护规范的操作系统镜像;其中,符合安全保护规范的操作系统镜像用于部署至电子设备中。
在一些实施例中,更新模块2434,还用于:当匹配失败的项目为身份鉴别项目时,对操作系统镜像中的密码配置、登录失败配置和会话超时配置进行更新,以符合身份鉴别项目的安全条件;对操作系统镜像中的管理员权限配置进行更新,以禁止拥有管理员权限的账户登录;在操作系统镜像中创建新的系统管理组以及新的管理员账户,并对管理员权限配置进行更新,以允许新的管理员账户拥有管理员权限。
在一些实施例中,更新模块2434,还用于:获取用户多次输入的针对新的管理员账户的密码;当多次输入的密码相同、且多次输入的密码符合密码配置时,将多次输入的密码确定为新的管理员账户的密码。
在一些实施例中,更新模块2434,还用于:当匹配失败的项目为访问控制项目时,对操作系统镜像中的管理员权限配置进行更新,以使系统管理组中的管理员账户拥有管理员权限,并禁止管理员账户之外的账户拥有管理员权限;对操作系统镜像中的文件权限配置进行更新,以使设定文件的所有者账户拥有对设定文件的读写权限,所有者账户之外的账户拥有对设定文件的读权限。
在一些实施例中,更新模块2434,还用于:当匹配失败的项目为安全检查项目时,启动操作系统镜像中的日志进程;对日志进程的配置文件进行更新,以根据日志进程对设定文件、以及针对设定文件的设定操作进行记录;对操作系统镜像中的备份配置文件进行更新,以对日志进程运行过程中产生的文件进行备份管理。
在一些实施例中,更新模块2434,还用于:启动操作系统镜像中的监控服务;其中,监控服务用于监控在操作系统镜像对应的操作系统中执行的命令。
在一些实施例中,更新模块2434,还用于:当匹配失败的项目为入侵防范项目时,关闭操作系统镜像中设定的危险服务;启动操作系统镜像中设定的安全端口,并关闭除安全端口之外的端口;在操作系统镜像中添加入侵检测组件;其中,入侵检测组件用于在操作系统镜像对应的操作系统中进行入侵检测。
在一些实施例中,操作系统镜像的安全保护装置243还包括:版本获取模块,用于获取操作系统镜像中的版本信息,以作为目标版本信息;更新模块2434,还用于:在与多个版本信息对应的更新操作中,确定与目标版本信息对应的更新操作,并根据与目标版本信息对应的更新操作,对操作系统镜像中对应匹配失败的项目的内容进行更新;其中,更新操作包括与版本信息对应的执行命令和文件路径。
在一些实施例中,操作系统镜像的安全保护装置243还包括:界面配置更新模块,用于对操作系统镜像中的系统界面配置进行更新,以在操作系统镜像对应操作系统的系统界面中显示合规提示;其中,合规提示表示操作系统镜像符合安全保护规范。
在一些实施例中,操作系统镜像的安全保护装置243还包括:清理模块,用于清理操作系统镜像中通过更新产生的执行记录。
在一些实施例中,镜像获取模块2431,还用于:获取公共操作系统镜像,以作为待进行安全保护的操作系统镜像;操作系统镜像的安全保护装置243还包括:第一部署模块,用于执行以下任意一种处理:将符合安全保护规范的操作系统镜像,安装至电子设备中;将符合安全保护规范的操作系统镜像,发送至镜像部署请求的发起方,以使发起方将符合安全保护规范的操作系统镜像,安装至电子设备中。
在一些实施例中,镜像获取模块2431,还用于:将电子设备本地的操作系统镜像,确定为待进行安全保护的操作系统镜像;操作系统镜像的安全保护装置243还包括:第二部署模块,用于将符合安全保护规范的操作系统镜像,安装至电子设备中。
在一些实施例中,项目获取模块2432,还用于:从安全保护规范中获取需要进行安全保护的身份鉴别项目、访问控制项目、安全检查项目及入侵防范项目;匹配模块2433,还用于:根据设定顺序遍历身份鉴别项目、访问控制项目、安全检查项目及入侵防范项目,并将安全保护规范中针对遍历到的项目的安全条件、与操作系统镜像中的遍历到的项目进行匹配处理。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4A、图4B、图4C、图4D、图4E或图5示出的操作系统镜像的安全保护方法。值得说明的是,计算机包括终端设备和服务器在内的各种计算设备。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本申请实施例能够实现以下技术效果:
1)根据安全保护规范对操作系统镜像中的至少一个项目进行匹配处理及内容更新,提升了操作系统镜像的安全性,实现了有效防护。此外,本申请实施例提供的安全保护方法能够集成于脚本中,从而实现一键式的自动化配置,无须用户进行手动配置。
2)根据与目标版本信息对应的更新操作进行内容更新,能够提升更新的准确有效性,兼容不同操作系统之间的差异。
3)通过清理因更新产生的冗余的执行记录,能够提升用户体验,保证用户正常使用操作系统。
4)本申请实施例可以结合区块链实现,通过查询区块链中的安全保护规范,提升得到的安全保护规范的准确性;通过将符合安全保护规范的操作系统镜像进行上链,便于其他设备获取;还可将安全保护的逻辑集成到区块链网络的节点中,从而减少设备的工作量,节省本地资源。
5)本申请实施例能够适用于多种应用场景,应用范围广泛。例如在云端对公共操作系统镜像进行安全保护,并将得到的符合安全保护规范的操作系统镜像安装至用户购买的云服务器中;又例如,对电子设备中已安装的操作系统镜像进行安全保护。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。