防火墙的技术与发展_第1页
防火墙的技术与发展_第2页
防火墙的技术与发展_第3页
防火墙的技术与发展_第4页
防火墙的技术与发展_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要防火墙作为一种网络或系统之间强制实行的访问控制机制,是确保网络安全的重要手段,有基于通用操作系统设计的防火墙,也有基于专用操作系统设计的防火墙。由于Linux源代码的开放性,所以,Linux成为研究防火墙技术的一个很好的平台。本文介绍 Linux的防火墙技术 Netfilter/Iptables 在 Linux 内核中的具体实现。讨论了Linux内核防火墙套件Netfilter 实现的一些基本技术:包过滤。Linux下常用的防火墙规则配置软件Iptables;从实现原理、配置方法以及功能特点的角度描述了Linux防火墙的功能;并给出了Linux下简单防火墙的搭建。关键字:防火墙,Netf

2、ilter,IptablesABSTRACTThe firewall took between one kind of network or the system forces the access control mechanism which implements, is guarantees the network security the important method, has based on the general operating system design firewall, also has based on the special-purpose operating

3、system design firewall. As a result of Linux source code openness, therefore, Linux becomes the research firewall technology a very good platform. This article introduces Linux firewall technology Netfilter/Iptables in Linux essence concrete realization. Discussed Linux essence firewall set of Netfi

4、lter realizations some basic technologies: the package filter. Under Linux commonly used firewall rule disposition software Iptables; from the realization principle, the disposition method as well as the function characteristic angle described the Linux firewall function; and build up a simple firew

5、all in Linux.Key words: Firewall, Netfilter, Iptables目 录摘 要IABSTRACTII第一章 绪 论11.1 前言11.2开发背景1第二章 防火墙技术 22.1防火墙概述22.2包过滤技术 2第三章 Netfilter/Iptables 33.1 Netfilter框架63.1.1 Netfilter框架的介绍6数据包流经网络协议栈的分析63.2 管理工具:Iptables103.2.1 Iptables 防火墙规则配置管理工具103.2.1 Iptables工具的应用方法11第四章 Linux下简单防火墙的搭建134.1防火墙搭建的战略规

6、划134.2 Iptables规则脚本16第五章 总结与展望185.1 应用前景185.2 总体体会18参考文献10致 谢11 第一章 绪 论1.1 前言Linux 可以追溯到UC Berkeley分校的Unix,因此从某种意义上讲,Linux本身就是一种网络操作系统,Linux在实现网络功能方面有着独特的优势。防火墙的初步功能首次出现在Linux 1.1内核中,到Linux 2.0内核时,其部件IPFwadm对防火墙部分已进行了很大改进和增强;Linux 2.2.x内核发布时,IPchains和单独开发的NAT等模块已经可以比较完整地实现内核IP防火墙功能,从Linux的2.4内核开始的Ne

7、tfilter最终废除了Ipchains,其主要原因有:IPchain是以内核级运行的C及C+代码,没有很好地提供从用户空间访问IPchains的接口,限制了IPchains的可扩展性。1.2 开发背景在网络安全问题日趋严峻的今天,防火墙作为第一道防线起着关键的作用。防火墙可以对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。从而对防火墙的研究成为研究热点。第二章 防火墙技术2.1防火墙概述防火墙是一个或一组实施访问

8、控制策略的系统。它在内部网络(专用网络)与外部网络(功用网络)之间形成一道安全保护屏障,防止非法用户访问内部网络上的资源和非法向外传递内部信息,同时也防止这类非法和恶意的网络行为导致内部网络运行遭到破坏。它基本功能是过滤并可能阻挡本地网络或者网络的某个部分与Internet之间的数据传送(数据包)。防火墙的主要功能包括:1防火墙本身支持一定的安全策略。2提供一定的访问或接入控制机制。3容易扩充、更改新的服务和安全策略。4具有代理服务功能,包含先进的鉴别技术。5采用过滤技术,根据需求来允许或拒绝某些服务。6防火墙的编程语言应较灵活,具有友好的编程界面。并用具有较多的过滤属性,包括源和目的IP地址

9、、协议类型、源和目的的TCP/UDP端口以及进入和输出的接口地址。2.2 包过滤技术包过滤技术是防火墙的一种最基本的实现技术,具有包过滤技术的装置是用来控制内、外网络间数据流的流入和流出,包过滤技术中的数据包大部分是基于TCP/IP协议平台的,其中包括网络层的IP数据包,运输层的TCP和UDP数据包以及应用层的FTP、Telnet和HTTP等应用协议数据包三部分内容。过滤技术依靠以下三个基本依据来实现“允许或不允许”某些包通过防火墙:1 包的目的地址及目的端口;2 包的源地址及源端口;3 包的传输协议。第三章 Netfilter/Iptables3.1 Netfilter框架3.1.1 Net

10、filter框架的介绍Netfilter是Linux 2.4实现的防火墙框架,Netfilter提供了一个抽象、通用化的框架定义一个子功能实现的就是包过滤子系统。Netfilter由一系列基于协议栈的钩子组成,这些钩子都对应某一具体的协议。每一个协议对应的钩子函数都定义在协议具体的头文件中,如对应于IPv4的钩子函数就定义在内核头文件:/Linux/netfilter_ipv4.h中。3.1.2 数据包流经网络协议栈的分析1、收到数据,中断发生 通常的,当一块网卡接收到属于其自己MAC地址或者广播的以太网络数据帧时,就会引发一个中断,网卡驱动的中断处理程序获得机会,通过I/O,DMA复制网络帧

11、数据到内存中。然后网络驱动程序将创建一个skb结构,将网络帧数据填充,设置时间戳,区分类型后,将skb送入对应的包接收队列(其实就是添加到系统中的一个双向链表中)。2、数据接收软中断 内核调用kernel/softirq.c:do_softirq()执行数据包接收软中断(NET_RX_SOFTIRQ),将skb从CPU的接收队列中取出来,交给对应IPv4协议处理程序。协议处理程序将对传入的数据包进行一些完整性监测,如果监测失败,则将数据包丢弃。通过完整性监测以后,将进行一些必要的清理操作,去掉可能多余的填充数据,并且重新计算数据包的长度。 3.2 管理工具:Iptables Iptables

12、防火墙规则配置管理工具Netfilter框架在内核中主要负责PACKET的获得和重新注入,而对PACKET的匹配预处理主要由规则表来完成。当我们用Iptables命令配置工具配置一条规则后,Iptables应用程序会运用iptables-standalone.c:main():do_command(),然后再调用libiptc库提供的iptc_commit()函数向核心提交该操作请求。该函数根据请求会设置一个struct ipt_replace结构,用来描述规则所涉及的表和HOOK点等信息,并在其后附接当前这条规则(一个struct ipt_entry结构)。从而将命令行输入转换为程序可读的格

13、式。组织好这些数据后,iptc_commit()调用setsockopt()系统调用来启动核心处理这一请求:setsockopt( sockfd, /通过socket创建的原始套接字, TC_IPPROTO, /即IPPROTO_IP SO_SET_REPLACE, /即IPT_SO_SET_REPLACErepl, /struct ipt_replace结构sizeof(*repl) + (*handle)-entries.size ) Iptables工具的应用方法一个Iptables命令基本上包含如下五部分(1)希望工作在哪个表上(2)希望使用该表的哪个链(3)进行操作(插入、添加、删除

14、、修改)(4)对特定规则的目标动作(5)匹配数据报条件第四章 Linux下简单防火墙的搭建4.1防火墙搭建的战略规划包过滤防火墙的规则是由一组接收和禁止规则列表组成,规则列表中定义了数据包是否可以通过网络接口。防火墙规则通过数据包头的字段是否允许一个数据包通过。当默认策略设置为禁止一切时,若数据包头的字段与规则匹配,则路由器将该数据包转发至指定的目的地,否则将该数据包丢弃或被阻止并反馈一个错误状态信息给发出端的计算机。一、输入包过滤1、远程源地地址过滤在包过滤的层次上,数据包头中的源地址是识别IP数据包发送者的唯一方法。(1)假冒本地IP地址从外部输入的数据包声称是来自本地计算机的数据包,因为

15、源地址是唯一可获得的信息,而它可以被修改,所以这是用户在包过滤的层次上唯一检测到的欺骗形式。(2)回环接口地址回环地址是TCP/IP协议在本地网络服务使用的内部专用地址,目的是将网络通信请求或处理通过回环地址发给本机的网络服务,而不许发送到网络上。通常,回环网络的网络地址是,回环地址是,主机名使用localhost,回环网络标识lo。2、本地目的地址过滤网卡只接收发给本机的数据包和广播数据包。也就是说,网卡将滤掉除广播数据包以外的,目的地址不是本机地址的普通数据包。例如,地址55是对网络上的所有主机进行广播。二、输出包过滤输出消息过

16、滤的重要应用层运行局域网服务时,不把本地数据包和本地系统信息泄漏到因特网上。1、本地源地址过滤通过本地源地址过滤,可以防止本地用户仿造IP地址,欺骗其他的网站。2、远程目的地址过滤对于输出数据包,需要限定特定类型的数据包,这个目的地址只能是特定的远程网络或单机。此时,防火墙规则将定义这些数据包允许到达的目的地必须是有明确的IP地址或限定的IP地址范围内的目的地。4.2 Iptables规则脚本1.删除任何已存在的规则。记住在定义任何一个防火墙规则前,都要删除存在于所有链的规则。命令如下346:iptables -F2.配置默认的拒绝规则。实际应用中配置的基本原则是:先拒绝所有的服务,然后再根据

17、用户的需要设置相应的服务。参考配置程序如下:iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP 第五章 总结与展望5.1 应用前景Netfilter/Iptables的包过滤架构是Linux内核开发人员通过对Ipfwadm/Ipchains等早期的包过滤程序的开发经验和全世界用户反馈的分析,重新设计,改造而形成的相对成熟的Linux内核包过滤框架。本文从理论和实践两方面对Linux2.4.x内核对防火墙的处理作了分析,目的是使一般小型企业针对自己实际情况,设计专门的防火墙成为可能。 5.2 总体体会经过几个

18、月的磨炼和努力,总结出只有在强压与竞争中才会有意想不到的收获和进步。毕业设计培养了作者本人综合运用所学的基础理论,基本知识和基本技能,分析解决实际问题的能力,它在某种程度上是前面各个学习环节的继续,深化和检验。认为自身在这次毕业设计中培养了以下四方面的能力:l 综合运用所学专业基本理论,提高查阅文献、论文和资料的能力。l 提高自身进行技术总结和撰写论文的能力。l 编程的过程是不断学习的过程,当有更好、更简洁的程序时,要注意扬弃的结合。l 设计既要重视分工,重视设计作品的完整性,重视风格的统一性。l 要注重编程过程中的细节,有时细小的失误也会形成极大的麻烦。毕业设计让作者本人体会到科学的精神。面对随时而来的挫折,自己不断的给自己鼓劲,克服困难,勇往直前。参考文献1 博嘉科技主编Linux防火墙技术探秘国防工业出版社,2002 2 James F.Kurose,,Keith W.Ross 著计算机网络-用自顶向下方法描述因特网特色人发邮电出版社,2004 3 张斌等编Linux网络编程清华大学出版社,20004 刘伟,龚汉明,朱青编著UNIX基础教程清华大学出版社,20035 张琳等编著网络管理与应用人民邮电出版社,20006 孙建华等编著 网络系统管理-Linux实训篇人民邮电出版社,20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论