2774.A LINUX防火墙设计与实现 毕业设计论文.doc

上传人:李司机 文档编号:7037218 上传时间:2024-04-23 格式:DOC 页数:51 大小:1.05MB
返回 下载 相关 举报
2774.A LINUX防火墙设计与实现 毕业设计论文.doc_第1页
第1页 / 共51页
2774.A LINUX防火墙设计与实现 毕业设计论文.doc_第2页
第2页 / 共51页
2774.A LINUX防火墙设计与实现 毕业设计论文.doc_第3页
第3页 / 共51页
2774.A LINUX防火墙设计与实现 毕业设计论文.doc_第4页
第4页 / 共51页
2774.A LINUX防火墙设计与实现 毕业设计论文.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《2774.A LINUX防火墙设计与实现 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《2774.A LINUX防火墙设计与实现 毕业设计论文.doc(51页珍藏版)》请在三一办公上搜索。

1、2毕业设计(论文)LINUX防火墙设计与实现 毕业设计(论文) 第43页 题 目 Linux防火墙设计与实现 题目类型:工程设计 技术专题研究 理论研究 软硬件产品开发一、设计任务及要求 1设计背景: 广泛分布的企业内部网络和公共网络互联起来,这种互联方式面临多种安全威胁,极易受到外界的攻击,导致对网络的非法访问和信息泄露。防火墙是安全防范的最有效也是最基本的手段之一。Linux以其开放源码的特性,开放的网络特性使越来越多的用户选择Linux作为防火墙的操作平台。 2设计要求: (1)熟悉LINUX系统的NETFILTER防火墙技术与原理。 (2)熟悉LINUX下C语言的调试和编译;熟悉PER

2、L,CGI。 (3)熟悉LINUX内核模块的原理与编程实现。 (4)基于NETFILTER进行二次开发,设计包过滤防火墙,该防火墙架设在双宿主主机上,隔离内外网,实现系统管理,网络配置,安全策略配置,日志与流量统计等基本功能。 (5)进行系统总体方案设计以及各功能模块的详细设计与编程实现。 (6)测试系统。 二、应完成的硬件或软件实验 完成系统的开发,测试所设计的软件,能够实现所要求的功能。 三、应交出的设计文件及实物(包括设计论文、程序清单或磁盘、实验装置或产品等) 软件产品;毕业论文;光盘;英文翻译。 四、指导教师提供的设计资料 1计算机网络技术的有关论文、书籍和资料; 2Linux内核编

3、程、网络编程的相关书籍和资料。 五、要求学生搜集的技术资料(指出搜集资料的技术领域) 1搜集和整理与NETFILTER相关资料; 2搜集Linux内核编程相关资料; 3收集网络安全,防火墙的相关资料。 摘 要在科技日益发展的今天,大众生活与互联网的关系越来越密切,可是网络安全问题也越来越严重。近年来媒体报导的很多黑客入侵事件都是通过互联网进行攻击的。防火墙是目前最为流行也是使用最为广泛的一种网络安全技术。在构建安全网络环境的过程中,防火墙作为第一道安全防线而倍受关注。本论文主要研究了Linux 2.4内核防火墙Netfilter系统的结构框架特点、工作原理及其在内核中的实现机制;Linux内核

4、模块的开发。论文设计了一个简单的包过滤防火墙。本设计在Netfilter上进行二次开发,设计一个内核模块,通过动态加载到内核中实现对数据包的过滤功能, 具有很高的效率,数据包处理能力较强。Netfilter框架的使用使其具有良好的代码结构,易于维护和扩展。防火墙架设在双网卡Linux服务器上,连接内部网络和外部网络。该防火墙主要实现以下功能:实现用户配置;基于IP地址的过滤;针对TCP/UDP协议端口的过滤;日志记录。论文主要内容包括:研究背景和本领域的研究现状;防火墙的基本概念;GNU/Linux 2.4内核防火墙Netfilter的工作原理和LINUX内核模块设计;防火墙主框架设计;详细说

5、明防火墙的各个功能模块的设计与实现;防火墙系统的测试,其中包括测试环境,测试方法与结果分析。关键词: 防火墙;包过滤;内核模块;Netfilter;钩子函数ABSTRACTNowadays,as technology is developing increasingly fast,the relationship between peoples ordinary life and Internet has become closer and closer. Meanwhile,the safety of Internet,becomes more and more serious. Recen

6、tly,it has often been reported that a lot of accidents about hackers attacking are done through the Internet. In the process of constructing security in the network environment in the process,firewall,as the first line of defense and security is very important.This paper works on the framework,theor

7、y and implementation mechanisms in kernel of the Linux firewall named Netfilter and Linux kernel module development. This paper designs a simple packet filtering firewall. The firewall system is the second development based on the Netfilter. The firewall is a kernel module which is dynamic loaded in

8、to the kernel to realize the packet filtering. This firewall has high efficiency and ability of dealing with data packages. It has good code structure because of using of Netfileter framework so it is easy to maintain and extend. The Linux server which the firewall is set up on has two network inter

9、face cards. A card connects the internal network and the other one connects external networks. The main functions of the firewall are as follows: achieving user profiles; IP address filtering; TCP / UDP port filters; log records. The main content of the paper includes: the background and research st

10、atus quo of this field; the basic theory of firewall; the GNU/Linux 2.4 kernel Netfilter firewalls working principle and Linux kernel module design; the design of the firewall main framework; descriptions of the firewalls each function modules design in detail and implementation; At last,firewall sy

11、stem testing is introduced,including test environment,testing methods and results.Key words: firewall; packet filtering; Kernel module; Netfilter; hook function目 录摘 要 IVABSTRACT V第1章绪论11.1 课题研究的背景11.2 选题意义与目的11.2.1 为什么要使用防火墙11.2.2防火墙可以防范什么11.2.3 选择本课题的目的21.3 本人工作2第2章防火墙知识与相关技术介绍32.1 防火墙原理32.2防火墙功能42

12、.3 防火墙的体系结构42.3.1 双重宿主主机体系结构52.3.2 屏蔽主机体系结构52.3.3 屏蔽子网体系结构62.4 包过滤技术的介绍62.4.1 什么是包过滤防火墙62.4.2 包过滤防火墙的工作层次72.4.3 包过滤器操作的基本过程72.4.4 包过滤技术的优缺点72.5 其他相关技术介绍82.5.1 代理82.5.2 状态检测92.5.3 DMZ非军事化区102.5.4 NAT102.6 LINUX防火墙概述112.7 防火墙技术的发展方向11第3章 开发平台与相关技术原理介绍133.1 LINUX操作系统简介133.2 VMWARE简介133.3 LINUX下C与PERL编程

13、基础143.3.1 源程序的编辑143.3.2源程序的编译143.4 LINUX 2.4内核介绍143.4.1 Linux内核模块设计153.4.2 模块的定义153.4.3 模块的优点153.4.4 模块的结构163.5 NETFILTER 原理介绍163.5.1 什么是Netfilter163.5.2 Netfilter在IPv4中的结构17第4章包过滤防火墙系统总体设计224.1 系统功能要求224.2 总体设计思路224.3 系统主框架224.4 系统模块23第5章系统详细设计255.1系统配置模块255.2 程序初始化模块265.3 NETFILTER钩子函数注册/注销模块275.4

14、 IP包检查模块285.5 外网数据包过滤模块295.6 内网数据包过滤模块315.7 LINUX MODULE操作模块315.8 程序控制模块315.9 系统日志模块315.10 程序使用32第6章系统测试346.1 测试目标346.2 测试环境346.3 测试内容366.3.1 基于IP地址的过滤366.3.2 基于端口的过滤386.4 结论40结 论 41致 谢 42参考文献 43第1章绪论Linux包过滤防火墙作为一种网络安全安全防护的工具,对其研究有着重大意义。本章主要介绍课题背景和研究意义,叙述了本人所做的具体工作。1.1 课题研究的背景广泛分布的企业内部网络和公共网络互联起来,这

15、种互联方式面临多种安全威胁,极易受到外界的攻击,导致对网络的非法访问和信息泄露。防火墙是安全防范的最有效也是最基本的手段之一。 Linux以其开放源码的特性,开放的网络特性使越来越多的用户选择Linux作为防火墙的操作平台。1.2 选题意义与目的1.2.1 为什么要使用防火墙同其它任何社会一样,Internet也受到某些无聊之人的困扰,这些人喜爱在网上做这类的事,像在现实中向其他人的墙上喷染涂鸦、将他人的邮箱推倒或者坐在大街上按汽车喇叭一样。一些人试图通过Internet完成一些真正的工作,而另一些人则拥有敏感或专有数据需要保护。一般来说,防火墙的目是将那些无聊之人挡在你的网络之外,同时使你仍

16、可以完成工作。 许多传统风格的企业和数据中心都制定了计算安全策略和必须遵守的惯例。在一家公司的安全策略规定数据必须被保护的情况下,防火墙更显得十分重要,因为它是这家企业安全策略的具体体现。如果你的公司是一家大企业,连接到Internet上的最难做的工作经常不是费用或所需做的工作,而是让管理层信服上网是安全的。防火墙不仅提供了真正的安全性,而且还起到了为管理层盖上一条安全的毯子的重要作用。1.2.2 防火墙可以防范什么一些防火墙只允许电子邮件通过,因而保护了网络免受除对电子邮件服务攻击之外的任何攻击。另一些防火墙提供不太严格的保护措施,并且拦阻一些众所周知存在问题的服务。一般来说,防火墙在配置上

17、是防止来自“外部”世界未经授权的交互式登录的。这大大有助于防止破坏者登录到你网络中的计算机上。一些设计更为精巧的防火墙可以防止来自外部的传输流进入内部,但又允许内部的用户可以自由地与外部通信。如果你切断防火墙的话,它可以保护你免受网络上任何类型的攻击。 防火墙的另一个非常重要的特性是可以提供一个单独的“拦阻点”,在“拦阻点”上设置安全和审计检查。与计算机系统正受到某些人利用调制解调器拨入攻击的情况不同,防火墙可以发挥一种有效的“电话监听”(Phone tap)和跟踪工具的作用。防火墙提供了一种重要的记录和审计功能,它们经常可以向管理员提供一些情况概要,提供有关通过防火墙的传流输的类型和数量以及

18、有多少次试图闯入防火墙的企图等等信息。1.2.3 选择本课题的目的防火墙技术是一种综合性的网络安全技术,要了解防火墙先要了解TCP/IP网络协议,IP包结构等许多网络知识,对自己以后在网络方向的发展有着深远的意义。也可以把开发过程作为以后开发有商业价值的网络软件的初步探索,为以后的工作积累宝贵的经验。本防火墙是基于Linux(2.4.18内核)操作系统的。这是一种开源的,免费的操作系统,非常便于学习。通过在这个平台开发本软件,可以深入了解操作系统的内核,对内核级编程做一个初步尝试。也可以将对TCP/IP协议栈的认识得到升华。1.3 本人工作1.对防火墙的历史,现状,发展做了研究;2.掌握如何使

19、用Vmware搭建模拟网络实验环境;3.分析了Linux 2.4内核模块机制,了解了Linux下的C编程和Perl编程及Vim的使用;4.详细介绍了Netfilter的原理,并深入研究了钩子函数的使用方法和作用机制;5.利用Netfilter原理开发并实现了简单包过滤模块、实现IP地址过滤、端口过滤和日志记录等功能;6.对该防火墙的功能进行了测试;7.对本产品的优缺点进行了总结并对防火墙技术的发展趋势进行了展望。第2章防火墙知识与相关技术介绍2.1 防火墙原理古时候,人们常在寓所之间砌起一道砖墙,一旦火灾发生,它能够防止火势蔓延到别的寓所。自然,这种墙因此而得名“防火墙”。现在,如果一个网络链

20、接到了Internet上面,它的用户就可以访问外部网络并与之通信。但同时,外部世界也同样可以访问该网络并与之交互。为安全起见,可以在该网络和Internet之间插入一个中介系统,竖起一道安全屏障。这道屏障的作用是阻断来自外部通过网络对本网络的威胁和入侵, 提供扼守本网络的安全和审计的唯一关卡。这种中介系统也叫做“防火墙”,或“防火墙系统” 12。如图2-1:图2-1 防火墙示意图作为近年来新兴的保护计算机网络安全技术性措施,防火墙(Firewall)是一种隔离控制技术,在某个机构的网络和不安全的网络(如Internet)之间设置屏障,阻止不安全网络对信息资源的非法访问,也可以使用防火墙阻止专利

21、信息从企业的网络上被非法输出。防火墙是一种被动防卫技术,由于它假设了网络的边界和服务,因此对内部的非法访问难以有效地控制。因此,防火墙最适合于相对独立的与外部网络互连途径有限、网络服务种类相对集中的单一网络。作为Internet网的安全性保护软件,防火墙已经得到广泛的应用。通常企业为了维护内部的信息系统安全,在企业网和Internet间设立防火墙软件。企业信息系统对于来自Internet的访问,采取有选择的接收方式。它可以允许或禁止一类具体的IP地址访问,也可以接收或拒绝TCP/IP上的某一类具体的应用。如果在某一台IP主机上有需要禁止的信息或危险的用户,则可以通过设置使用防火墙过滤掉从该主机

22、发出的数据包。如果一个企业只是使用Internet的电子邮件和WWW服务器向外部提供信息,那么就可以在防火墙上设置,使得只有这两类应用的数据包可以通过。这对于路由器来说,就要不仅分析IP层的信息,而且还要进一步了解TCP传输层甚至应用层的信息以进行取舍。防火墙一般安装在路由器上以保护一个子网,也可以安装在一台主机上,保护这台主机不受侵犯12。2.2防火墙功能鉴于以上的原理,建立防火墙可以达到以下目的:1.管理进出网络的访问 防火墙允许网络管理员定义一个“阻塞点”来防止非法用户进入内部网络,禁止存在安全脆弱性的服务进出网络,来抗击网络攻击。2.保护网络上的脆弱的服务 防火墙通过过滤存在安全缺陷的

23、网络服务来降低内部网络遭受攻击的威胁,因为只有经过选择的网络服务才可以通过防火墙。3.检测和报警 在防火墙上可以很方便的监视网络的安全性,并产生报警。网络管理员通过防火墙日志可以审查常规记录并及时响应报警,以便知道防火墙或内部网络是否遭受攻击。4.集中安全性 如果一个内部网络的所有或者大部分需要改动的安全程序都集中到防火墙系统中,而不是分散到每一台主机上,这样防火墙的保护范围就相对集中,安全成本也就相对便宜,安全的管理也可以得到简化。5.内部地址隐藏 Internt防火墙是部署NAT(Network Address Translation,网络地址转化)的合适位置。因此防火墙可以用来缓解IP地

24、址短缺的问题,更可以隐藏内部网络的细节。6.增强保密性、强化私有权 对一些内部网络的节点而言,保密性是很重要的,finger和DNS服务经常会暴露内部网络节点的信息。使用防火墙系统可以阻塞此类服务,从而减少内部信息的泄漏。7.日志和统计 Internet防火墙是审计和记录Internet使用量的一个最佳地点。防火墙可以对正常网络使用情况做出统计,通过对统计节点分析,可以使网络资源得到最好的利用12。2.3 防火墙的体系结构实际构筑防火墙时,一般是将多个不同的部件放在一起,每个部件有各自解决问题的重点。实现防火墙的技术有很多种,如数据包过滤、应用网关和代理服务等。针对这些不同技术的防火墙又有不同

25、的结构,如双重宿主主机体系结构、被屏蔽主机体系结构和被屏蔽子网体系结构。下面就依次介绍这三种结构:2.3.1 双重宿主主机体系结构双重宿主主机体系结构是围绕具有双重宿主的主机计算机而构筑的,该计算机至少有两个网络接口。这样的主机可以充当与这些接口相连的网络之间的路由器:它能够从一个网络向另一个网络转发IP数据包。然而,实现双重宿主主机的防火墙体系结构禁止这种发送功能。因而,IP数据包从一个网络(例如外部网)并不是直接发送到其它网络(例如内部的被保护的网络)。防火墙内部的系统能与双重宿主主机通信,同时防火墙外部的系统能与双重宿主主机通信,但是这些系统不能直接互相通信。它们之间的IP通信被完全阻止

26、。双重宿主主机的防火墙体系结构是相当简单的:双重宿主主机位于两者之间,并且被连接到外部网和内部网10。网络结构如图2-2。图2-2 双重宿主主机体系结构2.3.2 屏蔽主机体系结构屏蔽主机体系结构中提供安全保护的主机仅仅与内部网络相连,另外有一台单独的过滤路由器连接内外网,这台路由器的意义就在于强迫所有到达路由器的数据包都被发送到壁垒主机。这种体系结构中过滤路由器是否正确配置是防火墙安全与否的关键,过滤路由器的路由表应当受到严格的保护,如果遭到破坏,数据包就不会被发送到壁垒主机上。在屏蔽路由器中,数据包过滤配置可以按下列之一执行:1.允许其他内部主机,为了某些服务而开放到因特网上的主机连接(允

27、许那些经由数据包过滤的服务)。2.不允许来自内部主机的所有连接(强迫这些主机经由堡垒主机使用代理服务)。这种体系结构通过数据包过滤来提供安全,而保卫路由器比保卫主机较易实现,因为它提供了非常有限的服务组,因此这种体系结构提供了比双重宿主主机体系结构更好的安全性和可用性。弊端是,若是侵袭者设法入侵堡垒主机,则在堡垒主机与其他内部主机之间无任何保护网络安全的东西存在;路由器同样可能出现单点失效,若被损害,则整个网络对侵袭者开放10。网络结构如图2-3。图2-3 屏蔽主机体网体系结构2.3.3 屏蔽子网体系结构屏蔽子网体系结构增加了一个把内部网与周边网络隔离的周边网络(也成为非军事区),从而进一步实

28、现屏蔽主机的安全性(如图2-4)。通过使用周边网络隔离壁垒主机能够削弱外部网络对壁垒主机的攻击10。2.4 包过滤技术的介绍2.4.1 什么是包过滤防火墙 一般是基于源地址和目的地址、应用、协议以及每个IP包的端口来作出通过与否的判断。一个路由器便是一个“传统”的包过滤防火墙,大多数的路由器都能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方,去向何处。防火墙检查每一条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建

29、立特定的连接,如Telnet、FTP连接1111。图2-4 屏蔽子网体系结构2.4.2 包过滤防火墙的工作层次 包过滤是一种内置于Linux内核路由功能之上的防火墙类型,其防火墙工作在网络层。2.4.3 包过滤器操作的基本过程 下面做个简单的叙述:1.包过滤规则必须被包过滤设备端口存储起来。2.当包到达端口时,对包报头进行语法分析。大多数包过滤设备只检查IP、TCP、或UDP报头中的字段。3.包过滤规则以特殊的方式存储。应用于包的规则的顺序与包过滤器规则存储顺序必须相同。4.若一条规则阻止包传输或接收,则此包便不被允许。5.若一条规则允许包传输或接收,则此包便可以被继续处理。6.若包不满足任何

30、一条规则,则此包便被阻塞。2.4.4 包过滤技术的优缺点 1.优点 对于一个小型的、不太复杂的站点,包过滤比较容易实现。因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。所以,过滤路由器有时也被称为“包过滤网关”或“透明网关”,之所被称为网关,是因为包过滤路由器和传统路由器不同,它涉及到了传输层。过滤路由器在价格上一般比代理服务器便宜。2.缺点 一些包过滤网关不支持有效的用户认证。规则表很快会

31、变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能性也会增加。这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。如果这个部件出现了问题,会使得网络大门敞开,而用户其至可能还不知道。在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。虽然,包过滤防火墙有如上所述的缺点,但是在管理良好的小规模网络上,它能够正常的发挥其作用。一般情况下,人们不单独使用包过滤网关,而是将它和其他设备(如堡垒主机等

32、)联合使用11。2.5 其他相关技术介绍2.5.1 代理应用代理网关防火墙彻底隔断内网与外网的直接通信,内网用户对外网的访问变成防火墙对外网的访问,然后再由防火墙转发给内网用户。所有通信都必须经应用层代理软件转发,访问者任何时候都不能与服务器建立直接的 TCP 连接,应用层的协议会话过程必须符合代理的安全策略要求。应用代理网关的优点是可以检查应用层、传输层和网络层的协议特征,对数据包的检测能力比较强。代理服务器的主要功能有:1.设置用户验证和记帐功能 可按用户进行记帐,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。2.对用户进行分级管理

33、 设置不同用户的访问权限,对外界或内部的Internet地址进行过滤,设置不同的访问权限。3.增加缓冲器(Cache),提高访问速度 对经常访问的地址创建缓冲区,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。4.连接Internet与Internet,充当防火墙(Firewall) 因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对

34、外部的访问权限。5.节省IP开销 代理服务器允许使用大量的伪IP地址,节约网上资源,即用代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用10.*.*.*这样的私有IP地址,这样可以节约大量的IP,降低网络的维护成本12。2.5.2 状态检测状态检测(stateful inspection)技术是防火墙近几年才应用的新技术。传统的包过滤防火墙只是通过检测IP包头的相关信息来决定数据流的通过还是拒绝,而状态检测技术采

35、用的是一种基于连接的状态检测机制,将属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别。这里动态连接状态表中的记录可以是以前的通信信息,也可以是其他相关应用程序的信息,因此,与传统包过滤防火墙的静态过滤规则表相比,它具有更好的灵活性和安全性。状态检测是由CheckPoint公司最先提出的,可算是防火墙技术的一项突破性变革,把包过滤的快速性和代理的安全性很好地结合在一起,目前已经是防火墙最流行的检测方式。状态检测的根本思想是对所有网络数据建立“连接”的概念,此“连接”是面向“连接”的协议之“连接”的扩展,对非连接协议数据也

36、可以建立虚拟连接。既然是连接,必然是有一定的顺序的,通信两边的连接状态也是有一定顺序进行变化的,就象打电话,一定要先拨号对方电话才能振铃,不可能没人拨铃就响了,那样的话一定是哪出了故障。防火墙的状态检测就是事先确定好连接的合法过程模式,如果数据过程符合这个模式,则说明数据是合法正确的,否则就是非法数据,应该被丢弃。下面用面向连接的TCP协议来作具体说明: TCP协议是一个标准的面向连接协议,在真正的通信前,必须按一定协议先建立连接,连接建立好后才能通信,通信结束后释放连接。连接建立过程称为三次握手,发起方先发送带有只SYN标志的数据包到目的方,目的方如果端口是打开允许连接的,就会回应一个带SY

37、N和ACK标志的数据包到发起方,发起方收到后再发送一个只带ACK标志的数据包到目地方,目的方收到后就可认为连接已经正确建立;在正常断开时,一方会发送带FIN标志的数据包到对方,表示本方已经不会再发送数据了,但还可以接收数据,对方接收后还可以发数据,发完后也会发带FIN标志的数据包,双方进入断开状态,经过一段时间后连接彻底删除。在异常情况会发送RST标志的包来执行异常断开,不论是在连接开始还是通信和断开过程。由此可见,第一,TCP的连接过程是一个有序过程,新连接一定是通过SYN包来开始的,如果防火墙里没有相关连接信息,就收到了一个非SYN的包,那该包一定是状态非法的,可以将其扔掉;其二,数据通信

38、过程是有方向性的,一定是发起方发送SYN,接收方发SYN ACK,不是此方向的数据就是非法的,由此状态检测可以实现A可以访问B而B却不能访问A的效果。一个连接可以用协议,源地址,目的地址,源端口,目的端口的五元组来唯一确定12。2.5.3 DMZ非军事化区DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP

39、服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡12。网络结构如图2-5。图2-5 DMZ网络结构2.5.4 NATNAT英文全称是“Network Address Translation”, 中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法公有网络IP地址的技术12。如图2-6:图2-6

40、 NAT2.6 LINUX防火墙概述近年来Linux得到了迅速的发展,这既得益于它的自由软件属性和稳定、高效、健壮的内核,也与Linux是一个高性能的网络操作系统密不可分。自从1995年ipfwadm开始进入Linux 1.2.1核心,Linux的防火墙实现有很长的时间了。ipfwadm实现了标准的TCP/IP包过滤功能, 比如过滤源地址与目的地址以及端口过滤。早在1999 年第一个稳定的2.2.0 核心中防火墙的实现被ipchains 替代了,ipchains 的新功能包括支持规则链,碎片包控制,较好的网络地址翻译功能(NAT) 以及其他一些有用的改进。我们需要明白Linux 防火墙包括核心

41、级代码( 通常是可加载核心模块或者核心源程序的补丁) 和用户级代码( 一个配置的工具,比如/usr/bin/ipchains,这是用来插入包规则到核心空间的)因此无论如何,只要新的Linux 防火墙代码被引入,核心和用户空间的有关代码都要改写。然而,Linux 2.4 内核中Netfilter/Iptables 的出现,所带来的最重要变化就是引入了模块化的架构方式。比如,ipchains和ipfwadm兼容模式是通过一个核心模块的设置实现的,该模块能够在运行的核心中插入,以便提供相应的通讯功能。在Netfilter/Iptables中用户自定义编码功能已经成为了可能,比如过滤一定范围的端口,根

42、据TTL 值和包的到达时间进行判断,对自定义的协议进行状态监视,对随机的数据包进行监视等,这些目前都还不是Netfilter/Iptables 的一部分,但是在未来将被实现。很多很有趣的新模块已经完成了,包括可以编写一个可加载的核心模块来创建核心级代码,通过用户级代码实现控制过滤器的行为等等12。2.7 防火墙技术的发展方向未来防火墙的操作系统会更安全。随着算法和芯片技术的发展,防火墙会更多地参与应用层分析,为应用提供更安全的保障。未来防火墙的发展趋势是朝高速、多功能化、更安全的方向发展。 从国内外历次测试的结果都可以看出,目前防火墙一个很大的局限性是速度不够。应用ASIC(Applicati

43、on-Specific Integrated Circuit)、FPGA(Field Programmable Gates Array)和网络处理器是实现高速防火墙的主要方法,其中以采用网络处理器最优,因为网络处理器采用微码编程,可以根据需要随时升级,甚至可以支持IPV6,而采用其它方法就不那么灵活。实现高速防火墙,算法也是一个关键,因为网络处理器中集成了很多硬件协处理单元,因此比较容易实现高速。对于采用纯CPU的防火墙,就必须有算法支撑,例如ACL(Access Control List)算法。目前有的应用环境,动辄应用数百乃至数万条规则,没有算法支撑,对于状态防火墙,建立会话的速度会十分缓

44、慢。 受现有技术的限制,目前还没有有效的对应用层进行高速检测的方法,也没有哪款芯片能做到这一点。因此,防火墙不适宜于集成内容过滤、防病毒和IDS(Intrusion Detection System)功能 (传输层以下的IDS除外,这些检测对CPU消耗小)。对于IDS,目前最常用的方式还是把网络上的流量镜像到IDS设备中处理,这样可以避免流量较大时造成网络堵塞。此外,应用层漏洞很多,攻击特征库需要频繁升级,对于处在网络出口关键位置的防火墙,如此频繁地升级也是不现实的。 这里还要提到日志问题,根据国家有关标准和要求,防火墙日志要求记录的内容相当多。随着网络流量越来越大,庞大的日志对日志服务器提出

45、了很高的要求。目前,业界应用较多的防火墙日志,采用的是文本方式,每一个字符都需要一个字节,对防火墙的带宽也是一个很大的消耗。二进制日志可以大大减小数据传送量,也方便数据库的存储、加密和事后分析。所以,支持二进制格式和日志数据库,是未来防火墙日志和日志服务器软件的一个基本要求。 多功能也是防火墙的发展方向之一,鉴于目前路由器和防火墙价格都比较高,组网环境也越来越复杂,一般用户总希望防火墙可以支持更多的功能,满足组网和节省投资的需要。例如,防火墙支持广域网口,并不影响安全性,但在某些情况下却可以为用户节省一台路由器;支持部分路由器协议,如路由、拨号等,可以更好地满足组网需要;支持IPSEC VPN(Virtual Private Network),可以利用因特网组建安全的专用通道,既安全又节省了专线投

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号