与安全设备接口通讯的通用适配方法
技术领域
本发明涉及一种通用适配方法,特别涉及与安全设备接口通讯的通用适配方法,本发明属于网络信息安全领域。
背景技术
目前网络安全产品日益增多,系统日益庞大,一方面设备和组件,比如防火墙、IDS、IPS、WAF、舆情监控、安全审计、行为管理分析、防病毒以及一些桌面安全软件等,在不断升级换代,种类越来越多;另一方面安全管理平台,比如soc、云平台等,越来越发复杂。往往这些安全设备和组件,需要特定的通讯方法,以达到特定目的和管理的需要。比如日志综合分析系统,需要采集各种安全设备和组件的日志,通常需要研究每种安全设备和组件的接口协议,包括通讯协议,以及业务传输协议,然后按照其交易要求进行开发,最后对接调试。这样每种设备和组件需要逐一开发,往往存在如下问题:
1、开发周期长;
2、调试周期长;
3、占用较多的开发资源;
4、对于复杂的接口,故障率较高。
发明内容
本发明提供一种与安全设备接口通讯的通用适配方法,该方法不仅能够快速适配通讯接口协议,而且在对接不同安全设备和组件接口时,基本无需编码开发,只需要配置即可,更有效地提高了适配效率。
本发明的技术方案如下:
一种与安全设备接口通讯的通用适配方法,包括用于生成通讯接口协议结构配置文件和交互流程配置文件的配置生成工具、用于加载相应配置文件的配置加载单元、根据流程配置信息创建流程实例并启动流程实例的流程引擎单元、提供对交互动作抽象后实现的节点组件以及提供通讯能力支持的通讯协议组件组成的与安全设备接口通讯的通用适配系统;
所述配置生成工具用于获取并解析某安全设备对应的通讯协议和业务协议配置信息,并根据所获取的配置信息生成相应的配置文件;
所述配置加载单元根据所获取的配置信息加载相应的动态库;
所述流程引擎单元根据流程配置信息,创建流程实例,并启动流程实例,按照安全设备的业务交互流程进行节点的调度,实现与安全设备的交互对接;
所述节点组件提供对通讯动作抽象后实现的组件库,如连接、登陆、组包、发送、接收、解析、心跳、加密、解密,并提供扩展接口支持扩展组件;
所述通讯协议组件提供常见的通讯协议支持,不仅支持FTP/SFTP、HTTP/HTTPS、TELNET、SSH、SNMP等主流通讯协议,而且支持基于SOCKET的私有协议以及中间件等第三方接口的扩展,所述通讯协议组件以动态库的形式体现;
所述通用适配方法包括以下步骤:
1)根据已知的业务协议资料,利用所述配置生成工具配置通讯协议类型以及通讯接口协议的格式,包括通讯头、通讯体、通讯尾各部分的字段类型和长度,以及通讯包结构,接着由所述配置生成工具生成通讯接口协议结构配置文件;
2)根据已知的业务协议资料,利用所述配置生成工具配置交互流程及动作节点信息,由工具生成交互流程配置文件;
3)用所述配置生成工具导出配置文件并拷贝到应用系统配置目录下;
4)所述通用适配系统启动后首先调用所述配置加载单元读取并解析通讯接口协议结构配置文件和交互流程配置文件,加载配置中涉及的所述节点组件和所述通讯协议组件,然后由所述流程引擎单元创建流程实例,并启动流程实例,按照安全设备的业务交互流程进行节点的调度,实现与安全设备的交互对接,即对接完成,如有错误可根据日志中提示的错误代码,修正配置,直至调试成功。
步骤1)中所述的通讯接口协议结构配置文件的格式如下:
所述的类型包括STRING、INT、DATE和TIME;
所述的长度为数字。
步骤2)中所述的交互流程配置的规则如下:
A.所述的交互流程由若干子流程组成。每个子流程,配置如下:
编号:(控制字符):节点序列
所述的控制字符包括从对方设备接收到的字符的关键字串和交互流程控制字串。
所述的节点序列包括节点名和参数。
B.所述的节点组件为:
●BK_CONNET(IP,PORT)
●BK_DISCONNET()
●BK_LOGIN(USER_NAME,PASSWD)
●BK_LOGOUT()
●BK_SEND(CONTENT)
●BK_RECV()
●BK_PARSE(CONTENT)
●BK_TERMINATE()
步骤2)中所述的交互流程配置文件的内容如下:
F1:(BK_BEGIN):BK_CONNECT(IP,PORT)->BK_LOGIN(USER_NAME,PASSWD)
F2:(LOGIN SUCCESS):BK_SEND(REQUEST_MSG)->BK_RECV
F3:(ERROR PASSWD):BK_DISCONNECT->BK_LOG(“ERROR PASSWD”)
F4:(TRANS SUCCEES):BK_PARSE->BK_SEND(REQUEST_MSG)->BK_RECV
F5:BK_DISCONNECT->BK_CONNET(IP,PORT)->
BK_LOGIN(USER_NAME,PASSWD)->BK_RECV。
本发明所提供的通用适配方法不仅协议可以配置化,而且交互流程可以配置化;其实现原理分别如下:
1、交互流程配置化实现原理:与安全设备交互的步骤可以抽象出来,有如下常规动作,连接、登陆、组包、发送、接收、解析、心跳、加密、解密等。这些枚举出的动作,视为节点,可以逐一实现为单独的组件。对于抽象的业务节点组件,每个节点由节点名称和参数两部分组成。根据安全设备接口定义出的交互流程,选择相应的节点,并描述节点间的关系。实现时,根据描述规则,实例化这个流程。
2、协议报文配置化实现原理:将业务通许协议,进行结构化描述,分为包头、包体、包尾三部分,每部分包括其字段组成,每个字段的类型及长度。实现时,根据描述规则,生成协议报文,为相应节点使用。
本发明所提供的与安全设备接口通讯的通用适配方法对比现有技术,具有以下优点:
可以通过配置化手段,完成协议报文组包和交互流程的逻辑实现,进而完成设备间的对接,从而大大缩短了开发和调试周期、节省了开发资源,而且对接故障率低。
附图说明
图1为某种安全设备与日志采集应用交互流程的通讯时序图;
图2为本发明所提供的与安全设备接口通讯的通用适配方法的流程框图。
具体实施方式
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施方式并结合附图,对本发明作进一步详细的说明:
实施例1
一种与安全设备接口通讯的通用适配方法,包括用于生成通讯接口协议结构配置文件和交互流程配置文件的配置生成工具、用于加载相应配置文件的配置加载单元、根据流程配置信息创建流程实例并启动流程实例的流程引擎单元、提供对交互动作抽象后实现的节点组件以及提供通讯能力支持的通讯协议组件组成的与安全设备接口通讯的通用适配系统,
所述通讯协议组件还包括若干动态库;
1)根据已知的业务协议资料,利用所述配置生成工具配置通讯协议类型以及通讯接口协议的格式,包括通讯头、通讯体、通讯尾各部分的字段类型和长度,以及通讯包结构,接着由所述配置生成工具生成通讯接口协议结构配置文件;
配置原则如下:
A.协议报文配置描述规则如下:
B.类型提供:STRING,INT,DATE,TIME
C.长度为数字,其中提供unlimit为未限制长度。
◆配置业务协议
按照协议文档的内容,编辑如下:
2)根据已知的业务协议资料,利用所述配置生成工具配置交互流程及动作节点信息,由工具生成交互流程配置文件;
◆配置业务交互流程
配置原则如下:
C.系统流程由若干子流程组成。每个子流程,配置为一行,如下:
编号:(控制字符):节点序列
D.控制字符:用以控制子流程的流转。控制字符分为两类,一类为从对方设备接收到的字符的关键字串;另一类为交互流程控制字串,比如:
BK_BEGIN即整个流程的开始,BK_TIME_OUT即表示接收数据超时。
E.提供的节点组件:
节点由节点名和参数组成。
●BK_CONNET(IP,PORT)
●BK_DISCONNET()
●BK_LOGIN(USER_NAME,PASSWD)
●BK_LOGOUT()
●BK_SEND(CONTENT)
●BK_RECV()
●BK_PARSE(CONTENT)
●BK_TERMINATE()
F.流程模版
F1:(BK_BEGIN):node1->node2->node3…
F2:(…………):node4->node5->node2…
….
◆使用文本工具编辑交互流程:
此功能提供的是个文本编辑功能。比如阅读某协议文档后,按照协议文档的内容,编辑如下:
F1:(BK_BEGIN):BK_CONNECT(IP,PORT)->BK_LOGIN(USER_NAME,PASSWD)->BK_RECV
第一个子流程:开始动作,连接设备,然后发送登录请求,接收响应包;
F2:(LOGIN SUCCESS):BK_SEND(REQUEST_MSG)->BK_RECV
第二个子流程:登录成功后,发送业务请求,然后开始接收响应包;
F3:(ERROR PASSWD):BK_DISCONNECT->BK_LOG(“ERROR PASSWD”)->BK_TERMINATE
第三个子流程:密码错误时,断开连接,并记录日志,结束整个流程;
F4:(TRANS SUCCEES):BK_PARSE->BK_SEND(REQUEST_MSG)->BK_RECV
第四个子流程:交易成功时,分析接收到的业务包,继续发送下一个业务请求,然后开始接收响应包;
F5:(BK_TIMEOUT):BK_DISCONNECT->BK_CONNET(IP,PORT)->
BK_LOGIN(USER_NAME,PASSWD)->BK_RECV
第五个子流程:当超时情况下,断开连接,重新连接,发送登录请求,接收响应包。
3)用所述配置生成工具导出配置文件并拷贝到应用系统配置目录下;
4)所述通用适配系统启动后首先调用所述配置加载单元读取并解析通讯接口协议结构配置文件和交互流程配置文件,加载配置中涉及的所述节点组件和所述通讯协议组件,然后由所述流程引擎单元创建流程实例,并启动流程实例,按照安全设备的业务交互流程进行节点的调度,实现与安全设备的交互对接,即对接完成,如有错误可根据日志中提示的错误代码,修正配置,直至调试成功。
上述具体实施方式只是对本发明的技术方案进行详细解释,本发明并不只仅仅局限于上述实施例,本领域技术人员应该明白,凡是依据上述原理及精神在本发明基础上的改进、替代,都应在本发明的保护范围之内。