一种报文处理方法、堡垒机及终端设备与流程

文档序号:16199599发布日期:2018-12-08 06:28阅读:285来源:国知局
一种报文处理方法、堡垒机及终端设备与流程
本申请涉及通信
技术领域
,特别是涉及一种报文处理方法、堡垒机及终端设备。
背景技术
在网络中,堡垒机分别连接终端和服务器,这样,堡垒机切断了终端和服务器的直接连接,也就切断了终端对服务器的直接访问,终端通过堡垒机才能对服务器进行访问。堡垒机采用协议代理的方式,代理终端向服务器发起访问。以堡垒机代理访问服务器的方式,可以有效地拦截来自终端的非法访问和恶意攻击。不仅加强了运维管理,而且提高了对服务器的访问安全。基于堡垒机在终端对服务器的访问中所起的作用,堡垒机可以认为是重要的安全管控枢纽。堡垒机分别针对各终端设置对应的访问权限,以提高终端访问服务器的安全性。然而,一旦堡垒机自身被攻破,堡垒机所防护的服务器也会暴露,进而使得服务器受到攻击。因此,针对堡垒机自身的安全加固是亟待解决的问题。技术实现要素:本申请实施例的目的在于提供一种报文处理方法、堡垒机及终端设备,以实现堡垒机自身的安全加固,降低中间人劫持攻击的风险。具体技术方案如下:第一方面,本申请实施例提供了一种报文处理方法,应用于堡垒机,所述方法包括:接收终端设备发送的待处理报文,所述待处理报文为:所述终端设备使用自身的密钥进行加密的报文;获取所述待处理报文的第一特征信息;基于特征信息与密钥标识的第一对应关系,获取所述第一特征信息对应的第一密钥标识,所述第一对应关系是:基于特征信息与终端设备的对应关系、终端设备与密钥标识的对应关系得到的;使用所述第一密钥标识表示的密钥,对所述待处理报文进行解密;对解密后的所述待处理报文进行处理。第二方面,本申请实施例提供了一种报文处理方法,应用于终端设备,所述方法包括:获取所述终端设备的密钥和堡垒机的外部端口号,所述外部端口号为非知名端口的端口号;根据所获取的密钥和待处理报文的报文信息,生成针对所述待处理报文的加密密钥;利用所述加密密钥,对所述待处理报文进行加密;以所述外部端口号表示的端口作为目的端口,将加密后的所述待处理报文发送至所述堡垒机。第三方面,本申请实施例提供了一种报文处理装置,应用于堡垒机,所述装置包括:接收模块,用于接收终端设备发送的待处理报文,所述待处理报文为:所述终端设备使用自身的密钥进行加密的报文;第一获取模块,用于获取所述待处理报文的第一特征信息;第二获取模块,用于基于特征信息与密钥标识的第一对应关系,获取所述第一特征信息对应的第一密钥标识,所述第一对应关系是:基于特征信息与终端设备的对应关系、终端设备与密钥标识的对应关系得到的;解密模块,用于使用所述第一密钥标识表示的密钥,对所述待处理报文进行解密;处理模块,用于对解密后的所述待处理报文进行处理。第四方面,本申请实施例提供了一种报文处理装置,应用于终端设备,所述装置包括:获取模块,用于获取所述终端设备的密钥和堡垒机的外部端口号,所述外部端口号为非知名端口的端口号;生成模块,用于根据所获取的密钥和待处理报文的报文信息,生成针对所述待处理报文的加密密钥;加密模块,用于利用所述加密密钥,对所述待处理报文进行加密;发送模块,用于以所述外部端口号表示的端口作为目的端口,将加密后的所述待处理报文发送至所述堡垒机。第五方面,本申请实施例提供了一种堡垒机,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面中任一所述的报文处理方法步骤。第六方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面中任一所述的报文处理方法步骤。第七方面,本申请实施例提供了一种终端设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第二方面中任一所述的报文处理方法步骤。第八方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第二方面中任一所述的报文处理方法步骤。本申请实施例提供的技术方案中,客户端对发送至堡垒机的待处理报文进行加密,堡垒机接收到客户端发送的待处理报文后,根据待处理报文的第一特征信息对应的第一密钥标识,对待处理报文进行解密,进而得到解密后的待处理报文。通过对客户端和堡垒机之间的待处理报文进行加密处理,加强了堡垒机的安全性,实现了堡垒机自身的安全加固,进而有效地降低了中间人劫持攻击的风险。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供了报文处理方法的第一种流程图;图2为本申请实施例提供了报文处理方法的第二种流程图;图3为本申请实施例提供了报文处理方法的第三种流程图;图4为本申请实施例提供了报文处理方法的信令图;图5为本申请实施例提供了报文处理装置的第一种结构示意图;图6为本申请实施例提供了报文处理装置的第二种结构示意图;图7为本申请实施例提供了堡垒机的一种结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了实现堡垒机自身的安全加固,进而降低中间人劫持攻击的风险,本申请实施例提供了一种报文处理方法、堡垒机及终端设备,应用于堡垒机,其中,报文处理方法包括:接收终端设备发送的待处理报文,该待处理报文为:终端设备使用自身的密钥进行加密的报文;获取待处理报文的第一特征信息;基于特征信息与密钥标识的第一对应关系,获取第一特征信息对应的第一密钥标识,第一对应关系是:基于特征信息与终端设备的对应关系、终端设备与密钥标识的对应关系得到的;使用第一密钥标识表示的密钥,对待处理报文进行解密;对解密后的待处理报文进行处理。本申请实施例提供的技术方案中,客户端对发送至堡垒机的待处理报文进行加密,堡垒机接收到客户端发送的待处理报文后,根据待处理报文的第一特征信息对应的第一密钥标识,对待处理报文进行解密,进而得到解密后的待处理报文。通过对客户端和堡垒机之间的待处理报文进行加密处理,加强了堡垒机的安全性,实现了堡垒机自身的安全加固,进而有效地降低了中间人劫持攻击的风险。下面首先对本申请实施例提供的一种报文处理方法进行介绍,本申请实施例提供的报文处理方法应用于堡垒机,该报文处理方法包括如下步骤。s101,接收终端设备发送的待处理报文。待处理报文为:终端设备使用自身的密钥进行加密的报文。其中,待处理报文可以为tcp(transmissioncontrolprotocol,传输控制协议)报文、ip(internetprotocol,互联网协议)报文、udp(userdatagramprotocol,用户数据报协议)报文等中的任一种,下面以待处理报文为tcp报文为例进行介绍。其中,终端设备的密钥可以采用私有密钥,即私有密钥的加密规则是自定义设定的,这样,可以进一步地加密报文的安全性。每个终端设备中存储有对应的密钥,并且每个终端设备的密钥各不相同,这样,每个终端设备对各自发送的报文进行加密的密钥不一样,提高了报文传输的安全性。进一步地,终端设备可以在基于自身密钥的基础上,再结合待处理报文的报文信息,生成针对当前该待处理报文的新的加密密钥。其中,报文信息可以是序列号、确认号等信息中的至少一种。终端设备再利用新的加密密钥对待处理报文进行加密。这样,对于终端设备所发送的每个待处理报文,每个待处理报文进行加密所采用的密钥各不相同,进而进一步地提高了报文传输的安全性。一种实施方式中,堡垒机接收待处理报文的外部端口为非知名端口。堡垒机对外体现的外部端口为非知名端口,可以有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性。其中,非知名端口为除知名端口(well-knownports)以外的其他端口。知名端口的知名端口号是指由icann(theinternetcorporationforassignednamesandnumbers,互联网名称与数字地址分配机构)预留给tcp协议和udp协议使用的端口号,知名端口号的范围从0到1023。对于本领域技术人员来说,知名端口号可以认为是众所周知的端口号,每一个知名端口号固定分配有一种服务应用。例如,端口号5分配给rje(remotejobentry,远程作业入口)服务,端口号21分配给ftp(filetransferprotocol,文件传输协议)服务,端口号25分配给smtp(simplemailtransferprotocol,简单邮件传输协议)服务,端口号80分配给http(hypertexttransferprotocol,超文本传输协议)服务,pop3(postofficeprotocol–version3,邮局协议版本3)使用端口号110,端口号135分配给rpc(remoteprocedurecall,远程过程调用)服务。s102,获取待处理报文的第一特征信息。其中,第一特征信息可以是ip地址、标识等。具体地,ip地址可以为源ip地址,该源ip地址即为发送待处理报文的终端设备的ip地址。标识可以为终端设备的标识,终端设备的标识可以是预设的,每一终端设备对应一个标识。下面的实施例中以第一特征信息为源ip地址为例进行介绍。s103,基于特征信息与密钥标识的第一对应关系,获取第一特征信息对应的第一密钥标识。第一对应关系是:基于特征信息与终端设备的对应关系、终端设备与密钥标识的对应关系得到的。其中,特征信息与终端设备的对应关系是预设的,每一终端设备对应一个特征信息。终端设备与密钥标识的对应关系是预设的,每一终端设备对应一个密钥标识,每一终端设备利用所对应密钥标识表示的密钥,对自身发送的待处理报文进行加密。基于终端设备与特征信息的一一对应的关系、以及终端设备与密钥标识的一一对应的关系,在第一对应关系中,特征信息与密钥标识是一一对应的。一种实施方式中,堡垒机中存储有特征信息与密钥标识的第一对应关系,可以认为,该堡垒机中存储有多个特征信息,每一个特征信息对应有一个密钥标识。在堡垒机获取到待处理报文的第一特征信息之后,可以首先在所存储的多个特征信息中查询是否存在与该第一特征信息匹配的特征信息,只有在匹配时,再基于第一对应关系获取该第一特征信息对应的第一密钥标识;而在不匹配时,则认为该待处理报文为非法报文,将该非法报文丢弃。s104,使用第一密钥标识表示的密钥,对待处理报文进行解密。第一密钥标识表示的密钥即为终端设备对应的密钥,终端设备利用该密钥对待处理报文进行加密,则堡垒机可以利用同一密钥对加密后的同一待处理报文进行解密。一种实现方式中,第一密钥标识表示的密钥是采用私有加密的方式,即密钥内容是自定义设定的。私有加密提高了报文加密的安全性,并且有效提高了中间人劫持攻击的难度。堡垒机中存储有密钥标识和密钥的对应关系,密钥标识和密钥的对应关系可以以表项的形式进行存储。如下表1所示的密钥表项:表1标识密钥内容密钥生效时间密钥失效时间其中,标识为密钥的标识,并且每一个密钥唯一对应一个标识。密钥内容为每一个密钥所包括的内容,例如,密钥进行加密的数字。密钥生效时间为密钥开始生效的时间,只有在密钥生效时间之后密钥才能开始使用。密钥失效时间为密钥失效的时间点,密钥只有在密钥失效时间之前是可以使用的。密钥生效时间和密钥失效时间之间的时间段即为密钥的有效期,该有效期可以是自定义设定的。对于密钥的有效期,可以是永久有效。当终端设备获取到第一密钥标识后,可以直接从密钥表项中查找该第一密钥标识所对应的密钥。根据终端设备利用所对应的密钥对待处理报文进行加密的方式不同,堡垒机利用第一密钥标识表示的密钥对待处理报文进行解密的方式也不同,下面分别进行介绍。第一种解密方式,终端设备直接利用所对应的密钥对待处理报文进行加密,则堡垒机可以直接利用第一密钥标识表示的密钥对待处理报文进行解密。第二种解密方式,终端设备利用所对应的密钥、待处理报文的报文信息生成新的加密密钥,再利用新的加密密钥对待处理报文进行加密。则对于堡垒机来说,在获取到第一密钥标识之后,可以从预设的密钥表项中获取第一密钥标识表示的密钥,并利用该第一密钥标识表示的密钥和该待处理报文的报文信息生成新的解密密钥,再利用该新的解密密钥对待处理报文进行解密。其中,报文信息为序列号、确认号等信息中的至少一种,并且与终端设备中所使用的报文信息是相同的。例如,终端设备利用密钥、序列号和确认号三个参数生成新的加密密钥进行加密,那么,堡垒机也利用密钥、序列号和确认号三个参数生成新的解密密钥进行解密。对于第二种解密方式,所生成的新的解密密钥是针对每一个待处理报文的,也就是说,不同的待处理报文所需的解密密钥是不同的,这样,提高了报文传输的安全性,实现了堡垒机安全的进一步加固。s105,对解密后的待处理报文进行处理。在对待处理报文进行解密后,堡垒机可以获得该待处理报文所携带的内容,并根据所获得的内容进行运维审计等相应的处理。例如,待处理报文为运维操作请求报文,则该待处理报文所携带的内容为运维人员针对服务器的运维操作信息,堡垒机对运维操作信息进行运维审计,以降低服务器遭受攻击的可能性。一种实施方式中,待处理报文传输至堡垒机时,待处理报文的目的端口为非知名端口的外部端口,堡垒机在对待处理报文进行解密后,堡垒机需将解密后的待处理报文进行内部传输,比如传输至其他模块进行处理。具体地,堡垒机基于特征信息与内部端口号的第三对应关系,获取第一特征信息对应的目标内部端口号。其中,特征信息与内部端口号的第三对应关系可以是预设的,每一特征信息对应至少一个内部端口号。内部端口号为知名端口的端口号,例如,内部端口号为5、21等知名端口的端口号。堡垒机在获取到目标内部端口号之后,将目的端口替换为目标内部端口号对应的端口,由该目标内部端口号的端口对待处理报文进行堡垒机的内部传输。并利用该目标内部端口号对应的协议,对解密后的待处理报文进行处理。为了进一步地加强对堡垒机的安全加固,一种实施方式中,待处理报文中携带有终端设备的mac(mediaaccesscontrol,媒体访问控制)地址。堡垒机可以基于特征信息与mac地址的第二对应关系,确定第一特征信息对应的目标mac地址。其中,特征信息与mac地址的第二对应关系是预先设定的,每一特征信息对应一个mac地址。并且,该第二对应关系中的mac地址为终端设备的mac地址。所确定出的目标mac地址是堡垒机预先设定的该第一特征信息唯一对应的mac地址,可以认为,目标mac地址的终端设备为目标终端设备。也就是说,堡垒机设定的:该第一特征信息所表示的待处理报文只能由该目标终端设备发送给堡垒机。例如,在源ip地址与mac地址的第二对应关系中,源ip地址192.168.138.1与mac地址44-45-53-54-00-00相对应的,当第一特征信息为192.168.138.1时,则目标mac地址为44-45-53-54-00-00,表示堡垒机预设的该源ip地址为192.168.138.1的报文只能是由mac地址为44-45-53-54-00-00的终端设备发送的。堡垒机在对待处理报文进行解密之后,可以获取到该待处理报文所携带的mac地址,该mac地址即为实际发送该待处理报文的终端设备的mac地址。判断待处理报文携带的mac地址与目标mac地址是否匹配,也就是判断实际发送该待处理报文的终端设备与目标mac地址表示的终端设备是否为同一终端设备。如果不匹配,则认为该待处理处理报文为非法报文,堡垒机将该待处理报文丢弃;如果匹配,则认为该待处理处理报文为堡垒机允许的合法报文,堡垒机对该待处理报文进行处理。通过该实施方式中堡垒机预先将特征信息与mac地址进行绑定,堡垒机在接收到待处理报文后还需进行终端设备的认证。这样,即使ip地址等特征信息被攻击窃取后,攻击者用窃取的ip地址等特征信息发送待处理报文,但实际发送待处理报文的终端设备并非堡垒机预设的终端设备,进而不能通过堡垒机的终端设备的认证,进而使得攻击难以实施,大大提高了堡垒机的安全性。在上述实施方式中,待处理报文所携带的mac地址在待处理报文中可以有多种存放方式,例如,第一种存放方式是直接将mac地址作为一个整体存放在待处理报文的载荷中。第二种存放方式可以是:mac地址所包括的十六进制的数组分别插入到待处理报文的载荷中。根据mac地址在待处理报文中的存放方式不一样,堡垒机从待处理报文中获取mac地址的方式也不一样。下面以上述两种存放方式为例对堡垒机获取mac地址的方式进行介绍。当mac地址以第一种存放方式在待处理报文中存放时,堡垒机获取到针对该待处理报文的解密密钥,并根据待处理报文中载荷的长度,将多个相同的解密密钥拼接成为与载荷长度相同的长度。再利用拼接之后的解密密钥对待处理报文进行解密,进而可以得到解密后的载荷,并且从该解密的载荷中直接获取到mac地址。当mac地址以第二种存放方式在待处理报文中存放时,堡垒机对待处理报文进行解密之后,堡垒机从解密后的待处理报文中获取待处理报文的载荷,并将所获取的载荷划分为预设数量的子载荷;从所划分的各子载荷中,分别提取子载荷各自包含的终端设备的mac地址的数组。其中,预设数量为自定义的,例如,预设数量为6,即将mac地址的6个数组分别存储在待处理报文的载荷所划分的六个子载荷中。堡垒机利用拼接后的解密密钥对待处理报文进行解密,得到解密后的载荷之后,将载荷划分成六个子载荷,每个子载荷存储有mac地址的一个十六进制的数组。堡垒机将解密后的载荷均等分成六个长度相同的子载荷,并从每个子载荷中获取所存储的数组,将所获取的六个数组进行组合,便可以得到待处理报文所携带的mac地址。例如,堡垒机将载荷分成的六个子载荷为:子载荷1、子载荷2、子载荷3、子载荷4、子载荷5和子载荷6。其中,子载荷1中存储的数组为00,子载荷2中存储的数组为50,子载荷中存储的数组为ba,子载荷4中存储的数组为ce,子载荷5中存储的数组为07,子载荷6中存储的数组为0c,则堡垒机分别从六个子载荷获取到六个数组之后,进行组合所得到的mac地址为:00-50-ba-ce-07-0c。堡垒机在从载荷中提取到mac地址之后,载荷的长度相对于提取之前的长度,缩小了6个字节,该6个字节即为mac地址的长度。本申请实施例提供的技术方案中,客户端对发送至堡垒机的待处理报文进行加密,堡垒机接收到客户端发送的待处理报文后,根据待处理报文的第一特征信息对应的第一密钥标识,对待处理报文进行解密,进而得到解密后的待处理报文。通过对客户端和堡垒机之间的待处理报文进行加密处理,加强了堡垒机的安全性,实现了堡垒机自身的安全加固,进而有效地降低了中间人劫持攻击的风险。堡垒机在接收到终端设备发送的待处理报文之后,会向该终端设备发送该待处理报文对应的响应报文。本申请实施例还提供针对响应报文的一种报文处理方法,如图2所示,可以包括如下步骤。s201,获得待处理报文对应的响应报文。其中,响应报文是针对堡垒机所接收的待处理报文的,若待处理报文是终端设备发送的操作请求报文,则响应报文则可以是操作执行结果报文,用来向终端设备反馈才做执行的结果。响应报文可以为tcp报文、ip报文、udp报文等中的任一种,下面以响应报文为tcp报文为例进行介绍。s202,基于第一对应关系,确定响应报文的第二特征信息对应的第二密钥标识。其中,第二特征信息可以是ip地址、标识等。具体地,ip地址可以为目的ip地址,该目标ip地址即为接收该响应报文的终端设备的ip地址。标识可以为接收该响应报文的终端设备的标识。下面的实施例中以第二特征信息为目的ip地址为例进行介绍。其中,该第一对应关系为上述s103中的特征信息与密钥标识的对应关系。堡垒机基于第一对应关系,确定响应报文的第二特征信息对应的第二密钥标识,参见上述s103的说明,在此不再赘述。在上述s103中,第一特征信息为针对发送待处理报文的终端设备的信息,第二特征信息为针对接收响应报文的终端设备的信息,本申请实施例中,发送待处理报文的终端设备与接收响应报文的终端设备为同一终端设备。因此,基于此,第二密钥标识与第一密钥标识相同。s203,使用第二密钥标识表示的密钥,对响应报文进行加密。利用第二密钥标识表示的密钥对响应报文进行加密,一种实现方式中,可以用该第二密钥标识表示的密钥直接对响应报文进行加密。另一种实现方式中,堡垒机获得第二密钥标识后,可以从预设的密钥表项中,获取第二密钥标识表示的密钥,并根据第二密钥标识表示的密钥、响应报文的报文信息生成针对该响应报文的新的加密密钥,再利用新的加密密钥对响应报文进行加密。其中,响应报文的报文信息可以是序列号、确认号等信息中的至少一种。堡垒机利用新的加密密钥对响应报文进行加密时,首先将新的加密密钥的长度进行拼接,拼接成为与响应报文的载荷长度相同,再利用拼接后的加密密钥对响应报文进行加密,进而可以得到加密后的响应报文。s204,将加密后的响应报文发送至终端设备。一种实施方式中,通过选取预设的外部端口号对应的端口,并通过该外部端口号对应的端口,将加密后的响应报文发送至终端设备,其中,外部端口号为非知名端口的端口号。具体地,根据特征信息与外部端口号的第四对应关系,获取第二特征信息对应的目标外部端口号。通过目标外部端口号对应的端口,将加密后的响应报文发送至终端设备。其中,特征信息与外部端口号的第四对应关系可以是预设的,并且每一特征信息对应一个外部端口号。在第四对应关系中,每一个特征信息对应一个外部端口号,根据第四对应关系所获取的目标外部端口号对应的端口为外部端口。基于上述第三对应关系中特征信息与内部端口号的对应关系,以及第四对应关系中特征信息与外部端口号的对应关系。可以确定特征信息、内部端口号和外部端口号三者之间的对应关系。外部端口号和内部端口号可以以表项形式进行存储,如下表2所示:表2内部端口号外部端口号在三者之间的对应关系中,每一个特征信息对应一个外部端口号和一个内部端口号。此时,第二特征信息对应的目标外部端口号,利用该外部端口号对应的端口将响应报文发送至终端设备;该第二特征信息对应的目标内部端口号,即为堡垒机外内部传输响应报文的目标内部端口号所对应的端口。在图2对应的实施例中,堡垒机对响应报文进行加密,可以有效地降低被中间人攻击的危险。堡垒机选取非知名端口作为外部端口,并通过非知名端口发送响应报文,这样堡垒机对外体现的外部端口是非知名端口,有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性,进而实现堡垒机的安全加固。相应于上述应用于堡垒机的报文处理方法实施例,本申请实施例还提供一种报文处理方法,应用于终端设备,该报文处理方法包括如下步骤。s301,获取终端设备的密钥和堡垒机的外部端口号。终端设备的密钥可以是预先存储在终端设备中的,每一终端设备对应存储一个密钥,该密钥即为对该终端设备发送的报文进行加密的密钥。每一终端设备还预先存储堡垒机的外部端口号,该外部端口号为堡垒机接收报文的外部端口的端口号,当终端设备向堡垒机发送待处理报文时,该待处理报文所携带的目的端口号即为该外部端口号。其中,外部端口号为非知名端口的端口号。这样,堡垒机对外体现的是非知名端口,通过非知名端口接收终端设备发送的待处理报文。有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性,进而实现堡垒机的安全加固。s302,根据所获取的密钥和待处理报文的报文信息,生成针对待处理报文的加密密钥。其中,报文信息可以是序列号、确认号等信息中的至少一种。终端设备根据密钥和报文信息生成针对待处理报文的加密密钥,可以参见上述堡垒机根据密钥和报文信息生成新的加密密钥或者解密密钥,在此不再赘述。s303,利用加密密钥,对待处理报文进行加密。加密密钥是由密钥和待处理报文的报文信息所生成的,因此,所生成的加密密钥是针对每一个待处理报文的,即每一个待处理报文进行加密所使用的加密密钥是不相同的。这样,提高了加密报文的安全性。另外,终端设备还可以直接利用所获取的密钥作为加密密钥,此时,终端设备直接利用所获取的密钥对待处理报文进行加密。这样,对于同一终端设备,对待处理报文进行加密的密钥是相同的。一种实施方式中,为了进一步加强堡垒机的安全性,堡垒机需要对所接收的待处理报文进行mac认证。每一终端设备对应唯一的mac地址,堡垒机预先设定每一个mac地址对应的用户,所指定的用户只有通过所指定的mac地址所对应的终端设备发送的待处理报文才可以被堡垒机认证为合法报文,否则堡垒机将该待处理报文确定为非法报文,并将非法报文的待处理报文丢弃。终端设备需要将自身的mac地址存放在待处理报文的载荷中,以使得待处理报文携带mac地址发送至堡垒机。mac地址在待处理报文中的存放方式有多种,第一种存放方式是终端设备直接将mac地址作为一个整体存放在待处理报文的载荷中。第二种存放方式是终端设备将mac地址所包括的十六进制的数组分别插入到待处理报文的载荷中。具体地,终端设备可以将待处理报文的载荷划分为预设数量的子载荷,预设数量可以是自定义设定的,例如,预设数量可以是6,即将载荷划分为6个子载荷;预设数量为3,则将载荷划分为3个子载荷。在终端设备得到多个子载荷后,可以将终端设备的mac地址的各数组分别插入所划分的各子载荷中。以预设数量为6进行说明,终端设备将载荷分为长度均等的六个部分,即六个子载荷。再分别将终端设备的mac地址的六个数组分别插入六个子载荷,即第一个数组插入第一个子载荷,第二个数组插入第二个子载荷,第三个数组插入第三个子载荷,第四个数组插入第四个子载荷,第五个数组插入第五个子载荷,第六个数组插入第六个子载荷。此时,载荷的长度相比与插入前的载荷的长度增加了6个字节。这样,待处理报文中携带了终端设备的mac地址。堡垒机在接收到携带终端设备的mac地址的待处理报文之后,对所接收的待处理报文进行mac认证,即判断待处理报文中携带的mac地址与堡垒机预先存储的该终端设备的mac地址是否相匹配,若不匹配,则将该待处理报文确定为非法报文,并将非法报文的待处理报文丢弃;若匹配,则将该待处理报文确定为合法报文。终端设备在完成将mac地址插入载荷中之后,利用加密密钥,对携带有mac地址的待处理报文进行加密。s304,以外部端口号表示的端口作为目的端口,将加密后的待处理报文发送至堡垒机。外部端口号为非知名端口的端口号,以外部端口号表示的端口作为目的端口,即终端设备是将待处理报文发送至该非知名端口的,对于堡垒机来说,是通过该非知名端口接收待处理报文的。这样,有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性,进而实现堡垒机的安全加固。在本申请实施例中,终端设备对待处理报文进行加密,选取非知名端口作为堡垒机的外部端口,将加密的待处理报文发送至堡垒机的非知名端口,以使得堡垒机由非知名端口接收待处理报文。不仅可以有效地降低被中间人攻击的危险,而且有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性,进而实现堡垒机的安全加固。结合上述图1、图2及图3对应的实施例,本申请实施例还提供一种报文处理方法,如图4所示,该报文处理方法包括如下步骤。s401,终端设备获取终端设备的密钥和堡垒机的外部端口号。所获取的密钥为密钥1,该密钥1为私有加密的密钥。外部端口号为2345,该2345为非知名端口的端口号。s402,终端设备根据所获取的密钥和待处理报文的序列号、确认号,生成针对待处理报文的加密密钥。待处理报文的序列号为1,确认号为2。由密钥1、序列号1以及确认号2所生成的加密密钥为密钥11。该密钥11为针对该待处理报文的密钥。s403,终端设备将待处理报文的载荷划分为预设数量的子载荷。预设数量为6,并确定报文的载荷长度为reqlen1,划分成六个子载荷的每一个子载荷的长度为:offsetlen1=reqlen1/6,余数为lastlen1。每一个子载荷用repdata1[]表示,那么六个子载荷分别表示为:repdata1[1]、repdata1[2]、repdata1[3]、repdata1[4]、repdata1[5]和repdata1[6]。s404,终端设备将自身的mac地址的各数组分别插入所划分的各子载荷中。其中,mac地址由6个数组组成,以字节为单位的每一个数组表示为:macarray1[]。即mac地址包括:macarray1[1]、macarray1[2]、macarray1[3]、macarray1[4]、macarray1[5]和macarray1[6]。将mac地址对应插入至子载荷中进行存储,即将macarray1[1]插入至repdata1[1]中存储,将macarray1[2]插入至repdata1[2]中存储,将macarray1[3]插入至repdata1[3]中存储,将macarray1[4]插入至repdata1[4]中存储,将macarray1[5]插入至repdata1[5]中存储,将macarray1[6]插入至repdata1[6]中存储。例如,mac地址为44-45-53-54-00-00,则macarray1[1]为44,macarray1[2]为45,macarray1[3]为53,macarray1[4]为54,macarray1[5]为00,macarray1[6]为00。并将44插入至子载荷repdata1[1]中存储,将45插入至子载荷repdata1[2]中存储,将53插入至子载荷repdata1[3]中存储,将54插入至子载荷repdata1[4]中存储,将00插入至子载荷repdata1[5]中存储,将00插入至子载荷repdata1[6]中存储。插入mac地址后,载荷的长度变为reqlen1+6。所增加的6个字节即为mac地址的6个字节的长度。s405,终端设备利用加密密钥,对携带有mac地址的待处理报文进行加密。加密密钥即为密钥11,将该密钥11通过字符串拼接的方式,拼接称长度为reqlen1+6的新的密钥11。也就是说,拼接完成后的新的密钥11的长度与插入mac地址后载荷的长度相同。再利用长度为reqlen1+6的新的密钥11,对携带有mac地址的待处理报文进行加密。s406,终端设备以外部端口号表示的端口作为目的端口,将加密后的待处理报文发送至堡垒机。外部端口号为2345,该外部端口号2345所表示的端口为非知名端口,待处理报文中的目的端口即为2345。终端设备将加密后的待处理报文发送至堡垒机的端口号为2345的端口。s407,堡垒机接收终端设备发送的待处理报文,并获取待处理报文的第一特征信息。堡垒机通过端口号为2345的外部端口接收待处理报文,并获取待处理报文的源ip地址为123.122.100.134,目的ip地址和目的端口,及待处理报文的用户信息。对所获取的源ip地址、目的ip地址、目的端口和用户信息进行验证。具体地,堡垒机中预先存储有源ip地址、目的ip地址、目的端口和用户信息,并且源ip地址、目的ip地址、目的端口和用户信息四者之间存在对应关系。在接收到待处理报文并获取到该待处理报文的源ip地址1、目的ip地址1、目的端口1和用户信息1之后,首先检测堡垒机中是否存在与待处理报文的源ip地址1、目的ip地址1、目的端口1和用户信息1相匹配的源ip地址、目的ip地址、目的端口和用户信息。如果不存在,则将该待处理报文确定为非法报文,如果存在,则继续判断所匹配出的源ip地址、目的ip地址、目的端口和用户信息在堡垒机中是否在同一对应关系中,如果否,则将该待处理报文确定为非法报文,并将该待处理报文丢弃,如果是,则继续执行下述操作。s408,堡垒机基于特征信息与密钥标识的第一对应关系,获取第一特征信息对应的第一密钥标识。在第一对应关系中,源ip地址为123.122.100.134所对应的密钥标识为1,则将标识1作为第一密钥标识。s409,堡垒机从预设的密钥表项中,获取第一密钥标识表示的密钥。从预设的密钥表项中,标识1对应的密钥为密钥1,则获取该密钥1。s410,堡垒机根据所获取的密钥和待处理报文的序列号、确认号,生成针对待处理报文的解密密钥。待处理报文的序列号为1,确认号为2。由密钥1、序列号1以及确认号2所生成的解密密钥为密钥12。该密钥12为针对该待处理报文的解密密钥。s411,堡垒机利用解密密钥,对待处理报文进行解密。利用所生成的密钥12,对待处理报文进行解密,可以得到该待处理报文所携带的载荷。具体地,确定待处理报文所携带的载荷的长度为reqlen2,将该密钥12通过字符串拼接的方式,拼接称长度为reqlen2的新的密钥12。也就是说,拼接完成后的新的密钥12的长度与载荷的长度相同。再利用长度为reqlen2的新的密钥12,对待处理报文进行解密。从解密后的待处理报文中获取待处理报文的载荷,并将所获取的载荷划分为预设数量的子载荷。具体地,预设数量为6,将长度为reqlen2的载荷划分为六个子载荷,每一个子载荷的长度为:offsetlen2=reqlen2/6,余数为lastlen2。每一个子载荷用repdata2[]表示,那么六个子载荷分别表示为:repdata2[1]、repdata2[2]、repdata2[3]、repdata2[4]、repdata2[5]和repdata2[6]。从所划分的各子载荷中,分别提取子载荷各自包含的终端设备的mac地址的数组。具体地,分别从repdata2[1]、repdata2[2]、repdata2[3]、repdata2[4]、repdata2[5]和repdata2[6]中提取各自所存储的mac地址的数组,数组表示为:macarray1[]。即从repdata2[1]中可以提取到数组macarray1[1],从repdata2[2]中可以提取到数组macarray1[2],从repdata2[3]中可以提取到数组macarray1[3],从repdata2[4]中可以提取到数组macarray1[4],从repdata2[5]中可以提取到数组macarray1[5],从repdata2[6]中可以提取到数组macarray1[6]。再将macarray1[1]、macarray1[2]、macarray1[3]、macarray1[4]、macarray1[5]和macarray1[6]进行组合,便可以得到待处理报文所携带的mac地址:44-45-53-54-00-00。s412,堡垒机基于特征信息与mac地址的第二对应关系,确定第一特征信息对应的目标mac地址。在第二对应关系中,源ip地址为123.122.100.134所对应的mac地址为44-45-53-54-00-00。则可以确定目标mac地址为44-45-53-54-00-00。s413,堡垒机判断待处理报文携带的mac地址与目标mac地址是否匹配,如果是,执行s414,如果否,将待处理报文丢弃。待处理报文携带的mac地址为44-45-53-54-00-00,目标mac地址为44-45-53-54-00-00,则可以确定待处理报文携带的mac地址与目标mac地址相匹配。在确定待处理报文携带的mac地址与目标mac地址相匹配之后,基于源ip地址与内部端口号的第三对应关系,获取目标内部端口号为80,该内部端口号80为知名端口的端口号。利用目标内部端口号80对应的http协议,对解密后的待处理报文进行处理。s414,堡垒机对解密后的待处理报文进行处理,并获得待处理报文对应的响应报文。响应报文与待处理报文是相对应的,即响应报文是针对该待处理报文的响应的报文。s415,堡垒机基于第一对应关系,确定响应报文的第二特征信息对应的第二密钥标识。第二特征信息为目的ip地址:125.112.129.225,该目的ip地址即为接收该响应报文的终端设备的ip地址。从第一对应关系中,可以确定出目的ip地址125.112.129.225所对应的第二密钥标识为2。s416,堡垒机从预设的密钥表项中,获取第二密钥标识表示的密钥。在预设的密钥表项中,标识2对应的密钥为密钥2,则获取该密钥2。s417,堡垒机根据所获取的密钥和响应报文的报文信息,生成针对响应报文的加密密钥。响应报文的报文信息中序列号为3,确认号为4,由密钥2、序列号3以及确认号4所生成的加密密钥为密钥22。该密钥22为针对该响应报文的密钥。s418,堡垒机利用加密密钥,对响应报文进行加密。获取响应报文的长度为reqlen3,加密密钥即为密钥22,将该密钥22通过字符串拼接的方式,拼接称长度为reqlen3的新的密钥22。也就是说,拼接完成后的新的密钥22的长度与响应报文所携带的载荷的长度相同。再利用长度为reqlen3的新的密钥22,对响应报文进行加密。s419,堡垒机根据特征信息与外部端口号的第四对应关系,获取第二特征信息对应的目标外部端口号。第四对应关系中,目的ip地址125.112.129.225所对应的外部端口号为2333,该端口号2333为非知名端口的端口号。s420,堡垒机通过目标外部端口号对应的端口,将加密后的响应报文发送至终端设备。堡垒机通过端口号为2333的端口,将加密后的响应报文发送至终端设备。相应于上述报文处理方法实施例,本申请实施例还提供一种报文处理装置,应用于堡垒机,如图5所示,该报文处理装置包括:接收模块510,用于接收终端设备发送的待处理报文,待处理报文为:终端设备使用自身的密钥进行加密的报文;第一获取模块520,用于获取待处理报文的第一特征信息;第二获取模块430,用于基于特征信息与密钥标识的第一对应关系,获取第一特征信息对应的第一密钥标识,第一对应关系是:基于特征信息与终端设备的对应关系、终端设备与密钥标识的对应关系得到的;解密模块540,用于使用第一密钥标识表示的密钥,对待处理报文进行解密;处理模块550,用于对解密后的待处理报文进行处理。可选地,解密模块540还用于:从解密后的待处理报文中获取待处理报文的载荷,并将所获取的载荷划分为预设数量的子载荷;从所划分的各子载荷中,分别提取子载荷各自包含的终端设备的mac地址的数组。可选地,待处理报文中携带有终端设备的mac地址;处理模块550具体用于:基于特征信息与mac地址的第二对应关系,确定第一特征信息对应的目标mac地址;判断待处理报文携带的mac地址与目标mac地址是否匹配;如果是,对解密后的待处理报文进行处理。可选地,处理模块550具体用于:基于特征信息与内部端口号的第三对应关系,获取第一特征信息对应的目标内部端口号,内部端口号为知名端口的端口号;利用目标内部端口号对应的协议,对解密后的待处理报文进行处理。可选地,解密模块540具体用于:从预设的密钥表项中,获取第一密钥标识表示的密钥;根据所获取的密钥和待处理报文的报文信息,生成针对待处理报文的解密密钥;利用解密密钥,对待处理报文进行解密。可选地,装置还包括可以包括:获得模块,用于获得待处理报文对应的响应报文;确定模块,用于基于第一对应关系,确定响应报文的第二特征信息对应的第二密钥标识;加密模块,用于使用第二密钥标识表示的密钥,对响应报文进行加密;发送模块,用于将加密后的响应报文发送至终端设备。可选地,发送模块具体用于:根据特征信息与外部端口号的第四对应关系,获取第二特征信息对应的目标外部端口号,外部端口号为非知名端口的端口号;通过目标外部端口号对应的端口,将加密后的响应报文发送至终端设备。可选地,加密模块具体用于:从预设的密钥表项中,获取第二密钥标识表示的密钥;根据所获取的密钥和响应报文的报文信息,生成针对响应报文的加密密钥;利用加密密钥,对响应报文进行加密。本申请实施例提供的技术方案中,客户端对发送至堡垒机的待处理报文进行加密,堡垒机接收到客户端发送的待处理报文后,根据待处理报文的第一特征信息对应的第一密钥标识,对待处理报文进行解密,进而得到解密后的待处理报文。通过对客户端和堡垒机之间的待处理报文进行加密处理,加强了堡垒机的安全性,实现了堡垒机自身的安全加固,进而有效地降低了中间人劫持攻击的风险。相应于上述报文处理方法实施例,本申请实施例还提供一种报文处理装置,应用于终端设备,如图6所示,该报文处理装置包括:获取模块610,用于获取终端设备的密钥和堡垒机的外部端口号,外部端口号为非知名端口的端口号;生成模块620,用于根据所获取的密钥和待处理报文的报文信息,生成针对待处理报文的加密密钥;加密模块630,用于利用加密密钥,对待处理报文进行加密;发送模块640,用于以外部端口号表示的端口作为目的端口,将加密后的待处理报文发送至堡垒机。可选地,加密模块630具体用于:将待处理报文的载荷划分为预设数量的子载荷;将终端设备的mac地址的各数组分别插入所划分的各子载荷中;利用加密密钥,对携带有mac地址的待处理报文进行加密。在本申请实施例中,终端设备对待处理报文进行加密,选取非知名端口作为堡垒机的外部端口,将加密的待处理报文发送至堡垒机的非知名端口,以使得堡垒机由非知名端口接收待处理报文。不仅可以有效地降低被中间人攻击的危险,而且有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性,进而实现堡垒机的安全加固。相应于上述报文处理方法实施例,本申请实施例还提供了一种堡垒机,如图7所示,包括处理器710和机器可读存储介质720,机器可读存储介质720存储有能够被处理器710执行的机器可执行指令。另外,如图7所示,堡垒机还可以包括:通信接口730和通信总线740;其中,处理器710、机器可读存储介质720、通信接口730通过通信总线740完成相互间的通信,通信接口730用于上述堡垒机与其他设备之间的通信。处理器710促使执行上述任一种应用于堡垒机的报文处理方法的实施例,其中,报文处理方法包括:接收终端设备发送的待处理报文,该待处理报文为:终端设备使用自身的密钥进行加密的报文;获取待处理报文的第一特征信息;基于特征信息与密钥标识的第一对应关系,获取第一特征信息对应的第一密钥标识,第一对应关系是:基于特征信息与终端设备的对应关系、终端设备与密钥标识的对应关系得到的;使用第一密钥标识表示的密钥,对待处理报文进行解密;对解密后的待处理报文进行处理。本申请实施例提供的技术方案中,客户端对发送至堡垒机的待处理报文进行加密,堡垒机接收到客户端发送的待处理报文后,根据待处理报文的第一特征信息对应的第一密钥标识,对待处理报文进行解密,进而得到解密后的待处理报文。通过对客户端和堡垒机之间的待处理报文进行加密处理,加强了堡垒机的安全性,实现了堡垒机自身的安全加固,进而有效地降低了中间人劫持攻击的风险。上述通信总线740可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。该通信总线740可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。机器可读存储介质720可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质720还可以是至少一个位于远离前述处理器的存储装置。上述处理器710可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。相应于上述报文处理方法的实施例,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述应用于堡垒机的报文处理方法。本申请实施例还提供了一种终端设备,终端设备可以包括处理器、机器可读存储介质、通信接口和通信总线,终端设备的结构示意图可以与上述堡垒机的结构示意图相同,基于上述图7,终端设备的处理器促使执行上述任一种应用于终端设备的报文处理方法的实施例,其中,报文处理方法包括:获取终端设备的密钥和堡垒机的外部端口号,外部端口号为非知名端口的端口号;根据所获取的密钥和待处理报文的报文信息,生成针对待处理报文的加密密钥;利用加密密钥,对待处理报文进行加密;以述外部端口号表示的端口作为目的端口,将加密后的待处理报文发送至堡垒机。在本申请实施例中,终端设备对待处理报文进行加密,选取非知名端口作为堡垒机的外部端口,将加密的待处理报文发送至堡垒机的非知名端口,以使得堡垒机由非知名端口接收待处理报文。不仅可以有效地降低被中间人攻击的危险,而且有效地降低了攻击者的漏扫、ddos攻击以及中间人劫持等的可能性,进而实现堡垒机的安全加固。相应于上述报文处理方法的实施例,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述应用于终端设备的报文处理方法。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于报文处理装置、堡垒机、终端设备以及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1