linux 过滤驱动 用户态,一种用户态防火墙的出入接口过滤方法与流程

本发明涉及计算机领域,尤其涉及一种用户态防火墙的出入接口过滤方法。

背景技术:

::一般防火墙都是嵌入在linux内核协议栈的处理过程中,运行在内核地址空间,这就要求开发者深入理解和掌握内核,以及内核协议栈的代码,对于普通开发者来说,此要求显然过于苛刻。因此,急需一种可以将报文接收到用户态空间进行深度解析、可以在用户态空间对报文进行匹配过滤的方法来满足人们的使用需求。技术实现要素:本发明目的是针对上述问题,提供一种基于用户态防火墙的出入接口过滤方法。为了实现上述目的,本发明的技术方案是:一种用户态防火墙的出入接口过滤方法,所述用户态防火墙采用netfilter防火墙机制,其包括以下步骤:s1、用户态防火墙通过进入内核netfilter转发链收包点获取报文的出入接口信息;s2、将报文的出入接口信息与报文一同接收到用户空间进行处理;s3、在snort规则中添加获取到的报文出入接口信息;s4、解析添加报文出入接口信息后的snort规则,得到出入接口过滤配置;s5、将出入接口过滤配置添加到过滤匹配过程中构成匹配过滤方法,通过匹配过滤方法实施过滤匹配操作。进一步的,所述步骤s1中的用户态防火墙包括透明模式和路由模式;透明模式进入netfilter转发链收包点前会经过网桥处理,路由模式进入netfilter转发链收包点前会经过路由处理。进一步的,所述步骤s3中的snort规则包括规则头部分和规则选项部分;规则头部分包括规则的动作、协议、目标ip地址以及源和目标端口信息;规则选项部分包括报警消息内容以及所检查的数据包。进一步的,所述步骤s5中的匹配过滤方法包括以下步骤:s51、进入snort规则匹配处理;s52、检测snort入接口配置是否为any端口,当snort入接口为any端口时,进行步骤s3操作;当snort入接口不是any端口时,检测其是否与报文入接口相一致,当snort入接口与报文入接口相一致时,进行步骤s3操作,当snort入接口与报文入接口不一致时,返回步骤s1;s53、检测snort出接口配置是否为any端口,当snort出接口为any端口时,进行步骤s4操作;当snort出接口不是any端口时,检测其是否与报文出接口相一致,当snort出接口与报文出接口相一致时,进行步骤s4操作,当snort出接口与报文出接口不一致时,返回步骤s1;s54、进行snort规则后续信息的匹配,完成匹配过滤操作。与现有技术相比,本发明具有的优点和积极效果是:本发明首先在netfilter转发链收包点将报文出入接口信息传递到用户态并解析,然后在snort规则中增加出入接口信息,最终实现了在用户空间对报文出入接口的过滤功能,使得snort规则在用户空间可以跟五元组过滤和深度检测自由组合使用;另一方面,本发明结合统一的匹配过滤方案,实现了将报文接收到用户态空间进行深度解析,并在用户态空间对报文进行匹配过滤的操作,给计算机防火墙方面的发展作出了贡献。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为匹配过滤方法的框架流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。如图1所示,本发明采用linux内核在netfilter框架的基础上提供了ipqueue机制。netfilter/iptables是linux2.4.x之后新一代的linux防火墙机制,是linux内核的一个子系统。netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块iptables从用户态的iptables命令连接到内核态的netfilter的架构中,netfilter与ip协议栈是无缝契合的,并允许使用者对数据报进行过滤、地址转换、处理等操作。本发明利用转发链收包点,将报文的出入接口信息和报文一起接收到用户态解析,然后修改了snort规则格式,增加了出入接口信息,并且在用户态提供统一的匹配过滤方法,实现了在用户空间对报文出入接口的过滤功能。本发明的具体操作步骤为:1、在内核netfilter转发链收包点获取报文的出入接口信息ips防火墙有透明模式和路由模式,透明模式进入转发链前会经过网桥处理,路由模式进入转发链前会经过路由处理,所以在转发链可以确定报文的出入接口信息,然后在转发链的收包点获取出入接口信息发送到用户空间,用来进行出入接口过滤。在转发链处理中将出入接口信息和报文接收到用户空间进行处理2、在snort规则中增加出入接口过滤信息snort规则分成两个逻辑部分:规则头和规则选项。规则头包含规则的动作,协议,源和目标ip地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。3、解析规则匹配报文解析新格式的snort规则得到出入接口过滤配置,在原有匹配流程的基础上,增加对报文出入接口的过滤匹配处理。匹配过滤流程如图1所示;匹配过滤方法包括以下步骤:(1)进入snort规则匹配处理;(2)检测snort入接口配置是否为any端口,当snort入接口为any端口时,进行下一步操作;当snort入接口不是any端口时,检测其是否与报文入接口相一致,当snort入接口与报文入接口相一致时,进行下一步操作,当snort入接口与报文入接口不一致时,重新开始操作;(3)检测snort出接口配置是否为any端口,当snort出接口为any端口时,进行下一步操作;当snort出接口不是any端口时,检测其是否与报文出接口相一致,当snort出接口与报文出接口相一致时,进行下一步操作,当snort出接口与报文出接口不一致时,重新开始操作;(4)进行snort规则后续信息的匹配,完成匹配过滤操作。本发明首先在netfilter转发链收包点将报文出入接口信息传递到用户态并解析,然后在snort规则中增加出入接口信息,最终实现了在用户空间对报文出入接口的过滤功能,使得snort规则在用户空间可以跟五元组过滤和深度检测自由组合使用;另一方面,本发明结合统一的匹配过滤方案,实现了将报文接收到用户态空间进行深度解析,并在用户态空间对报文进行匹配过滤的操作,给计算机防火墙方面的发展作出了贡献。当前第1页1&nbsp2&nbsp3&nbsp当前第1页1&nbsp2&nbsp3&nbsp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值