linux内核netfilter包过滤防火墙的设计与实现80713246

linux内核netfilter包过滤防火墙的设计与实现80713246

ID:34634041

大小:350.61 KB

页数:5页

时间:2019-03-08

linux内核netfilter包过滤防火墙的设计与实现80713246_第1页
linux内核netfilter包过滤防火墙的设计与实现80713246_第2页
linux内核netfilter包过滤防火墙的设计与实现80713246_第3页
linux内核netfilter包过滤防火墙的设计与实现80713246_第4页
linux内核netfilter包过滤防火墙的设计与实现80713246_第5页
资源描述:

《linux内核netfilter包过滤防火墙的设计与实现80713246》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10卷第18期2010年6月科学技术与工程Vol110No118June2010167121815(2010)1824525205ScienceTechnologyandEngineeringZ2010Sci1Tech1Engng1Linux内核Netfilter包过滤防火墙的设计与实现詹瑾谢赞福(广东技术师范学院计算机科学学院,广州510665)摘要讨论并分析了Netfilter的功能框架、工作原理及数据包过滤的实现机制,研究了在Netfilter框架中如何扩展用户自定义的可装载内核模块,开发并实现了IPv4协议下基于IP和端口的数据包过滤防火墙功能。深入

2、学习和研究Netfilter框架及其可扩展性,该研究也为构建特定用户安全需求的防火墙系统提供借鉴。关键词防火墙Netfilter数据包过滤可扩展性中图法分类号TP393.08;文献标志码A研究利用操作系统内嵌的防火墙来抵御非法来提高抵御非法网络入侵的能力,是一项重要而有的网络入侵是网络安全的重要防护手段之一。意义的工作。Linux作为高性能的网络操作系统,最突出的优点本文主要分析了Netfilter框架及包过滤实现原是网络安全性。在Linux2.4版本的内核模块中推理,在Netfilter框架中开发了内核模块,实现基于IP出了第三代用于扩展网络服务的结构化底层

3、防火和端口的数据包过滤防火墙功能,该研究也为进一墙框架Netfilter,提供了强大的包过滤、数据包处理、步开发高性价比且便于模块扩展的防火墙系统提[1]NAT等防功能,高度模块化于网络层,其功能和供经验。性能可与多数的商业防火墙产品媲美。在国内,很多防火墙借鉴了Netfilter的结构。1Netfilter的功能框架及原理Netfilter功能强大且与内核完美结合,因此迅速成为Linux进行网络应用扩展的主要平台,这些扩1.1Netfilter的框架及包过滤机制展不仅包括防火墙的实现,还包括各种报文处理工Netfilter是Linux内核中一个抽象、通用化的

4、框作(如报文加密、报文分类统计等),借助Netfilter机架,把数据包处理的过程流水线型化,并且实现了[4]制来实现虚拟专用网VPN、邮件过滤、入侵检测等扩展过滤策略而不必修改内核的功能。[2]特殊网络安全应用。该框架为每种网络协议(IPv4、IPv6等)定义了Netfilter在结构上很清晰,防火墙代码修改和功数据包的处理过程,并定义一些钩子点(Hook),在能扩充更加容易,只要用户理解了Linux防火墙的内核中建立了一个函数指针链表,函数指针所指的原理,Linux的开放性使得用户可以自己编写防火函数称为钩子函数。钩子函数的返回值,告诉协议[3]墙模块并加

5、入内核。因此深入剖析Netfilter的组栈如何处理数据包。图1表示IPv4中数据包处理织结构,研究如何扩展Netfilter包过滤防火墙功能过程,里面包含5个钩子点。2010年3月22日收到第一作者简介:詹瑾(1976—),女,江西南昌人,讲师,硕士,研究方向:网络信息安全、软件工程。E2mail:jinerzhan@163.com。4526科学技术与工程10卷图1IPv4中定义的数据包处理经过的5个钩子点(1)NF_IP_PRE_ROUTING:对到达且未经路由子函数指针,这样IP层就检测不到钩子函数的判断之前的包进行处理,例如检查skb,Ip头的正确存在

6、。性和Ip校验和、源地址转换等。1.2实现原理(2)NF_IP_LOCAL_IN:处理输入包,实现包过在Linux内核中定义了一个firewall_ops的结构滤功能。体,用来为各种协议的防火墙提供一个统一的接(3)NF_IP_FORWARD:处理经过路由策略之后口。firewall_ops结构体包含三个函数指针fw_for2的转发包,实现包过滤功能。ward、fw_input、fw_output,构成防火墙的调用接口,(4)NF_IP_LOCAL_OUT:处理输出包,本地进再通过这三个函数进一步调用具体的规则函数,各程发出的包都经过该钩子函数,实现包过滤功能

7、。级防火墙就这样按照链表一一处理。(5)NF_IP_POST_ROUTING:对发出且经过路数据包被接收之后调用的第一个钩子点是NF_由判断之后的包进行处理,具有目的地址转换功能。IP_PRE_ROUTING,将用户自写的hook函数挂接到如图1所示,外部数据包从左边进入系统,进行此点,在函数中制定防火墙规则,对需要检查数据IP校验以后,数据包经过(1)的钩子函数处理,然后的采取过滤标准以及相应的处理动作。这些动作进入路由决定该数据包是要转发还是发给本机;若定义在内核的Netfilter.h中:NF_ACCEPT,继续正常该数据包是发给本机的,则该数据经过(2

8、)的钩子传输数据包;NF_DROP,丢

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。