采用自定义表规则的细粒度内核防火墙实现方法

文档序号:9436056阅读:227来源:国知局
采用自定义表规则的细粒度内核防火墙实现方法【
技术领域
】[0001]本发明涉及计算机网络安全
技术领域
,具体涉及一种采用自定义表规则的细粒度内核防火墙实现方法。【
背景技术
】[0002]Netfilter/iptables,这是Linux系统自带的免费防火墙,功能十分强大。Netfilter/iptables可以对流入和流出的信息进行细化控制,且可以在一台低配置机器上很好地运行,被认为是Linux中实现包过滤功能的第四代应用程序。Netfilter/iptables包含在Linux2.4以后的内核中,可以实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。Netfilter/iptables从ipchains和ipwadfm(IP防火墙管理)演化而来,功能更加强大。[0003]netfilter是一内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(NetworkAddressTranslat1n,NAT),以及基于用户及媒体访问控制(MediaAccessControl,MAC)地址的过滤和基于状态的过滤、包速率限制等。[0004]通俗的说,netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(Η00Κ),而在每个检测点上登记了一些处理函数进行处理(如包过滤,NAT等,甚至可以是用户自定义的功能)。[0005]netfilter提供了一个抽象、通用化的框架,作为中间件,为每种网络协议(IPv4、IPv6等)定义一套钩子函数。Ipv4定义了5个钩子函数,这些钩子函数在数据报流过协议栈的5个关键点被调用,也就是说,IPv4协议栈上定义了5个“允许垂钓点”。在每一个“垂钓点”,都可以让netfilter放置一个“鱼钩”,把经过的网络包(Packet)钓上来,与相应的规则链进行比较,并根据审查的结果,决定包的下一步命运,即是被原封不动地放回IPv4协议栈,继续向上层递交;还是经过一些修改,再放回网络;或者干脆丢弃掉。[0006]iptables是Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP信息包过滤和防火墙配置。[0007]防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptablesIP信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。[0008]这里所说的iptables是ipchains的后继工具,但具有更强的可扩展性。内核模块可以注册一个新的规则表(table),并要求数据包流经指定的规则表。这种数据包选择用于实现数据报过滤(filter表),网络地址转换(NAT表)及数据报处理(mangle表)。Linux2.4内核及其以上版本提供的这三种数据报处理功能都基于netfilter的钩子函数和IP表,都是相互间独立的模块,完美地集成到了由netfilter提供的框架中。netfilter主要提供了如下三项功能:包过滤:filter表格不会对数据报进行修改,而只对数据报进行过滤。iptables优于ipchains的一个方面就是它更为小巧和快速。它是通过钩子函数NF_IP_LOCAL_IN、NF_IP_FORWARD及NF_IP_L0CAL_0UT接入netfilter框架的。[0009]NAT:NAT表格监听三个netfilter钩子函数:NF_IP_PRE_ROUTING、NF_IP_P0ST_ROUTING及NF_IP_L0CAL_0UT。NF_IP_PRE_ROUTING实现对需要转发数据报的源地址进行地址转换,而NF_IP_P0ST_R0UTING则对需要转发的数据报目的地址进行地址转换。对于本地数据报目的地址的转换,则由NF_IP_L0CAL_0UT来实现。[0010]数据报处理:mangle表格在NF_IP_PRE_ROUTING和NF_IP_L0CAL_0UT钩子中进行注册。使用mangle表,可以实现对数据报的修改或给数据报附上一些外带数据。当前mangle表支持修改TOS位及设置skb的nfmard字段。【
发明内容】[0011]本发明要解决的技术问题是:在如今的netfilter&iptables框架中,它本身定义的标规则不够精细,不够具体,针对netfilter&iptables的实现,本发明提出一种采用自定义表规则的netfilter&iptables实现方法。[0012]所以本发明的基本思想是要编写规则策略定义更加明确更加精细的自定义表。对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制,以到达安全要求。[0013]本发明所采用的技术方案为:采用自定义表规则的细粒度内核防火墙实现方法,所述实现方法针对netfilter&iptables的实现,采用明确和精细的自定义表规则,对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制,以到达安全要求。[0014]本发明的基本思想是要编写规则策略定义更加明确更加精细的自定义表。[0015]所述实现方法通过自定义明确和精细的表规则,编写一系列满足要求的钩子函数,按照不同需求挂载到HOOK点上。[0016]所述实现方法通过构建一个方便用户使用的具有UI的应用,使得用户能够在应用层面配置自己的规则跟策略。[0017]本发明的有益效果为:本发明针对netfilter&iptables框架本身定义的标规则不够精细,不够具体,编写规则策略定义更加明确更加精细的自定义表,对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制,以到达安全要求。【附图说明】[0018]图1为本发明系统架构图。【具体实施方式】[0019]下面通过说明书附图,结合【具体实施方式】对本发明进一步说明:实施例1:如图1所示,采用自定义表规则的细粒度内核防火墙实现方法,所述实现方法针对netfilter&iptables的实现,采用明确和精细的自定义表规则,对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制,以到达安全要求。[0020]本发明的基本思想是要编写规则策略定义更加明确更加精细的自定义表。[0021]实施例2:在实施例1的基础上,本实施例所述实现方法通过自定义明确和精细的表规则,编写一系列满足要求的钩子函数,按照不同需求挂载到HOOK点上。[0022]实施例3:在实施例2的基础上,本实施例所述实现方法通过构建一个方便用户使用的具有UI的应用,使得用户能够在应用层面配置自己的规则跟策略。[0023]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关
技术领域
的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。【主权项】1.采用自定义表规则的细粒度内核防火墙实现方法,其特征在于:所述实现方法针对netfilter&iptables的实现,采用明确和精细的自定义表规则,对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制。2.根据权利要求1所述的采用自定义表规则的细粒度内核防火墙实现方法,其特征在于:所述实现方法通过自定义明确和精细的表规则,编写一系列满足要求的钩子函数,按照不同需求挂载到HOOK点上。3.根据权利要求2所述的采用自定义表规则的细粒度内核防火墙实现方法,其特征在于:所述实现方法通过构建一个方便用户使用的具有UI的应用,使得用户能够在应用层面配置自己的规则跟策略。【专利摘要】本发明公开了一种采用自定义表规则的细粒度内核防火墙实现方法,所述实现方法针对netfilter&iptables的实现,采用明确和精细的自定义表规则,对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制,以到达安全要求。本发明针对netfilter&iptables框架本身定义的标规则不够精细,不够具体,编写规则策略定义更加明确更加精细的自定义表,对所到来的数据包,转发的数据包,以及发出的数据包有更加细致的控制,以到达安全要求。【IPC分类】H04L29/06【公开号】CN105187427【申请号】CN201510576177【发明人】王俊杰,戴鸿君,于治楼【申请人】浪潮集团有限公司【公开日】2015年12月23日【申请日】2015年9月11日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1