linux防火墙的包过滤策略设计与实现(附件)
随着互联网的迅速成长,各种软件、应用出现的越来越多,也出现一些网络业务,比如电子商务(electronic commerce)、数字货币(digital csash)、互联网络银行等,人们的生活和学习对网络的依赖越来越多,但问题也接踵而来,比如,网站遭到攻击,网上的个人重要信息被窃取,病毒泛滥等等,所以网络安全问题越来越受到人们的重视。常见的网络协议有TCP/IP协议,但是由于一开始制定协议的时候没考虑到安全因素,导致出现很多漏洞。为解决这一问题,人们想出了两种方案,其一是制定出一个更为安全的网际链接协议,另一种就是采用增加安全性技术,比如加密技术,防火墙技术等等。防火墙在出现之初就被广大用户广泛使用。防火墙被我们用于监督外部网络跟内部网络之间的通信。因此,研究防火墙的包过滤技术,无论从理论上还是实际应用上都具有十分重要的意义。关键词 防火墙,网络安全,Linux,包过滤,netfilter
目 录
1 引言 1
1.1 研究的目的和意义 1
1.2 防火墙技术的现状 1
2 选题背景 1
2.1 课题来源 1
2.2研究发展趋势 2
2.3设计技术与思想 2
3 设计过程综述 3
3.1总体结构 3
3.2内核过滤框架 4
3.3用户空间与内核空间的通信方式5
3.4命令解析 5
4 部分模块代码 7
4.1命令解析函数 7
4.2判断规则函数 8
4.3匹配IP地址函数 9
4.4端口匹配函数 10
4.5拦截网络数据模块函数 10
4.6记录交互模块 15
4.7内核模块 17
4.8处理用户空间 18
4.9通信媒介netlink 19
5 成果测试与分析22
5 .1防火墙功能检验22
结论 25
致谢 26
参考文献27
1 引言
1.1 研究的意义和目的
随 *好棒文|www.hbsrm.com +Q: ¥351916072$
着互联网的迅速成长,各种软件、应用出现的越来越多,也出现一些网络业务,比如电子商务(electronic commerce)、数字货币(digital csash)、互联网络银行等,人们的生活和学习对网络的依赖越来越多,但问题也接踵而来,比如,网站遭到攻击,网上的个人重要信息被窃取,病毒泛滥等等,所以网络安全问题越来越受到人们的重视。常见的网络协议有TCP/IP协议,但是由于一开始制定协议的时候没考虑到安全因素,导致出现很多漏洞。为解决这一问题,人们想出了两种方案,其一是制定出一个更为安全的网际链接协议,另一种就是采用增加安全性技术,比如加密技术,防火墙技术等等。防火墙在出现之初就被广大用户广泛使用。防火墙被我们用于监督外部网络跟内部网络之间的通信。因此,研究防火墙的包过滤技术,无论从理论上还是实际应用上都具有十分重要的意义[1]。
1.2 防火墙技术的现状
传统的防火墙一般是存在内部专用网络按照访问控制列表的包过滤器。防火墙技术现在发展越来越成熟,渐渐出现了一些工作在不同网络结构层中的防火墙,包过滤防火墙工作在网络层,能够决定信息的传输和接受。具体来说,对于发过来的每个数据包的包头,再根据分组过滤规则进行确定分组,与该规则匹配的分组继续根据信息转接,不然的话就会被丢掉。分组过滤在IP层上实现,分组进行过滤会根据一些特殊的信息来分辨有没有完成分组。包过滤有一些和帮助相关的东西,即基于一些特殊的数据包,因为大多数服务侦听器位于特别规定的TCP/UDP协议头端口上[2]。
2 选题背景
2.1 课题来源
从当前社会生产实际分析,一方面网络安全突出,网络防火墙的功能作用愈凸显,另一方面 Linux 系统作为一款后起之秀的操作系统,以其公开的源代码、强大的网络功能、网上提供的大量的免费资源以及其系统固有的稳定性,受到了业界的普通认可和赞扬,在各行各业得到了广泛的普及和应用。可见,构建基于 Linux 系统的防火墙,有其非常重要和明显的实践目的和意义。市场上出售的防火墙系统,虽然能强大且全面,但针对性却不强,且价格不菲。对于许多缺乏资金和预算的企业,结合公司单位保护本地网络安全的实际需要,将独立开发基于Linux系统核心网络模块的防火墙系统。保护内部网络的安全是一个性价比高的选择。
2.2 研究发展趋势
防火墙技术经过了从最开始的简单程度的包过滤,发展到如今应用广泛的状态型的包过滤技术。而在之中状态包过滤技术因为它的安全性能以及速度优势,应用范围最大。
我们一般用防火墙来管理网络之间的链接交互,为了避免外部不需要的网络入侵我们的电脑。他对两个以上的网络交互的数据包进行有规则的检查和过滤,并且会监督观察网络在运行状态[3]。
新型的检测性防火墙能够对数据进行有效的实时监督,通过对穿过来的数据进行判断并分析出是否为非法网络。这种防火墙还具备特殊的分布式检测器,这些检测器被设置在各个应用服务器和其他外部网的结点中,不仅能监测来自网络外部的非法入侵或者攻击,而且能够对内部的网络也能进行监督和防护。监测型防火墙在安全性能上已超出了其他的防火墙,但是由于它的综合成本较高,综合考虑之下,我们可以选择性的来使用这种防火墙来保护我们需要保护的网络。
2.3 设计技术与思想
本文建立在 Linux 下的一种结构来——Netfilter 来建立防火墙的, Netfilter 是 一种抽象的并且常用的结构类,用来扩充底层的结构帮助。Netfilter 组成结构也就是我们常听到的内核空间,是有一些数据包的过滤表构成的,这些表里面有一些操控数据来过滤的一些规则的综合。 Netfilter 结构给我们一系列的可参考的“表”,每个表由若干“链”结合而成的,它的本质就是在处理一些数据的时候提供了一些检查点这些检查点就是我们常说的钩子函数。多条“规则”(rules)组成了链,Netfilter 根据每一个流动的数据包的流向,使用对应的检查点进行检查。Netfilter 在 IPV4 协议中设计添加了5 个检查点,设置位置如图 1 所示。方框表示检查点,箭头表示数据包的流动方向[4]。
目 录
1 引言 1
1.1 研究的目的和意义 1
1.2 防火墙技术的现状 1
2 选题背景 1
2.1 课题来源 1
2.2研究发展趋势 2
2.3设计技术与思想 2
3 设计过程综述 3
3.1总体结构 3
3.2内核过滤框架 4
3.3用户空间与内核空间的通信方式5
3.4命令解析 5
4 部分模块代码 7
4.1命令解析函数 7
4.2判断规则函数 8
4.3匹配IP地址函数 9
4.4端口匹配函数 10
4.5拦截网络数据模块函数 10
4.6记录交互模块 15
4.7内核模块 17
4.8处理用户空间 18
4.9通信媒介netlink 19
5 成果测试与分析22
5 .1防火墙功能检验22
结论 25
致谢 26
参考文献27
1 引言
1.1 研究的意义和目的
随 *好棒文|www.hbsrm.com +Q: ¥351916072$
着互联网的迅速成长,各种软件、应用出现的越来越多,也出现一些网络业务,比如电子商务(electronic commerce)、数字货币(digital csash)、互联网络银行等,人们的生活和学习对网络的依赖越来越多,但问题也接踵而来,比如,网站遭到攻击,网上的个人重要信息被窃取,病毒泛滥等等,所以网络安全问题越来越受到人们的重视。常见的网络协议有TCP/IP协议,但是由于一开始制定协议的时候没考虑到安全因素,导致出现很多漏洞。为解决这一问题,人们想出了两种方案,其一是制定出一个更为安全的网际链接协议,另一种就是采用增加安全性技术,比如加密技术,防火墙技术等等。防火墙在出现之初就被广大用户广泛使用。防火墙被我们用于监督外部网络跟内部网络之间的通信。因此,研究防火墙的包过滤技术,无论从理论上还是实际应用上都具有十分重要的意义[1]。
1.2 防火墙技术的现状
传统的防火墙一般是存在内部专用网络按照访问控制列表的包过滤器。防火墙技术现在发展越来越成熟,渐渐出现了一些工作在不同网络结构层中的防火墙,包过滤防火墙工作在网络层,能够决定信息的传输和接受。具体来说,对于发过来的每个数据包的包头,再根据分组过滤规则进行确定分组,与该规则匹配的分组继续根据信息转接,不然的话就会被丢掉。分组过滤在IP层上实现,分组进行过滤会根据一些特殊的信息来分辨有没有完成分组。包过滤有一些和帮助相关的东西,即基于一些特殊的数据包,因为大多数服务侦听器位于特别规定的TCP/UDP协议头端口上[2]。
2 选题背景
2.1 课题来源
从当前社会生产实际分析,一方面网络安全突出,网络防火墙的功能作用愈凸显,另一方面 Linux 系统作为一款后起之秀的操作系统,以其公开的源代码、强大的网络功能、网上提供的大量的免费资源以及其系统固有的稳定性,受到了业界的普通认可和赞扬,在各行各业得到了广泛的普及和应用。可见,构建基于 Linux 系统的防火墙,有其非常重要和明显的实践目的和意义。市场上出售的防火墙系统,虽然能强大且全面,但针对性却不强,且价格不菲。对于许多缺乏资金和预算的企业,结合公司单位保护本地网络安全的实际需要,将独立开发基于Linux系统核心网络模块的防火墙系统。保护内部网络的安全是一个性价比高的选择。
2.2 研究发展趋势
防火墙技术经过了从最开始的简单程度的包过滤,发展到如今应用广泛的状态型的包过滤技术。而在之中状态包过滤技术因为它的安全性能以及速度优势,应用范围最大。
我们一般用防火墙来管理网络之间的链接交互,为了避免外部不需要的网络入侵我们的电脑。他对两个以上的网络交互的数据包进行有规则的检查和过滤,并且会监督观察网络在运行状态[3]。
新型的检测性防火墙能够对数据进行有效的实时监督,通过对穿过来的数据进行判断并分析出是否为非法网络。这种防火墙还具备特殊的分布式检测器,这些检测器被设置在各个应用服务器和其他外部网的结点中,不仅能监测来自网络外部的非法入侵或者攻击,而且能够对内部的网络也能进行监督和防护。监测型防火墙在安全性能上已超出了其他的防火墙,但是由于它的综合成本较高,综合考虑之下,我们可以选择性的来使用这种防火墙来保护我们需要保护的网络。
2.3 设计技术与思想
本文建立在 Linux 下的一种结构来——Netfilter 来建立防火墙的, Netfilter 是 一种抽象的并且常用的结构类,用来扩充底层的结构帮助。Netfilter 组成结构也就是我们常听到的内核空间,是有一些数据包的过滤表构成的,这些表里面有一些操控数据来过滤的一些规则的综合。 Netfilter 结构给我们一系列的可参考的“表”,每个表由若干“链”结合而成的,它的本质就是在处理一些数据的时候提供了一些检查点这些检查点就是我们常说的钩子函数。多条“规则”(rules)组成了链,Netfilter 根据每一个流动的数据包的流向,使用对应的检查点进行检查。Netfilter 在 IPV4 协议中设计添加了5 个检查点,设置位置如图 1 所示。方框表示检查点,箭头表示数据包的流动方向[4]。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1158.html