发明内容
针对现有技术中的基线配置修复缺乏自动修复手段的问题,本发明实施例提供了一种安全资产基线加固方法及装置。
根据本发明实施例的第一方面,提供了一种安全资产基线加固方法,所述方法包括:
获取目标设备的基线配置数据;
判断所述基线配置数据是否符合预设基线配置标准,所述预设基线配置标准与所述基线配置数据的基线类型相匹配;
如果所述基线配置数据不符合预设基线配置标准,则根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
可选地,根据所述预设基线配置标准对所述目标设备的基线配置进行修改之后,所述方法还包括:
根据所述基线配置数据的基线类型,判断所述目标设备是否需要重新启动系统服务;
如果所述目标设备需要重新启动系统服务,则向所述目标设备发送重新启动系统服务命令,以控制所述目标设备执行重新启动系统服务操作。
可选地,根据所述预设基线配置标准对所述目标设备的基线配置进行修改之后,所述方法还包括:
对所述目标设备执行不符合所述预设基线配置标准的违规操作;
根据执行违规操作的结果,判断所述目标设备是否允许所述不符合所述预设基线配置标准的违规操作;
如果所述目标设备允许所述不符合所述预设基线配置标准的违规操作,则重新根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
可选地,获取目标设备的基线配置数据,包括:
将采集基线配置指令发送至目标设备;
接收所述目标设备根据所述采集基线配置指令返回的基线配置报文;
根据所述基线配置报文,利用正则表达式解析出所述目标设备的基线配置数据。
可选地,判断所述基线配置数据是否符合预设基线配置标准,包括:
根据所述目标设备的类型和所述基线配置数据的基线配置项名称,从基线配置基线库中查找与所述基线配置数据的基线类型相匹配的预设基线配置标准;
将所述基线配置数据与所述预设基线配置标准进行对比,判断所述基线配置数据是否满足所述预设基线配置标准的要求。
可选地,根据所述预设基线配置标准对所述目标设备的基线配置进行修改之前,所述方法还包括:
对所述目标设备的基线配置数据、以及与所述基线配置数据相对应的基线配置项名称进行存储。
根据本发明实施例的第二方面,提供了一种安全资产基线加固装置,该装置包括:
配置数据获取模块:用于获取目标设备的基线配置数据;
配置数据分析模块:用于判断所述基线配置数据是否符合预设基线配置标准,所述预设基线配置标准与所述基线配置数据的基线类型相匹配;
配置数据加固模块:用于如果所述基线配置数据不符合预设基线配置标准,则根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
可选地,所述装置还包括:
系统重启判断模块:用于根据所述基线配置数据的基线类型,判断所述目标设备是否需要重新启动系统服务;
重启指令发送模块:用于如果所述目标设备需要重新启动系统服务,则向所述目标设备发送重新启动系统服务命令,以控制所述目标设备执行重新启动系统服务操作。
可选地,所述装置还包括:
违规项操作模块:用于对所述目标设备执行不符合所述预设基线配置标准的违规操作;
操作结果判断模块:用于根据执行违规操作的结果,判断所述目标设备是否允许所述不符合所述预设基线配置标准的违规操作;
所述配置数据加固模块,还用于如果所述目标设备允许所述不符合所述预设基线配置标准的违规操作,则重新根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
可选地,所述配置数据获取模块包括:
配置报文采集子模块:用于将采集基线配置指令发送至目标设备;
配置报文接收子模块:用于接收所述目标设备根据所述采集基线配置指令返回的基线配置报文;
配置数据解析子模块:用于根据所述基线配置报文,利用正则表达式解析出所述目标设备的基线配置数据。
由以上技术方案可见,本发明实施例提供的一种安全资产基线加固方法及装置,自动下发采集基线配置的指令到目标设备,然后获取目标设备根据上述采集指令返回的基线配置数据,并判断该基线配置数据是否符合内置或用户自定义的预设基线标准,当出现不符合的情况时,则根据预设的基线配置标准对该目标设备的基线配置进行修改。通过上述自动对设备的不合规基线配置进行修复,大大减少了人工修正基线配置的工作量,也大大减少了手工修改安全配置漏洞的错误率,提高了安全基线监测和管理的效率,保证了信息系统中安全资产的信息安全。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在信息系统中,归属于组织管辖范围的风险发生时的对象统被称为安全资产,在本发明实施例中,安全资产可以包括主机、数据库、中间件、网络设备、防火墙、虚拟化等设备。
针对现有技术中,对安全资产的安全基线配置进行加固时,采用基于用户自定义脚本的安全基线检查修复的方式,在实现过程中存在的实时性问题。本发明实施例提供了一种安全资产基线加固方法及装置,其核心原理是:首先,获取安全资产的基线配置信息;然后,判断当前资产的基线配置是否符合内置或自定义的基线标准;最后,对当前不合规的基线进行自动加固。
基于上述原理,以下将结合附图对本发明实施例的安全资产基线加固方法及装置进行详细说明。
如图1所示,该方法主要包括如下步骤:
S110:获取目标设备的基线配置数据。
具体的,可以根据创建的核查任务,获取目标设备(即安全资产中的待核查设备)的设备信息,其中,所述设备信息可以包括目标设备的用户名、登录密码以及IP地址等。然后,根据目标设备的设备信息,通过SSH协议登录到目标设备,其中,登录到目标设备的可以包括如下过程,可以根据目标设备的IP地址,向目标设备发送链接请求,接收目标设备发送的登录界面,在登录界面上输入目标设备的用户名及登录密码,确认登录目标设备。最后,登录到目标设备以后,便可以向目标设备下发采集安全基线配置的指令到目标设备,目标设备接收指令后执行,并将执行后的结果数据通过报文的方式反馈给调用方,调用方根据该基线配置报文,利用正则表达式(又称规则表达式,通常被用来检索、替换那些符合某个规则的文本)解析出目标设备的基线配置数据。
下面将以“网络访问控制-禁止root用户远程登陆”基线核查为例,对上述获取目标设备的基线配置数据进行说明。
1)登录目标设备,具体可以使用特权帐号(如管理员账号)登录到目标设备。
2)使用该特权账号执行“cat/etc/ssh/sshd_config”指令;
3)获取指令执行结束后,目标设备返回的响应报文,具体报文内容如下
“#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10”
4)使用正则表达式解析出响应报文中涉及远程登录配置信息,其中,“PermitRootLogin”即是远程登录配置
通过正则表达式解析出“PermitRootLogin”部分配置得到的具体内容如下:
“PermitRootLogin yes”,其中:
“PermitRootLogin yes”表示为允许root用户远程登录。
“PermitRootLogin no”表示为不允许root用户远程登录。
进一步的,在向目标设备下发采集安全基线配置的指令前,还可以根据目标设备的设备信息,自动确定该目标设备的核查对象,根据确认的核查对象向其下发相应的发采集安全基线配置的指令。
其中,核查对象可以为:操作系统、软件、以及设备。操作系统可以包括:现有本领域技术人员所熟知的操作系统,如:可以为l inux操作系统,也可以为windows操作系统。软件可以包括:现有本领域技术人员所熟知的软件,特指待核查设备的操作系统下所包含的中间件(如tomcat、apache)或者数据库(如oracle、mysql)等。作为核查对象的设备,是指目标设备内部包含的设备,如路由器、处理器等。
根据确认的核查对象向其下发相应的发采集安全基线配置的指令时,可以预先将不同核查对象对应的核查模板存储到特征数据库中,从该特征数据库中选取与该核查对象对应的核查模板。其中,所述核查模板可以包含多个核查项、以及与各核查项一一对应的核查命令,利用该核查命令便可以查询核查项在目标设备中的基线配置信息。
利用上述自动匹配核查命令的方式,不需要人工预先录入包含核查对象的大量信息,而是自动识别目标设备的核查对象,并选择核查模板进行核查,大大提高了核查效率。
S120:判断所述基线配置数据是否符合预设基线配置标准,所述预设基线配置标准与所述基线配置数据的基线类型相匹配。
具体包括,获得与上述核查命令相对应的预设基线配置标准信息,并将获取到的基线配置数据与预设基线配置标准相比对,确定此次安全基线核查结果,若比对上,则确定该待核查设备中该核查对象配置无误;若比对不上,则确定该待核查设备的该核查对象配置不符合预设基线配置标准。
下面还是以“网络访问控制-禁止root用户远程登陆”基线为例,对核查对象配置的正确与否进行说明:
假设基线标准为“禁止root用户远程登陆”,那么基线配置应为:“PermitRootLogin no”,但根据步骤S110中的基线检查配置得出“PermitRootLogin yes”,显然与基线标准不符,所以鉴定为该设备中“网络访问控制-禁止root用户远程登陆”不符合基线标准。
当不符合基线标准时,则进入步骤S130进行基线加固,反之则说明系统此合规项基线是安全的,则可以继续检查其它基线合规项,全部满足则说明系统基线安全。
进一步的,上述预设基线配置标准可以预先存储在安全基线库。在进行基线核查时,根据目标设备的类型和被核查的基线配置数据的类型,自动的从该安全基线库中提取相应的基线配置标准。该安全基线库可以包含安全基线配置规范所涉及各安全配置基线项的基本信息,每个安全配置基线项的基本信息包括安全配置基线项名称、安全配置基线标准。
其中,上述安全基线库还可以分为系统安全基线库和用户安全基线库。其中,系统安全基线库,用于存储统一、通用的基线安全规则;用户安全基线库,用于存储用户自定制的基线配置标准。在本发明实施例通过设置用户安全基线库,这样便可以允许用户调用自身定制的基线配置标准对目标设备进行基线安全检查,从而满足了安全检查的可定制需求。
由于上述安全基线库包括了系统安全基线库和用户安全基线库时,这样,可以选择的安全规则包括:系统安全基线库中的基线配置标准、用户自己定制用户安全基线库中的基线配置标准、以及共享给用户的基线配置标准。
S130:如果所述基线配置数据不符合预设基线配置标准,则根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
具体的,使用特权账号(如管理员账号)登录到目标设备,执行加固指令,将该目标设备的基线配置数据修改为符合预设基线配置标准的数据。
以CentOS系统的“网络访问控制-禁止root用户远程登陆”基线为例,当登录目标设备后,程序通过正则表达式解析出以下内容:
“PermitRootLogin yes”的配置项,通过执行修改指令,将原有配置修改为:
“PermitRootLogin no”。
当前,上述基线配置的修改并不限于本实施例所提供的字符的替换修改,还可以是增加或删除字符的形式,例如,对目标设备的用户账号登录密码策略的修复。
以CentOS系统为例,当前目标设备密码复杂度,即安全基线设置为:
“password requisite pam_cracklib.so retry=3difok=3minlen=10ucredit=-1lcredit=-1dcredit=-1”。
而预设密码策略要求为:
密码必须至少包含一个大写字母,一个小写字母,一个数字和一个标点符号组成。
经过比对,设备上的密码策略没有“一个标点符号(即ocredit=-1)”的要求,所以鉴定结果为密码策略不安全,因此,根据预设密码策略,将原有的密码策略配置修改为:
“password requisite pam_cracklib.so retry=3difok=3minlen=10ucredit=-1lcredit=-2dcredit=-1ocredit=-1”。
其中,黑色加粗部分为增加的配置项,其它部分为原有的配置项。
进一步的,出于安全和稳定性考虑,根据所述预设基线配置标准对所述目标设备的基线配置进行修改之前,本发明实施例还对该目标设备当前的基线配置数据、以及与所述基线配置数据相对应的基线配置项名称进行存储,即对目标设备原有基线进行文件级或数据库存储备份,再根据基线标准对当前基线进行修改,以防止在配置修改出错的情况下,还可以获知目标设备之前所使用的基线配置数据,提高基线修复过程的容错能力。
以CentOS系统为例,可以使用特权帐号执行如下指令,以记录当前待加固的基线配置项名称及原始基线信息:
“cp-p/etc/ssh/sshd_config/etc/ssh/sshd_config_backup”。
本发明实施例提供的安全资产基线加固方法,通过自动下发采集基线配置的指令到目标设备,然后获取目标设备根据上述采集指令返回的基线配置数据,并判断该基线配置数据是否符合内置或用户自定义的预设基线标准,当出现不符合的情况时,则根据预设的基线配置标准对该目标设备的基线配置进行修改。通过上述自动对设备的不合规基线配置进行修复,大大减少了人工修正基线配置的工作量,也大大减少了手工修改安全配置漏洞的错误率,提高了安全基线监测和管理的效率,保证了信息系统中安全资产的信息安全。
由于部分安全基线在完成配置变更后需要重新启动系统服务后配置方可生效,如上述实施例提到的“网络访问控制-禁止root用户远程登陆”这个配置在修改配置文件后,不会立刻生效,需要重启系统服务方可完成生效。为了保证安全基线加固的实时性,本发明实施例还提供了另一种安全资产基线加固方法。
图2为本发明实施例二提供的安全资产基线加固方法的基本流程示意图。如图2所示,该方法与实施例一相比,在步骤S130之后,还包括如下步骤:
S210:根据所述基线配置数据的基线类型,判断所述目标设备是否需要重新启动系统服务。
其中,各基线配置数据是否需要重启的需要重新启动系统服务的设置也可以预先设置的上述安全基线库中,具体的,可以对每一个基线配置项目下设置相应的系统重启标准。
S220:如果所述目标设备需要重新启动系统服务,则向所述目标设备发送重新启动系统服务命令,以控制所述目标设备执行重新启动系统服务操作。
以CentOS系统为例,使用特权帐号向目标设备发送如下指令:
“service sshd restart”
目标设备接收到该重新启动系统指令后,便会进行重新启动系统服务操作。进一步的,调用方还可以接收目标设备返回的系统重启确认指令,当调用方接收到该确认指令后,则结束基线配置流程;相反,如果在预设时间内未结束到该确认指令,则可以向该述目标设备发送一次重新启动系统服务命令,以防止上一次的指令未发送成功的情况,或者,可以根据目标设备返回的报错信息执行相应地操作。
通过上述步骤,可以有效防止了信息系统中某些一些设备由于长时间不会开关机,而使得上述修改后的基线配置不能生效的问题,进而有效保证了修改后的基线配置的快速生效,防止因修改后的基线配置不能生效而导致的信息安全问题。
为对上述修复结果的有效性进行验证,本发明实施例还提供了又一种安全资产基线加固方法。
图3为本发明实施例三提供的安全资产基线加固方法的基本流程示意图。如图3所示,该方法与实施例一相比,在步骤S130之后,还包括如下步骤:
S310:对所述目标设备执行不符合所述预设基线配置标准的功能性验证违规操作。
以“网络访问控制-禁止root用户远程登陆”基线为例,使用“root”帐号登录到目标设备。
S320:根据执行违规操作的结果,判断所述目标设备是否允许所述功能性验证违规操作。
如果操作成功,则说明目标设备允许所述不符合所述预设基线配置标准的违规操作,则重新根据所述预设基线配置标准对所述目标设备的基线配置进行修改,即按照步骤S130的步骤,从新执行基线配置的修改加固工作。反之,则说明上述基线加固操作有效,则可以结束整个修复流程或者继续对目标设备中的其它基线配置进行修改。
如上述实施例中提到的“网络访问控制-禁止root用户远程登陆”,本发明实施例采用判断程序使用root账号登录是否成功,来判断基线配置修改是否成功,与判断配置文件是否修改是否成功的方式相比,本发明实施例采用直接的功能性验证的方式,可有效防止配置文件未生效或者修改后的配置文件仍存在漏洞的问题,提高了验证修复结果部分的有效性与准确性。
进一步的,在上述实施例一至三中,在安全基线检测、基线修复、修复验证等步骤中,还可以生成相关的运行日志,并且还可以对该运行日志进行展示、存储、以邮件等方式自动投递、以PDF、Excel、Word等格式导出等,以供网络运维人员后续对安全基线的修复工作进行整理分析。
基于上述方法,本发明还提供了一种安全资产基线加固装置。图4为本发明实施例提供的一种安全资产基线加固装置的基本结构示意图。如图4所示,该装置400具体包括如下部分:
配置数据获取模块410:用于获取目标设备的基线配置数据。
其中,该配置数据获取模块410具体可以包括如下子模块:
配置报文采集子模块411:用于将采集基线配置指令发送至目标设备;
配置报文接收子模块412:用于接收所述目标设备根据所述采集基线配置指令返回的基线配置报文。
配置数据解析子模块413:用于根据所述基线配置报文,利用正则表达式解析出所述目标设备的基线配置数据。
配置数据分析模块420:用于判断所述基线配置数据是否符合预设基线配置标准,所述预设基线配置标准与所述基线配置数据的基线类型相匹配;
配置数据加固模块430:用于如果所述基线配置数据不符合预设基线配置标准,则根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
由于部分安全基线在完成配置变更后需要重新启动系统服务后配置方可生效,为了保证安全基线加固的实时性,本发明实施例中的安全资产基线加固装置还可以系统重启判断模块440和重启指令发送模块450,其中:
系统重启判断模块440:用于根据所述基线配置数据的基线类型,判断所述目标设备是否需要重新启动系统服务;
重启指令发送模块450:用于如果所述目标设备需要重新启动系统服务,则向所述目标设备发送重新启动系统服务命令,以控制所述目标设备执行重新启动系统服务操作。
进一步的,为对上述修复结果的有效性进行验证,本发明实施例中的安全资产基线加固装置还可以包括修复结果验证模块,具体包括违规项操作模块460和操作结果判断模块470,其中:
违规项操作模块460:用于对所述目标设备执行不符合所述预设基线配置标准的违规操作。
操作结果判断模块470:用于根据执行违规操作的结果,判断所述目标设备是否允许所述不符合所述预设基线配置标准的违规操作。
上述配置数据加固模块430,还用于如果所述目标设备允许所述不符合所述预设基线配置标准的违规操作,则重新根据所述预设基线配置标准对所述目标设备的基线配置进行修改。
本发明实施例提供的安全资产基线加固装置,通过自动下发采集基线配置的指令到目标设备,然后获取目标设备根据上述采集指令返回的基线配置数据,并判断该基线配置数据是否符合内置或用户自定义的预设基线标准,当出现不符合的情况时,则根据预设的基线配置标准对该目标设备的基线配置进行修改。通过上述自动对设备的不合规基线配置进行修复,大大减少了人工修正基线配置的工作量,也大大减少了手工修改安全配置漏洞的错误率,提高了安全基线监测和管理的效率,保证了信息系统中安全资产的信息安全。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。