公开/公告号CN112765600A
专利类型发明专利
公开/公告日2021-05-07
原文格式PDF
申请/专利权人 中国人寿保险股份有限公司上海数据中心;
申请/专利号CN202011585014.6
申请日2020-12-28
分类号G06F21/55(20130101);G06F21/62(20130101);G06F16/25(20190101);
代理机构31225 上海科盛知识产权代理有限公司;
代理人孙永申
地址 200131 上海市浦东新区中国(上海)自由贸易试验区张东路1388号29幢101室
入库时间 2023-06-19 10:54:12
技术领域
本发明涉及CMDB技术领域,尤其是涉及一种基于HIDS入侵检测采集自动同步CMDB的控制方法。
背景技术
随着CMDB(Configuration Management Database配置管理数据库)在管理IT资产配置项方面的内容日益增长,并且与所有服务支持和服务交付等流程紧密相连,其基础核心地位越来越受到重视,由于CMDB的重要性,核心运维数据的运营成为其管理难题。CMDB的数据分为自动发现数据和人工录入数据两大类,人工录入流程通常需要管理手段来提高数据质量,获取方式效率比较低。所以在整个基础数据源获取的过程中,尽量扩大自动发现范围,降低配置管理的成本。
当前主要数据录入方式是人工维护结合自动发现,人工维护即通过后台接口批量新增修改删除数据,自动发现即通过自动发现程序收集所需要的配置项数据进而更新CMDB模型中的字段或关联关系,相比于人工维护,自动发现方法则具有自动化、准确性高、效率提升的优点,所以自动发现是保证数据准确、提升数据价值的重要方式。
目前市场上的部分CMDB厂商自带有自动发现程序,一定程度上可以实现CMDB配置项的自动发现,但自动发现程序与CMDB紧密耦合,无法很好地集成外部发现程序,发现内容固定,且没有对发现内容进行集中控制。
由上可见,现有技术方案存在如下问题:
1)仅能发现单一类型IT资源,无法集中发现所有IT资源,发现不够全面。
2)发现程序与CMDB紧密耦合,很难将CMDB与外部其他发现程序进行集成。
3)不能通过配置方式对发现内容进行灵活扩展。
4)数据展现层没有直观地针对自发现数据与非自发现数据进行区分,对用户理解数据造成混扰。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于HIDS入侵检测采集自动同步CMDB的控制方法,通过HIDS提供的接口能够灵活的获取各维度的信息,解决了需要人工收集的配置项数据问题,并且该调用程序易于集成多个发现程序,实现对发现内容的灵活扩展,并提升数据识别和管理能力。
本发明的目的可以通过以下技术方案来实现:
一种基于HIDS入侵检测采集自动同步CMDB的控制方法,该方法包括以下步骤:
步骤1:基于HIDS主机入侵检测产品API所提供的API获取接口获得各维度的数据信息;
步骤2:创建HIDS主机入侵检测产品所采集的数据信息与CMDB配置项之间的CMDB临时表;
步骤3:将HIDS主机入侵检测产品所采集的数据信息通过映射关系插入至所述临时表中;
步骤4:通过ETL工具处理所述CMDB临时表完成从HIDS主机入侵检测产品到CMDB配置项的自动同步。
进一步地,所述的步骤4包括以下分步骤:
步骤401:通过ETL工具抽取所述CMDB临时表中数据;
步骤402:根据数据中的ip地址和CMDB配置项中记录的逻辑服务器ip地址进行匹配;
步骤403:针对符合匹配条件的数据对CMDB配置项进行数据新增,以完成自动同步。
进一步地,所述的步骤1包括以下步骤:
步骤101:发起HIDS主机入侵检测产品API所提供的API获取接口业务API请求;
步骤102:进行api身份认证,通过后对请求参数进行签名验证,获得认证后的token串、公司id、系统当前时间戳和签名值;
步骤103:对于不同的业务API请求类型进行不同处理后得到密钥string-to-sign;
步骤104:对密钥string-to-sign进行hash算法计算,得到sign字符串;
步骤105:基于sign字符串组装http请求头参数;
步骤106:完成API调用步骤,将输出的json数组插入CMDB数据库中,至此获得各维度的数据信息。
进一步地,所述的步骤103具体包括:
对于get请求,将请求参数按照参数名排序,再将排序后的请求参数及对应值与公司id、系统当前时间戳和签名值按照格式拼接,得到密钥string-to-sign;
对于put/post/delete请求,将数据json作为字符串参数body,并按照格式拼接,得到密钥string-to-sign。
进一步地,所述的步骤104中的hash算法采用SHA1算法。
进一步地,所述的步骤102中进行api身份认证的过程具体包括:在restful接口中定义参数username用户名,password密码,获取相关参数并进行api身份认证。
进一步地,所述步骤1中各维度的数据信息包括覆盖主机信息、进程信息、系统账号信息、用户组信息、Web应用信息、软件应用信息和数据库信息。
进一步地,所述步骤106中API调用采用python编写,输出结果为json数组,并插入至CMDB数据库中。
本发明还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于HIDS入侵检测采集自动同步CMDB的控制方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于HIDS入侵检测采集自动同步CMDB的控制方法的步骤。
与现有技术相比,本发明具有以下优点:
(1)本发明基于HIDS入侵检测的数据采集,编写了相关调用程序,并且自动更新至CMDB配置管理系统,实现了大部分运维配置项的自动录入功能。
(2)基于安全设备的采集能力,通过接口获取HIDS收集到的服务器配置数据,可保证数据采集的全面性和准确性。
(3)使用临时表存储自动获取的数据,进行数据二次加工,使数据能更贴近CMDB模型,并为用户提供良好的使用环境,另外使数据收集脚本与CMDB解耦,CMDB与外部平台通过该表来实现数据同步,是对外数据交互的一种扩展应用。
附图说明
图1为本发明整体方法步骤中HIDS数据采集步骤部分的流程图;
图2为本发明整体方法步骤中ETL处理CMDB临时表步骤部分的流程图;
图3为本发明整体方法步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
具体实施例
HIDS主机入侵检测产品API提供了部分功能的API获取接口,可以利用该接口,灵活的获取各维度的信息,当前API提供如下查询。所有api都按照restful请求方式,返回结果都是json数据格式。整个接口调用采用python编写,输出结果为json数组,并插入至CMDB数据库中。
S01)如图1所示,发起对HIDS产品API接口请求,url为请求地址,对应的服务器地址为HIDS java服务器地址,端口为6000,如http://${server}:6000/v1/api/auth;请求业务api之前,需要经过认证请求;业务api请求均需要经过参数签名;对于GET/POST方式的api,参数统一放在url中进行传递,如name&key1=value1&key2=value2的类似form表单的方式提交。
S02)进行api身份认证方式:在请求业务API之前,需要经过身份验证,在restful接口中定义参数username用户名,password密码,获取相关参数,通过后才能请求业务api。
S03)对请求参数进行签名验证,首先通过前面的请求获取到jwt(认证后的token串)、comId(公司id)、signKey(签名值)参数以及系统当前时间戳timestampS03)对于get请求,将请求以上参数按照参数名排序(自然升序),将排序后的请求参数及值,和comId、timestamp、signKey按照格式拼接,得到密钥string-to-sign
格式:{comId}{key1value1key2value2}{timestamp}{signKey};
S04)对于put/post/delete请求,将数据json作为字符串参数body,按照以下形式拼接,得到密钥string-to-sign
格式:{comId}{body}{timestamp}{signKey};
S05)对密钥string-to-sign进行Hash计算,得到sign字符串。Hash算法使用SHA1。
S06)组装http请求头参数
S07)完成API调用步骤,将输出的json数组插入CMDB数据库中
S08)创建临时表对象作为HIDS采集和CMDB配置项的过渡器;
S09)将中间表对象分别与HIDS采集和CMDB配置项建立映射关系
S10)通过之前的调用程序将HIDS接口采集的配置信息通过映射关系插入到临时表;
S11)如图2所示,通过ETL工具根据服务器ip地址完成从HIDS到CMDB配置项的自动同步。
如图3所示,本发明使用HIDS作为采集数据源。HIDS是Host-based IntrusionDetection System,即基于主机型入侵检测系统。作为计算机系统的监视器和分析器,监视系统全部或部分的动态的行为以及整个计算机系统的状态。它具备采集服务器、数据库、中间件、进程、端口等几乎所有服务器系统资源的能力。
上述的基于HIDS采集自动同步CMDB的实现方法,其中,所述HIDS数据采集方式为python调用程序,所述HIDS采集器对主机、数据库和各类软件组件采用Agent部署方式在服务器端定时收集相关配置信息。
本发明提供的基于HIDS入侵检测自动同步CMDB的实现方法,采用HIDS平台实现全面的数据采集,采集覆盖主机信息、进程信息、系统账号信息、用户组信息、Web应用信息、软件应用信息、数据库信息等资源,实现采集能力的全面性和集中性,为CMDB难以管理的配置项盲点提供了解决方案,提高了自动化数据录入的比例,提升整体工作效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
机译: 一种适用于并行配置的数据采集卡的数据采集卡的扩展控制方法,数据采集卡的扩展卡和数据采集卡的扩展控制系统,该系统包括用户电路和卡并行配置的数据采集
机译: 基于射频能量采集的射频无线界面装置及基于射频能量采集的无线界面装置的控制方法
机译: 基于射频能量采集的射频无线界面装置及基于射频能量采集的无线界面装置的控制方法