论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
基于NetFilter架构的包过滤防火墙
摘要:在科技日益发展的今天,大众生活与互联网的关系越来越密切,可是网络安全问题也越来越严重。近年来媒体报导的很多黑客入侵事件都是通过互联网进行攻击的。防火墙是目前最为流行也是使用最为广泛的1种网络安全技术。在构建安全网络环境的过程中,防火墙作为第1道安全防线而倍受关注。为了学习防火墙的工作原理和初步研究Linux内核编程,本文开发了1个简单的基于Linux平台的个人包过滤防火墙,该防火墙以设备文件的方式实现用户接口程序与内核模块之间进行对话,从而把用户设定的规则传递给防火墙模块,主要以NetFilter架构为基础,把数据包拦截在底层,调用钩子函数进行规则判断进行过滤数据包.从而实现简单的IP地址过滤和端口封堵的功能。以此可以阻止怀疑的网段有害信息和防止木马攻击。
关键词:防火墙;包过滤;设备文件;NetFilter;钩子函数
1 绪论 (科教作文网http://zw.ΝsΕAc.com发布)
Linux防火墙作为1种网络安全安全防护的工具,对其研究有着重大意义。
本章主要介绍课题背景和研究意义,叙述了本文所做的具体工作。
1.1 背景
【赛迪网讯】4月26日,据英国网络安全公司Zone-H最新公布的调查数据显示,2004年全球1共发生了392,545起攻击网络服务器或者篡改网页的黑客攻击事件,比2003年增长了36%。
BBC科技频道报道,调查显示,黑客攻击的动机多种多样,有的只是为了好玩,有些攻击是黑客团伙进行的比赛,有些攻击是为了政治宣传,有些是窃取用户信息的犯罪活动。这项调查还显示,55%的成功的网络攻击是在软件公司发布有关安全漏洞的安全公告不久之后发生的。黑客多数是利用已知的安全漏洞实施攻击。不过,有些黑客组织还在安全漏洞的信息公开之前交换软件的安全漏洞信息。网络管理员的工作失误也可以给黑客提供可乘之机。这项调查还显示,2004年美国攻击伊拉克的战争和圣诞节期间是黑客攻击事件的高发期。另根据2004年国内知名信息安全厂商瑞星公司发布的《2004年度中国大陆计算机病毒,黑客疫情报告及发展趋势分析》报告显示,中国大陆地区计算机病毒感染数量呈上升趋势。以骗取电脑用户网络虚拟财产,信用卡,证券资料等赤裸裸的利益诉求为目的的病毒和黑客攻击越演越烈。该报告指出计算机病毒与黑客攻击呈现出4大发展方向: (科教论文网 lw.NsEac.com编辑整理)
1)造病毒越来越容易,病毒变种越来越多;
2)漏洞病毒出现的越来越快;
3)黑客和病毒越来越贪婪;
4)黑客和病毒越来越聪明,骗术越来越高明。
透过《瑞星报告》我们可以看出,病毒和黑客的攻击随着互联网的普及而扩大范围和加深破坏程度。特别是ADSL等宽带的应用和越来越多的企事业单位搭建了局域网,使病毒传播速度越来越快。这些上网条件较好的用户,大部分受到过病毒,木马的不同程度的侵扰。面对越来越严峻的安全形势,如何有效地对它们进行防范,将损失降到最低将是我们需要认真研究的问题。
基于网络上存在的安全威胁和用户对网络安全方面的要求,出现了各种各样的网络安全技术,综合起来有以下几种:
VPN与IPSec技术
网络加密技术
操作系统安全内核技术
数字签名与认证技术
入侵检测技术(IDS)
网络防病毒技术
防火墙技术
其中,防火墙是综合了多种技术的1种极其重要的网络安全设备。利用防火墙能保护站点不被任意联接,甚至能建立跟踪工具,帮助总结并记录有关正在进行的联接。
国内知名的1些杀毒软件商都做防火墙产品,例如瑞星,江民等,还有比较单1的专做防火墙产品的天网。这些防火墙的功能都10分强大,能有效的保护我们计算机系统的安全。但1套正版软件的价格从几10元到几百元不等,对于我国发展中国家的国情来说,经济因素是个大家普遍关注的1个方面。本文把研究的方向定位为开发1个简单的个人包过滤防火墙,可以满足1般用户对网络安全的要求即可。
1.2 选题意义与目的
1.2.1为什么要使用防火墙
同其它任何社会1样,Internet也受到某些无聊之人的困扰,这些人喜爱在网上做这类的事,像在现实中向其他人的墙上喷染涂鸦、将他人的邮箱推倒或者坐在大街上按汽车喇叭1样。1些人试图通过Internet完成1些真正的工作,而另1些人则拥有敏感或专有数据需要保护。1般来说,防火墙的目是将那些无聊之人挡在你的网络之外,同时使你仍可以完成工作。 内容来自www.nseac.com
许多传统风格的企业和数据中心都制定了计算安全策略和必须遵守的惯例。在1家公司的安全策略规定数据必须被保护的情况下,防火墙更显得10分重要,因为它是这家企业安全策略的具体体现。如果你的公司是1家大企业,连接到Internet上的最难做的工作经常不是费用或所需做的工作,而是让管理层信服上网是安全的。防火墙不仅提供了真正的安全性,而且还起到了为管理层盖上1条安全的毯子的重要作用。
1.2.2 防火墙可以防范什么
1些防火墙只允许电子邮件通过,因而保护了网络免受除对电子邮件服务攻击之外的任何攻击。另1些防火墙提供不太严格的保护措施,并且拦阻1些众所周知存在问题的服务。 1般来说,防火墙在配置上是防止来自“外部”世界未经授权的交互式登录的。这大大有助于防止破坏者登录到你网络中的计算机上。1些设计更为精巧的防火墙可以防止来自外部的传输流进入内部,但又允许内部的用户可以自由地与外部通信。如果你切断防火墙的话,它可以保护你免受网络上任何类型的攻击。
防火墙的另1个非常重要的特性是可以提供1个单独的“拦阻点”,在“拦阻点”上设置安全和审计检查。与计算机系统正受到某些人利用调制解调器拨入攻击的情况不同,防火墙可以发挥1种有效的“电话监听”(Phone tap)和跟踪工具的作用。防火墙提供了1种重要的记录和审计功能;它们经常可以向管理员提供1些情况概要,提供有关通过防火墙的传流输的类型和数量以及有多少次试图闯入防火墙的企图等等信息。
1.2.3选择本课题的目的
防火墙技术是1种综合性的网络安全技术,要了解防火墙先要了解网络协议,IP包结构等许多网络知识,对自己以后在网络方向的发展有着深远的意义。也可以把开发过程作为以后开发有商业价值的网络软件的初步探索,为以后的工作积累宝贵的经验。 (转载自http://zw.NSEaC.com科教作文网)
本防火墙是基于linux操作系统的。这是1种开源的,免费的操作系统,非常便于学习。通过在这个平台开发本软件,可以深入了解操作系统的内核,对内核级编程做1个初步尝试。也可以将对TCP/IP协议栈的认识得到升华。
1.3 进行的工作
1)对防火墙的历史,现状,发展做了研究;
2)分析了linux2.4内核机制;
3)详细介绍了NetFilter的原理,并深入研究了钩子函数的使用方法和作用机制;
4)利用NetFilter原理开发并实现了简单包过滤模块。可以进行IP地址过滤和端口过滤;
5)对该防火墙的功能进行了测试;
6)对本产品的优缺点进行了总结并对防火墙技术的发展趋势进行了展望。
目 录
1 绪论 1
1.1 背景 1
1.2 选题意义与目的 2
1.2.1为什么要使用防火墙 2
1.2.2 防火墙可以防范什么 2
1.2.3选择本课题的目的 3
1.3 进行的工作 3
2 防火墙知识与相关技术介绍 4
2.1 Linux防火墙的历史 4
2.2 防火墙的拓扑结构 4
2.2.1 屏蔽子网结构 4
2.2.2 双宿主主机结构 4
2.2.3 屏蔽主机结构 5
2.3 包过滤技术的扩展介绍 6
2.3.1 什么是包过滤防火墙 6
2.3.2 包过滤防火墙的工作层次 6
2.3.3 包过滤器操作的基本过程 6
2.3.4 包过滤技术的优缺点 7
2.4 其他相关技术介绍 7
2.4.1 代理 7
2.4.2 状态检测 8
2.4.3 DMZ非军事化区 8
2.4.4 NAT 8
2.5 防火墙的安全策略及其局限性 8
2.5.1安全策略 8
2.5.2防火墙策略的局限性 9
2.6 应用防火墙发现及封阻应用攻击技术 9
2.6.1 深度数据包处理 9
2.6.2 TCP/IP终止 9
2.6.3 SSL终止 10
2.6.4 URL过滤 10
2.6.5 请求分析 10
2.6.6 用户会话跟踪 10
2.6.7 响应模式匹配 10
2.6.8 行为建模 11
2.7 小结 11
3 开发平台的介绍 12
3.1 linux的概念 12
3.2选择linux平台的原因 12
3.3 Linux下C编程基础 13
3.3.1 源程序的编译 13
3.3.2 程序的调试 14
3.4可加载内核模块(LKM)编程 14
3.4.1 Linux可加载内核模块 14
3.4.2 编写可加载内核模块 14
3.4.3 模块的加载与卸载 15
3.5小结 15
4 NetFilter架构的详细介绍 16
4.1 Linux下的包过滤防火墙管理工具 16
4.2 新1代的NetFilter网络底层架构 16
4.2.1 NetFilter/Iptables系统的含义 16
4.2.2使用NetFilter/iptables替代ipchains的原因 17
4.2.3 NetFilter/iptables系统的主要功能 17
4.2.4 NetFilter/iptables的用途 17
4.2.5 NetFilter/iptables系统的优点 17
4.3 总体结构 18
4.4 NetFilter的钩子函数及其关系 19
4.5注册钩子函数 19
4.5.1 NF_HOOK()原型 20
4.5.2 HOOK注册函数 20
4.5.3 HOOK卸载函数 21
4.6下载与安装NetFilter 21
4.6.1下载NetFilter功能模块 21
4.6.2 安装NetFilter 21
4.7小结 21
5 个人包过滤防火墙的设计与实现 22
5.1预备知识 22
5.1.11些“字节顺序”转换函数 22
5.1.2 封装 22
5.1.3 IP首部 23
5.1.4字符设备文件 25
5.2 包过滤防火墙的主要框架 27
5.3规则读写模块的设计 27
5.3.1设计思路 27
5.3.2字符设备驱动接口及操作函数实现 27
5.4包过滤模块主要设计思想 30
5.5编译流程 33
5.6本章小结 34
6 系统测试 35
6.1测试目标 35
6.2测试方法 35
6.3测试步骤 35
6.3.1 IP地址过滤测试步骤 35
6.3.2测试端口过滤步骤 37
6.4测试结果 37
6.5小结 37
结束语 38
参考文献 39
致 谢 40