一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络主机的安全防护方法、装置、设备及存储介质与流程

2021-11-16 12:49:00 来源:中国专利 TAG:
本发明涉及网络安全领域,尤其涉及一种网络主机的安全防护方法、装置、设备及存储介质。
背景技术
:随着网络的升级和扩容,传统的盒式防火墙已经很难满足大容量、高性能、可扩展的需求和挑战;另一方面,分布式网络和网络主机越来越多地被应用,现有的网络主机进行安全防护时一般采用分布式防火墙进行安全防护,其中,使用网络主机又可以称为云主机,是一种类似虚拟专用服务器主机的虚拟化技术,其管理方法同主机相似。在使用OpenvSwitch进行数据交换时,为同时能够使用分布式防火墙对网络主机进行安全防护,一般采用引入bridge类型的VPC(虚拟机)设备作为iptables规则的挂载点,但这种方法会导致网络主机的性能下降。在现有的技术中,可以使用连接跟踪功能来使用流表代替使用iptables规则,从而减少使用bridge类型的VPC(虚拟机)设备,简化对网络主机的安全防护方法,但这种方法在不同的虚拟主机安装在同一个物理机内的不同VPC(虚拟机)时,会出现conntrack重叠,使得安全性降低的问题。技术实现要素:本发明的主要目的在于解决现有技术中在简化网络主机的安全防护方法时会引起安全检查时安全性降低的问题。本发明第一方面提供了一种网络主机的安全防护方法,包括:获取网络主机当前待传输的数据包,并提取所述数据包的来源端口信息和目标端口信息;根据所述来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;调用预置的套接字缓存中的编码字段,根据所述来源端口号和目标端口号生成套接字编码值;根据预置的编码值转换规则,对所述套接字编码值进行转换,得到区域编码;根据所述区域编码,调用预置的钩子函数代码进行连接跟踪匹配,得到所述区域编码对应的连接跟踪项目,并基于所述连接跟踪项目中记录的所述数据包的数据传输信息执行安全检查。可选的,在本发明第一方面的第一种实现方式中,所述数据传输信息包括数据包报文信息和传输策略信息,所述基于所述连接跟踪项目中记录的所述数据包的数据传输信息执行安全检查包括:获取预置的拦截策略信息,解析所述拦截策略信息,得到拦截元组信息;提取所述连接跟踪项目中记录的所述数据包的数据包元组信息;判断所述数据包元组信息是否在所述拦截元组信息中;若是,则对所述数据包进行拦截。可选的,在本发明第一方面的第二种实现方式中,所述调用预置的套接字缓存中的编码字段,根据所述来源端口号和目标端口号生成套接字编码值包括:比较所述来源端口号和目标端口号的数值大小,并提取所述来源端口号和目标端口号中较大的端口号,得到候选端口号;根据所述候选端口号的数值对预置的套接字缓存中的编码进行赋值,得到套接字编码值。可选的,在本发明第一方面的第三种实现方式中,在所述获取网络主机当前待传输的数据包之前,还包括:获取套接字数据包源代码,在所述套接字数据包源代码中提取出套接字编码字段代码;获取ovs-datapath源代码;在所述ovs-datapath源代码中添加所述套接字编码字段代码,得到套接字缓存中的编码字段。可选的,在本发明第一方面的第四种实现方式中,在所述在所述安全防护代码中添加全局的编码值转换规则之后,还包括:提取所述ovs-datapath源代码中的actions.c文件;在所述actions.c文件中查找do_output函数;在所述do_output函数中插入钩子函数代码,其中,所述钩子函数代码用于生成连接跟踪项目。可选的,在本发明第一方面的第五种实现方式中,在所述在所述安全防护代码中添加全局的编码值转换规则之后,还包括:提取所述ovs-datapath源代码中的actions.c文件;在所述actions.c文件中查找do_output函数;在所述do_output函数中插入钩子函数代码,其中,所述钩子函数代码用于生成连接跟踪项目。本发明第二方面提供了一种网络主机的安全防护装置,包括:获取模块,用于获取网络主机当前待传输的数据包,并提取所述数据包的来源端口信息和目标端口信息;查找模块,用于根据所述来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;编码模块,用于调用预置的套接字缓存中的编码字段,根据所述来源端口号和目标端口号生成套接字编码值;转换模块,用于根据预置的编码值转换规则,对所述套接字编码值进行转换,得到区域编码;安全防护模块,用于根据所述区域编码,调用预置的钩子函数代码进行连接跟踪匹配,得到所述区域编码对应的连接跟踪项目,并基于所述连接跟踪项目中记录的所述数据包的数据传输信息执行安全检查。可选的,在本发明第二方面的第一种实现方式中,所述数据传输信息包括数据包报文信息和传输策略信息,所述安全防护模块包括:策略获取单元,用于获取预置的拦截策略信息,解析所述拦截策略信息,得到拦截元组信息;信息提取单元,用于提取所述连接跟踪项目中记录的所述数据包的数据包元组信息;判断单元,用于判断所述数据包元组信息是否在所述拦截元组信息中;拦截单元,用于若是,则对所述数据包进行拦截。可选的,在本发明第二方面的第二种实现方式中,所述编码模块包括:提取单元,用于比较所述来源端口号和目标端口号的数值大小,并提取所述来源端口号和目标端口号中较大的端口号,得到候选端口号;赋值单元,用于根据所述候选端口号的数值对预置的套接字缓存中的编码进行赋值,得到套接字编码值。可选的,在本发明第二方面的第三种实现方式中,所述网络主机的安全防护装置还包括套接字编码字段生成模块,所述套接字编码字段生成模块具体用于:获取套接字数据包源代码,在所述套接字数据包源代码中提取出套接字编码字段代码;获取ovs-datapath源代码;在所述ovs-datapath源代码中添加所述套接字编码字段代码,得到套接字缓存中的编码字段。可选的,在本发明第二方面的第四种实现方式中,所述网络主机的安全防护装置还包括转换规则配置模块,所述转换规则配置模块具体用于:获取网络主机的配置空间内容,并在所述配置空间内容中提取所述网络主机的安全防护代码;在所述安全防护代码中添加全局的编码值转换规则,其中,所述编码值转换规则用于基于套接字缓存的套接字编码值生成区域编码。可选的,在本发明第二方面的第五种实现方式中,所述网络主机的安全防护装置还包括钩子函数配置模块,所述钩子函数配置模块具体用于:提取所述ovs-datapath源代码中的actions.c文件;在所述actions.c文件中查找do_output函数;在所述do_output函数中插入钩子函数代码,其中,所述钩子函数代码用于生成连接跟踪项目。本发明第三方面提供了一种网络主机的安全防护设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述网络主机的安全防护设备执行上述的网络主机的安全防护方法的步骤。本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的网络主机的安全防护方法的步骤。本发明实施例中的技术方案,获取网络主机当前待传输的数据包的来源端口信息和目标端口信息,根据来源端口信息和目标端口信息生成对应的区域编码,调用预置的钩子函数代码根据区域编码进行连接跟踪匹配,得到连接跟踪项目;使用连接跟踪项目记录数据包的数据传输信息,根据得到的数据传输信息进行安全检查从而实现网络主机的安全防护,减少了iptables规则的使用,进一步减少了bridge类型的虚拟机的数量,简化了网络主机的安全防护架构;同时,根据数据包的传输信息生成区域编码,根据得到的区域编码生成连接跟踪项的方案以代替现有技术中使用数据包传输的IP地址或MAC地址生成连接跟踪项目的方案,防止了由于同一主机内多个虚拟机的IP地址或MAC地址重合导致的连接跟踪项目重合的问题,提高安全性,本发明实施例中的技术方案,简化了网络主机的安全防护方法,减少安全防护功能造成的网络主机计算资源的浪费,同时提高了网络主机的安全性。附图说明图1为本发明实施例中网络主机的安全防护方法的第一实施例的示意图;图2为本发明实施例中网络主机的安全防护方法的第二实施例的示意图;图3为本发明实施例中网络主机的安全防护方法的第三实施例的示意图;图4为本发明实施例中网络主机的安全防护装置的一个实施例示意图;图5为本发明实施例中网络主机的安全防护装置的另一个实施例示意图;图6为本发明实施例中网络主机的安全防护设备的一个实施例示意图。具体实施方式本发明实施例提供了一种网络主机的安全防护方法、装置、设备及存储介质,获取网络主机当前待传输的数据包的来源端口信息和目标端口信息,根据来源端口信息和目标端口信息生成对应的区域编码,调用预置的钩子函数代码根据区域编码进行连接跟踪匹配,得到连接跟踪项目;使用连接跟踪项目记录数据包的数据传输信息,根据得到的数据传输信息进行安全检查从而实现网络主机的安全防护,减少了iptables规则的使用及bridge类型的虚拟机的数量;同时,根据数据包的传输信息生成区域编码,根据得到的区域编码生成连接跟踪项的方案以代替现有技术中使用数据包传输的IP地址或MAC地址生成连接跟踪项目的方案,防止了由于同一主机内多个虚拟机的IP地址或MAC地址重合导致的连接跟踪项目重合的问题。本发明实施例中的技术方案,简化了网络主机的安全防护方法,减少安全防护功能造成的网络主机计算资源的浪费,同时提高了网络主机的安全性。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中网络主机的安全防护方法的一个实施例包括:101、获取网络主机当前待传输的数据包,并提取数据包的来源端口信息和目标端口信息;可以理解的是,本发明的执行主体可以为网络主机的安全防护装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。在本实施例中,使用OVS(OpenvSwitch,开放虚拟交换标准)构建网络交换机并进行数据的收发时,需要对待进行传输的数据包进行安全性检查,以保证维护网络主机运行的安全性。在本实施例中使用网络主机作为交换机,基于OVS进行数据交换时,首先获取网络主机当前待传输的数据包,并获取这个待传输的数据包的来源端口以及其传输的目标端口信息;具体地,OVS在进行数据交换时,是通过ovs-datapath即OVS中的datapath(数据路径)模块进行具体数据交换操作的执行,其中,ovs-datapath(数据路径)模块为OVS的内核模块,其具体是将从接收端口收到的数据包在流表中进行匹配,并执行匹配到的动作,且一个ovs-datapath可以对应多个虚拟端口。对于ovs-datapath上的每一个端口,都会有一个唯一的具体标识以标注具体在网络中的位置,也即是说,在得到该数据包的来源端口信息和目标端口信息后,即可确定该数据包的具体传输路径,根据传输路径对数据包进行后续的安全检查。102、根据来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;在本实施例中,预先对ovs-datapath上的每个端口信息分配端口号,在进行端口号的分配时,首先将公共端口加入ovs-datapath,并占用端口号的0、1、2编号,例如一个具体的例子中,将VPC(虚拟机)进出宿主机的通道vxlan_sys_4789作为端口1;并将分配完毕的端口号与端口信息的对应关系保存至网络主机数据库中。本步骤中,根据前述得到的来源端口信息和目标端口信息,在数据库中查找出预先分配好的端口号,得到来源端口号和目标端口号。103、调用预置的套接字缓存中的编码字段,根据来源端口号和目标端口号生成套接字编码值;获取预置的套接字缓存的代码字段,其中,所述套接字(Skb,socketbuffer)是Linux网络代码中根本的数据结构,在Linux网络中收发数据包都是通过套接字进行具体操作;其中Linux的全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统。本步骤中,调用预置的套接字缓存中的代码,并提取其中的编码字段,根据该编码字段基于待传输的数据包的来源端口号和目标端口号,针对于待传输的数据包进行编码,得到套接字编码值。具体地,在进行套接字编码值的生成时,预先设定编码生成规则,根据该设定的编码规则对来源端口号和目标端口号生成套接字编码值,其中,该套接字编码值可以为在来源端口号和目标端口号中取数值较大的端口号,得到套接字编码值。104、根据预置的编码值转换规则,对套接字编码值进行转换,得到区域编码;本步骤中所述编码值转换规则具体是在ovs-datapath源代码的进入netfilter框架之前的do_output函数中插入的用于根据套接字编码值生成区域编码的iptables规则,其中,netfilter是Linux的一个子系统,netfilter框架是一个通用的、抽象的框架,提供一整套的hook函数的管理机制,可以实现诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪功能。本步骤中,在预先配置完这条编码值转换规则后,当netfilter框架在接收到待传输的数据包以及该数据包对应的套接字编码值后,根据该编码值转换规则,将计算得到的套接字编码值作为区域编码(zoneid)。105、根据区域编码,调用预置的钩子函数代码进行连接跟踪匹配,得到区域编码对应的连接跟踪项目;106、基于连接跟踪项目中记录的数据包的数据传输信息执行安全检查。本实施例中,在ovs-datapath源代码的进入netfilter框架之前的do_output函数中上预先设置三个hook(钩子)点,在这三个hook点处添加预置的钩子函数代码;基于该钩子函数代码,可以根据前述得到的区域编码(zoneid)执行连接跟踪(CT,Conntrack)匹配并生成连接跟踪项目;在本实施例中,连接跟踪项目用于跟踪和记录一个连接的状态,凡是经过网络堆栈的数据包都通过连接跟踪项目记录状态,以便防火墙根据其记录的信息进行安全检查,通过连接跟踪项目进行安全检查,减少了iptables规则的使用,及bridge类型的虚拟机的数量避免在ovs上重用OpenStack已有的DFW(disturbedfirewall,分布式防火墙)时需要引入多个bridge类型的虚拟机导致网络主机计算资源的浪费,其中,OpenStack是一个开源的云计算管理平台项目。具体地,为了避免缓存key(索引文件)和流表等占用内存较多的数据结构,本实施例中选择在数据包完成流表匹配,Skb_clone(套接字结构复制操作)等动作之后,在执行ovs_vport_send和ovs_fragment之前执行本实施例中所述预置的钩子函数代码,此外,本实施例中iptables的规则从ipt_do_table开始被使用,这样就实现了从ovs上重用OpenStack已有的DFW的逻辑和规则。本实施例中,根据每个数据包的来源端口信息和目标端口信息生成区域编码,根据区域编码生成连接跟踪项,避免了当不同虚拟机的相同地址装在同一个物理机时,仅根据数据包传输的IP地址或MAC地址生成连接跟踪项目会导致不同的虚拟机发送的数据包在一个连接跟踪项目中处理产生安全问题;同时,根据来源端口信息和目标端口信息两个信息对数据包生成区域编码,防止在同一个连接的不同方向传输的数据包被分开处理,导致连接跟踪匹配失败的问题。本发明实施例中的技术方案,简化了网络主机的安全防护方法,同时提高了网络主机的安全性。请参阅图2,本发明实施例中网络主机的安全防护方法的第二实施例包括:201、获取网络主机当前待传输的数据包,并提取数据包的来源端口信息和目标端口信息;202、根据来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;本实施例中步骤201和步骤202中内容与前述实施例中步骤101和步骤102中内容基本相同,故在此不再赘述。203、比较来源端口号和目标端口号的数值大小,并提取来源端口号和目标端口号中较大的端口号,得到候选端口号;204、根据候选端口号的数值对预置的套接字缓存中的编码进行赋值,得到套接字编码值;获取预置的套接字缓存的代码字段,其中,所述套接字(Skb,socketbuffer)是Linux网络代码中根本的数据结构,在Linux网络中收发数据包都是通过套接字进行具体操作。具体地,在进行套接字编码值的生成时,采用如下的公式进行具体地编码赋值操作:Skb->mark=MAX(vport_in->port_no,vport_out->port_no);其中,该公式的含义为取来源端口号(即vport_in->port_no)和目标端口号(即vport_out->port_no)中最大的一个作为候选端口号,根据候选端口号对套接字缓存中的编码进行赋值,得到套接字编码值(即Skb->mark)。205、根据预置的编码值转换规则,对套接字编码值进行转换,得到区域编码;本步骤中具体内容与前述实施例中步骤104中内容基本相同,故在此不再赘述。206、根据预置的钩子函数代码基于区域编码执行匹配得到连接跟踪项目;具体地,在内核中由netfilter的特定框架做的连接跟踪称作conntrack(connectiontracking),连接跟踪可以让netfilter知道某个特定连接的状态。连接跟踪可以作为模块安装,也可以作为内核的一部分。基于连接跟踪功能可以生成运行连接跟踪的防火墙,也即带有状态机制的防火墙。本实施例中,在ovs-datapath源代码的进入netfilter框架之前的do_output函数中上预先设置三个hook(钩子)点,在这三个hook点处添加预置的钩子函数代码,在一个具体的例子中,所述的hook点可以为:NF_INET_PRE_ROUTINGNF_INET_FORWARDNF_INET_POST_ROUTING在这三个hook点处添加预置的钩子函数代码;基于该钩子函数代码,可以根据前述得到的区域编码即zoneid执行连接跟踪匹配并生成连接跟踪项目。207、获取预置的拦截策略信息,解析拦截策略信息,得到拦截元组信息;208、提取连接跟踪项目中记录的数据包的数据包元组信息;本实施例中,在数据库中获取预置的防火墙规则,其中该防火墙规则中包含有拦截策略信息,该拦截策略信息包括有预先设定好的需要进行拦截的数据包对应的拦截元组信息,具体地,连接跟踪功能是通过记录待传输的数据包中的多个数据包信息来判断其具体的传输策略的,根据不同的协议,该数据包信息也有不同,一般存在四元组、五元组、七元组。根据连接跟踪项目中记录的数据包信息,获取对应的数据包元组信息。具体地,在数据库中获取预置的拦截元组信息,根据前述生成的连接跟踪项目,获取网络主机当前待传输的数据包的数据包元组信息。根据前述获得的拦截元组信息对生成的连接跟踪项目中的数据包元组信息进行匹配,在datapath上的每个数据包都会通过Preroutinghook点进入netfilter,也就保证了每个包都能执行区域编码(zoneid)的连接跟踪项目的检查和匹配。从而达到网络主机安全性检查的目的。209、判断数据包元组信息是否在拦截元组信息中;210、若是,则对数据包进行拦截。分别判断连接跟踪项目中待传输的数据包的数据包元组信息是否在拦截元组信息中,若满足该拦截元组信息,则将连接跟踪项目中的数据包进行拦截。在一个具体的例子中,所述数据包的元组信息可以为五元组,其中,五元组中包含的具体信息为源IP地址、目的IP地址、协议号、来源端口信息、目的端口,当这些信息满足拦截元组信息中预设的拦截内容时,则会对该数据包进行拦截,并根据具体的拦截信息以及待传输的数据包被拦截的原因生成拦截报告。本发明实施例中的技术方案,简化了网络主机的安全防护方法的,同时提高了网络主机的安全性能。请参阅图3,本发明实施例中网络主机的安全防护方法的第三实施例包括:301、获取套接字数据包源代码,在套接字数据包源代码中提取出套接字编码字段代码;302、获取ovs-datapath源代码;303、在ovs-datapath源代码中添加套接字编码字段代码,得到套接字缓存中的编码字段;本实施例中是将OpenvSwitch用于VPC网络情形下,也即是说,ovs-datapath上收发的所有包都应该是forward链的,其中,forward链用于处理通过路由器的数据包。在此条件下,首先获取已有的网络主机的配置空间内容,并提取网络主机的安全防护代码,具体地,该安全防护代码用于构建DFW(disturbedfirewall,分布式防火墙)。获取预置的套接字缓存的代码字段,并提取其中的编码字段,根据该编码字段基于待传输的数据包的来源端口号和目标端口号,针对于待传输的数据包进行编码,得到套接字编码值。具体地,获取ovs-datapath源代码,在ovs-datapath源代码中进入netfilter框架之前的do_output函数中添加套接字编码字段代码,其中,该套接字编码字段代码是skb的一个预定义的字段,中间处理数据的协议层可以设置或取用这个字段的值来在几个相关的协议处理层间携带信息。本实施例中就是通过ovs携带端口号作为区域编码(zone-id)给netfilter模块来区分不同虚拟机的数据流。304、获取网络主机的配置空间内容,并在配置空间内容中提取网络主机的安全防护代码;305、在安全防护代码中添加全局的编码值转换规则;在所述安全防护代码中添加全局的编码值转换规则,该编码值转换规则为全局的iptables规则,用于基于套接字缓存的套接字编码值生成区域编码,其具体可以为iptables-traw-APREROUTING-jCT--zonemark;该规则具体可将所有套接字的套接字编码值作为区域编码(zoneid),以便后续来执行连接跟踪项目的匹配和生成。此外,本实施例中还在接收待传输的数据包之前,预先埋入钩子代码,其具体的操作可以为首先提取ovs-datapath源代码中的actions.c文件;在actions.c文件中查找do_output函数,其中do_output函数用于处理源于路由器并从其中一个接口出去的数据包;在do_output函数中插入钩子函数代码,其中,钩子函数代码用于生成连接跟踪项目。306、获取网络主机当前待传输的数据包,并提取数据包的来源端口信息和目标端口信息;307、根据来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;本实施例中步骤306和步骤307中内容与前述实施例中步骤101和步骤102中内容基本相同,故在此不再赘述。308、比较来源端口号和目标端口号的数值大小,并提取来源端口号和目标端口号中较大的端口号,得到候选端口号;309、根据候选端口号的数值对预置的套接字缓存中的编码进行赋值,得到套接字编码值;具体地,在进行套接字编码值的生成时,采用如下的公式进行具体地编码赋值操作:Skb->mark=MAX(vport_in->port_no,vport_out->port_no);其中,该公式的含义为取来源端口号(即vport_in->port_no)和目标端口号(即vport_out->port_no)中最大的一个进行编码对套接字缓存中的编码进行赋值,得到套接字编码值(即Skb->mark)。310、根据预置的编码值转换规则,对套接字编码值进行转换,得到区域编码;本步骤中具体内容与前述实施例中步骤104中内容基本相同,故在此不再赘述。311、根据预置的钩子函数代码基于区域编码执行匹配得到连接跟踪项目;具体地,在内核中由netfilter的特定框架做的连接跟踪称作conntrack(connectiontracking)连接跟踪可以让netfilter知道某个特定连接的状态。conntrack可以作为模块安装,也可以作为内核的一部分。基于连接跟踪功能可以生成运行连接跟踪的防火墙,也即带有状态机制的防火墙。本实施例中,在ovs-datapath源代码的进入netfilter框架之前的do_output函数中上预先设置三个hook点,在这三个hook点处添加预置的钩子函数代码,在一个具体的例子中,所述的hook点可以为:NF_INET_PRE_ROUTINGNF_INET_FORWARDNF_INET_POST_ROUTING下面举具体的例子进行说明,在具体生成连接跟踪项目时,会有以下几种不同情况:场景一:数据路径为:vport_vxlan->vport_vm,即数据包从主机外发往VPC;场景二:数据路径为:port_vm->vport_vxlan,即数据包从VPC(虚拟机)发出主机;场景三:数据路径为:vport_vm1->vport_vm2,即数据包从VPC1发往同主机VPC2。对于场景一和场景二,在生成连接跟踪项目时,若只使用来源端口号(sendvportport_no)或者目标端口号(receivevportport_no)生成连接跟踪项目,会出现多个VPC(虚拟机)使用相同的套接字编码值导致数值不安全,故可以采用使用非公共端口的vportport_no作为套接字编码值生成连接跟踪项目,但此种方法会导致场景三中同一连接的不同方向的数据包会被标注为不同的套接字编码值,使得连接跟踪项目匹配失败。故本实施例中根据前述配置的公式:Skb->mark=MAX(vport_in->port_no,vport_out->port_no)基于区域编码(zoneid)生成执行匹配得到连接跟踪项目。312、获取预置的拦截策略信息,解析拦截策略信息,得到拦截元组信息;313、提取连接跟踪项目中记录的数据包的数据包元组信息;314、判断数据包元组信息是否在拦截元组信息中;315、若是,则对数据包进行拦截。本实施例中步骤312-步骤315中内容与前述实施例中步骤207-步骤210中内容基本相同,故在此不再赘述。本发明实施例中的技术方案,简化了网络主机的安全防护方法,减少安全防护功能造成的网络主机计算资源的浪费,同时提高了网络主机的安全性。上面对本发明实施例中网络主机的安全防护方法进行了描述,下面对本发明实施例中网络主机的安全防护装置进行描述,请参阅图4,本发明实施例中网络主机的安全防护装置一个实施例包括:获取模块401,用于获取网络主机当前待传输的数据包,并提取所述数据包的来源端口信息和目标端口信息;查找模块402,用于根据所述来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;编码模块403,用于调用预置的套接字缓存中的编码字段,根据所述来源端口号和目标端口号生成套接字编码值;转换模块404,用于根据预置的编码值转换规则,对所述套接字编码值进行转换,得到区域编码;安全防护模块405,用于根据所述区域编码,调用预置的钩子函数代码进行连接跟踪匹配,得到所述区域编码对应的连接跟踪项目,并基于所述连接跟踪项目中记录的所述数据包的数据传输信息执行安全检查。本发明实施例中,简化网络主机的安全防护方法的同时提高了网络主机的安全性。请参阅图5,本发明实施例中网络主机的安全防护装置的另一个实施例包括:获取模块401,用于获取网络主机当前待传输的数据包,并提取所述数据包的来源端口信息和目标端口信息;查找模块402,用于根据所述来源端口信息和目标端口信息,查找各自对应的来源端口号和目标端口号;编码模块403,用于调用预置的套接字缓存中的编码字段,根据所述来源端口号和目标端口号生成套接字编码值;转换模块404,用于根据预置的编码值转换规则,对所述套接字编码值进行转换,得到区域编码;安全防护模块405,用于根据所述区域编码,调用预置的钩子函数代码进行连接跟踪匹配,得到所述区域编码对应的连接跟踪项目,并基于所述连接跟踪项目中记录的所述数据包的数据传输信息执行安全检查。在本申请的另一实施例中,所述数据传输信息包括数据包报文信息和传输策略信息,所述安全防护模块405包括:策略获取单元4051,用于获取预置的拦截策略信息,解析所述拦截策略信息,得到拦截元组信息;信息提取单元4052,用于提取所述连接跟踪项目中记录的所述数据包的数据包元组信息;判断单元4053,用于判断所述数据包元组信息是否在所述拦截元组信息中;拦截单元4054,用于若是,则对所述数据包进行拦截。在本申请的另一实施例中,所述编码模块403包括:提取单元4031,用于比较所述来源端口号和目标端口号的数值大小,并提取所述来源端口号和目标端口号中较大的端口号,得到候选端口号;赋值单元4032,用于根据所述候选端口号的数值对预置的套接字缓存中的编码进行赋值,得到套接字编码值。在本申请的另一实施例中,所述网络主机的安全防护装置还包括套接字编码字段生成模块,所述套接字编码字段生成模块具体用于:获取套接字数据包源代码,在所述套接字数据包源代码中提取出套接字编码字段代码;获取ovs-datapath源代码;在所述ovs-datapath源代码中添加所述套接字编码字段代码,得到套接字缓存中的编码字段。在本申请的另一实施例中,所述网络主机的安全防护装置还包括转换规则配置模块,所述转换规则配置模块具体用于:获取网络主机的配置空间内容,并在所述配置空间内容中提取所述网络主机的安全防护代码;在所述安全防护代码中添加全局的编码值转换规则,其中,所述编码值转换规则用于基于套接字缓存的套接字编码值生成区域编码。在本申请的另一实施例中,所述网络主机的安全防护装置还包括钩子函数配置模块,所述钩子函数配置模块具体用于:提取所述ovs-datapath源代码中的actions.c文件;在所述actions.c文件中查找do_output函数;在所述do_output函数中插入钩子函数代码,其中,所述钩子函数代码用于生成连接跟踪项目。综上,通过对本发明实施例的实施,简化了网络主机的安全防护方法,减少安全防护功能造成的网络主机计算资源的浪费,同时提高了网络主机的安全性。上面图4和图5从模块化功能实体的角度对本发明实施例中的网络主机的安全防护装置进行详细描述,下面从硬件处理的角度对本发明实施例中网络主机的安全防护设备进行详细描述。图6是本发明实施例提供的一种网络主机的安全防护设备的结构示意图,该网络主机的安全防护设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对网络主机的安全防护设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在网络主机的安全防护设备600上执行存储介质630中的一系列指令操作。网络主机的安全防护设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如WindowsServe,MacOSX,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的网络主机的安全防护设备结构并不构成对网络主机的安全防护设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。本发明还提供一种计算机设备,该计算机设备可以是能够执行上述实施例中所述的网络主机的安全防护方法的任何一种设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述网络主机的安全防护方法的步骤。本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述网络主机的安全防护方法的步骤。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(randomaccessmemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献