【基于linux包过滤的防火墙设计与实现8100字(论文)】_第1页
【基于linux包过滤的防火墙设计与实现8100字(论文)】_第2页
【基于linux包过滤的防火墙设计与实现8100字(论文)】_第3页
【基于linux包过滤的防火墙设计与实现8100字(论文)】_第4页
【基于linux包过滤的防火墙设计与实现8100字(论文)】_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

IV基于linux包过滤的防火墙设计与实现目录10834第一章绪论 1181661.1选题的意义 1122301.2研究内容 117875第二章网络安全概念及常用防火墙技术 2112982.1计算机网络安全的概念 2291842.2计算机防火墙中的常用技术 28051第三章Linux系统的特点 675873.1真正的多任务多用户操作系统 6175133.2具有强大的平台可伸缩性 633973.3unix操作系统的完整实现。 6224273.4强大的网络功能 713450第四章基于linux的网络防火墙技术 8107184.1IPFW防火墙技术 896414.2Ipchains防火墙技术 8241584.3Iptables防火墙技术 912723第五章防火墙的设计与实现 1112723第六章总结 1526590参考文献 17第一章绪论1.1选题的意义近年来,随着计算机网络技术的不断发展,网络应用逐渐普及。互联网已经成为人们日常生活中日益不可或缺的一部分,并逐渐成为一种无处不在、无处不在的资源。足不出户,人们就可以通过全球网络获取丰富的经济和文化信息,甚至可以实时获取世界各个角落正在发生的事情。但是,随着网络应用的不断普及和增加,由于计算机网络连接方式多样、终端分布不均、网络开放、网络资源共享等因素,网络安全问题越来越多。突出。因此,连接到Internet的计算机极易受到病毒、黑客、恶意软件和其他非法活动的攻击。因此,研究计算机网络安全和预防措施应提上议事日程,以确保信息在网络上的安全传输。防火墙技术是应用最广泛的网络安全技术,可以是一个或一组实现访问控制策略、软件、硬件或两者结合的系统。防火墙设计一般置于内外网之间,用于监控、控制和修改内外网之间的网络通信,控制外部计算机访问内部的环境,提供访问权限、控制时间和控制服务类型。总体而言,防火墙技术需要尽最大努力保护用户或企业信息免受破坏。在Internet上,黑客使用病毒、蠕虫和特洛伊木马等恶意代码来查找不安全的计算机。有些攻击只是恶作剧,但大多数都是恶意的,甚至可以删除有关您的计算机的信息、使您的系统崩溃或窃取相关的个人信息。保护变得更加重要。幸运的是,使用防火墙可以降低感染风险,因此调查、配置和测试计算机的防火墙当然是非常重要的,值得考虑。1.2研究内容本文所研究的内容以及工作主要如下:(1)阅读相关的资料文献,了解领域内相关技术等知识。(2)熟悉Linux操作系统的特点,并懂得相关的操作知识。(3)学习和研究Linux系统下网络防火墙技术的知识,初步学会如何配置防火墙。(4)熟练掌握配置的防火墙的测试工作,能根据需要配置出个人的防火墙。第二章网络安全概念及常用防火墙技术2.1计算机网络安全的概念计算机网络安全不仅包括组网的硬件、管理控制网络的软件,也包括共享的资源,快捷的网络服务,所以定义网络安全应考虑涵盖计算机网络所涉及的全部内容REF_Ref31068\r\h[1]。国际标准化组织(ISO)对计算机系统安全的定义是:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。参照ISO给出的计算机安全定义,认为计算机网络安全是指:“保护计算机网络系统中的硬件,软件和数据资源,不因偶然或恶意的原因遭到破坏、更改、泄露,使网络系统连续可靠性地正常运行,网络服务正常有序。”REF_Ref31157\r\h[2]2.2计算机防火墙中的常用技术2.2.1包过滤技术一种防火墙。传统的包过滤功能经常出现在路由器上,专用的防火墙系统通常会添加状态检测等功能增强功能。它通过检查单个数据包的地址、协议、端口等信息来决定是否允许该数据包通过。包过滤防火墙是最简单的防火墙类型,它在网络层拦截网络数据包,根据防火墙规则表检测攻击行为。包过滤防火墙通常运行在网络层(IP层),这就是为什么它们也被称为网络层防火墙(IPLilters)或IP过滤器[3]。包过滤是指在网络层对数据包进行分析和选择。通过检查每个数据包或数据流组合的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素来确定是否允许数据包的吞吐量。在网络层提供较少的安全性和管理。包过滤技术(IPFilteringorpacketfiltering)的原理是对网络上传入和传出的IP包进行监控和过滤[4],拒绝发送可疑包。基于特定协议的标准,路由器在其端口上区分和限制数据包的能力称为数据包过滤。由于Internet和Intranet之间的大多数连接都需要路由器,因此路由器成为内部和外部通信的重要端口。路由器制造商在路由器中添加了IP过滤,被过滤的路由器也可以称为包过滤路由器或被过滤路由器(PacketFilterRouter)。防火墙通常是具有数据包过滤功能的简单路由器。防火墙应该足够安全,但前提是配置正确。然而,很难确定一个包过滤规则是否完全严格和必要,因此在安全要求较高的情况下,一般会使用其他技术来提高安全性[5]。2.2.2NAT技术网络地址翻译(NAT,NetworkAddressTranslation)最初的设计目的是增加在专用网络中可使用的IP地址数,但现在则用于屏蔽内部主机。NAT的工作原理:为了解决IP地址的不足问题,提出了网络地址翻译的方法。NAT能处理IP数据包,将其中的地址部分进行转换,对内部和外部IP进行直接映射,从一批可使用的外部IP地址池中动态选择一个地址分配给内部主机,或者不但转换IP地址,还转换端口地址,从而使多个内部主机能够共享一个外部IP地址。[6]NAT通过将专用网络中的专用IP地址转换成在Internet上使用的全球唯一的公共IP地址,从而实现对黑客有效地隐藏所有TCP/IP级的有关内部主机信息的功能,使外部主机无法探测到它们。所以NAT实质上是一个基本代理,即一个主机充当代理,代表内部所有主机发出请求,从而将内部主机的身份从公用网上隐藏起来了。[7]NAT技术使得一个私有网络可以通过internet注册IP连接到外部世界,位于inside网络和outside网络中的NAT路由器在发送数据包之前,负责把内部IP翻译成外部合法地址。内部网络的主机不可能同时与外部网络通信,所以只有一部分内部地址需要翻译。当映射一个外部IP到内部地址时,可以利用TCP的loaddistribution技术。使用这个特征时,内部主机基于round-robin机制,将外部进来的新连接定向到不同的主机上去。Loaddistribution只有在影射外部地址到内部地址的时候才有效。NAT防火墙最基本的翻译模式:按照普及程度和可用性顺序,翻译模式包括:静态翻译。在这种模式中,一个指定的内部网络源有一个从改变的固定翻译表。动态翻译。在这种模式中,为了隐藏内部主机的身份或扩展内部网的地址空间,一个大的Internet客户群共享单一一个或一组小的InternetIP地址。负载平衡翻译。在这种模式中,一个IP地址和端口被翻译为同等配置的多个服务器的一个集中处,这样一个公共地址可以为许多服务器服务。网络冗余翻译。在这种模式中,多个Internet连接被附加在一个NAT防火墙上,从而防火墙根据负载和可用性对这些连接进行选择和使用。网络地址翻译都和IP数据包过滤一起使用,就构成一种更复杂的包过滤型的防火墙。仅仅具有包过滤能力的路由器,其防火墙能力还是比较弱,反抗外部入侵的能力也较差,而和网络地址翻译技术相结合,就能起到更好的安全确保。2.2.3应用代理技术代理服务是另一种类型的防火墙,通常是在主机上运行的软件模块。代理服务器与路由器的合作,路由器实现了内外网交互中的流量趋势,将所有相关的应用服务请求转发给代理服务器。代理服务影响应用层,其特点是对网络的通信流进行完全“阻塞”。通过对每个应用服务使用专门的代理程序,可以对应用层的通信流进行监控和控制。代理服务的核心是中介的角色,不允许内网和外网直接通信。工作原理描述如下:1、外网用户想使用内网的应用服务器时,实际上是要求运行在防火墙中的代理软件进行连接。2.代理服务器代表其请求并连接到应用系统。3、应用系统响应代理服务器。4.代理服务器响应外网用户。外网用户与应用服务器之间的数据传输通过代理服务器进行中介,外网用户不能直接与应用服务器通信,以防止外部用户的攻击。一般情况下,代理服务器是专门为特定的应用服务服务的,不同的应用服务可以设置不同的代理服务器,如FTP代理服务器、TELNET代理服务器等。目前,许多内部网络同时使用包过滤路由器和代理来保证内部网络的安全,并取得了很好的效果。应用代理技术的发展阶段:在代理防火墙技术的发展过程中,经历了两个不同的版本,分别是第一代应用网关型代理防火墙和第二代自适应代理防火墙。应用网关(ApplicationGateway)第1代防火墙此类防火墙通过代理技术参与整个TCP连接过程。当一个内部传输的数据包被这样的防火墙处理时,它从防火墙的外部网卡出现,可以隐藏内部的网络结构。此类防火墙已被网络安全专家和媒体公认为最安全的防火墙。核技术是代理技术。第二代自适应代理(Adaptiveproxy)防火墙它是近年来才被广泛使用的一种新型防火墙。它可以将代理防火墙的安全优势与包过滤防火墙的高速度相结合,在不丢失数据的情况下将代理防火墙的性能提高10倍以上。这样的防火墙由两个基本元素组成:自适应代理服务器(AdaptiveProxyServer)和动态数据包过滤器(DynamicPacketfilter)。在自适应代理和动态包过滤器之间有一个控制通道。配置防火墙时,用户只需通过关联的代理管理界面设置所需的服务类型、安全级别等信息。然后自适应代理服务器可以根据用户的配置信息决定是使用代理服务器来处理应用层代理请求还是转发网络层数据包。在后一种情况下,包过滤器被动态警告增加或减少过滤规则,以满足用户的双倍速度和安全要求。代理防火墙最明显的好处是安全性。因为它工作在顶层,它可以过滤和保护网络每一层的流量,而不仅仅是网络层,比如包过滤。另外,代理防火墙实现了代理机制,可以为每个应用服务创建自己的代理,所以内外网之间的通信不是直接的,而是必须经过代理的监控和批准。反过来,代理连接到内部和外部网络上的计算机并且不提供直接会话,从而防止入侵者使用基于知识的攻击来渗透内部网络。代理防火墙的主要缺点是速度相对较慢:当用户对内外网网关提出很高的性能要求时,代理防火墙成为内网和外网之间的瓶颈。因为防火墙需要为不同的网络服务创建专门的代理服务,并且需要自己的代理连接内外部网络用户,这对系统性能有一定的负面影响,但通常并不明显。第三章Linux系统的特点Linux操作系统是Unix计算机上操作系统的总称。它是芬兰人LinusTorvald作为业余爱好者发明的,Linux操作系统的名称也由此衍生而来。如今,它已成为一个完整的32位计算机操作系统,其性能可与商业x86Unix操作系统相媲美。Linux操作系统是免费软件,系统的源代码发布在单独的网站上。因此,它引起了全世界操作系统爱好者的关注,不断对Linux进行适配和补充,并与各种系统协同测试,使Linux更加完善和成熟。Linux操作系统的特点:3.1真正的多任务多用户操作系统很少有操作系统提供真正的多任务处理能力,虽然许多操作系统声称支持多任务处理,但它并不完全准确。另一方面,Linux充分利用X86CPU的任务切换机制,实现了真正的多任务多用户环境,允许多个用户同时运行不同的程序,为紧急任务提供更好的性能。3.2具有强大的平台可伸缩性Linux可以在超过386台机器和各种RISC架构上运行。Linux最初诞生于微计算环境,很多版本都充分利用了X86CPU的任务切换特性,让X86CPU的性能得到充分发挥,这点就连Windows都没有。Linux可以在笔记本电脑、PC、工作站甚至超级计算机上使用,并且可以在几乎任何基于主要CPU芯片(包括Intel/AMD和RISC芯片,如HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等)构建的架构上运行。3.3Unix操作系统的完整实现在开发方面,Linux与其他操作系统的区别在于Linux是从一个比较成熟的UNIX操作系统发展而来的,大多数UNIX命令都可以在Linux上找到和改进。我们可以把它看成是Unix系统的一个变种,所以UNIX的可靠性、稳定性和强大的网络、强大的数据库支持和良好的透明性等优良特性在Linux中都可见一斑。并且在Linux开发过程中,Linux用户可以极大地受益于Unix社区的投入,并可以立即获得与Unix相关的类似支持和帮助。POSIX是基于UNIX的操作系统集群的第一个国际标准,Linux遵循该标准,允许多个UNIX应用程序轻松迁移到Linux,反之亦然。Linux的图形用户界面是Xwindow系统。Xwindow可以在MSWindows中做任何事情,而且更有趣、更丰富,用户甚至可以在不同的窗口之间来回切换。3.4强大的网络功能事实上,Linux是依靠Internet迅速发展起来的,Linux拥有强大的网络能力是很自然的。它可以很容易地集成到TCP/IP、LANManager、WindowsforWorkgroups、NovellNetware或WindowsNT网络中,也可以通过以太网或调制解调器连接到Internet。Linux不仅可以用作网络工作站,还可以用于多个服务器,例如X应用程序服务器、文件服务器、打印服务器、电子邮件服务器、新闻服务器等。Linux支持一系列UNIX开发,是一个完整的UNIX开发平台,几乎所有主流编程语言都移植到Linux上并免费提供如C、C++、Fortran77、ADA、PASCAL、Modual2和3、Tcl/TkScheme,SmallTalk/X等。第四章基于linux的网络防火墙技术4.1IPFW防火墙技术包的全称是Ipfwadm,Ipfwadm包允许你创建规则,可以用来控制哪些包可以进出网络。简单来说,防火墙就是一对交换机,一个允许数据包通过,另一个阻止数据包通过。现代防火墙系统通常具有附加功能,例如日志链、加密身份验证、地址屏蔽和VPN。作为安全交换机,防火墙可以配置两种安全策略:1.禁止任何不被允许的事情;2.任何不被禁止的都是允许的。显然,在上述两种策略中,策略一的安全性明显高于策略二,但它以灵活性和可用资源为代价提高了安全性。ipfwadm提供IP封装,允许用户访问Internet上的公共IP地址空间。4.2Ipchains防火墙技术在Linux内核的下一个版本中,ipchains将取代ipfwadm。它提供更严格的数据包过滤控制,并具有完整的防火墙功能,例如数据包过滤、地址屏蔽和透明代理。Linux2.2内核中的ipchain通过四个防火墙规则的列表来管理防火墙规则。这些列表称为防火墙链。这些是IP供应链、IP输出链、IP转发链和用户定义链。链条实际上是一张规则表。所谓规则,是指如果检测到的包头符合规则的定义,则按照预设的设置对包进行处理。供应链是指内部连接请求的过滤规则。结果链是指外部连接请求的过滤规则。转发链是转发内部和外部通信数据包的过滤规则。用户定义的链是用户定义的规则。当一个包进入Linux防火墙系统时,Linux内核使用feed链来决定如何处理这个包。如果数据包没有被丢弃,内核使用转发链来决定是否转发数据包输出。如果数据包没有被丢弃,内核使用结果链在发送退出消息之前最终决定是丢弃还是转发数据包。如果上述过程的供应链决定处理这个数据包,内核必须决定将下一个数据包发送到哪里,即路由。如果没有找到匹配的设置,则包必须输入目标值定义的以下字符串:在这种情况下,目标值可以是用户定义的字符串或特定值,例如ACCEPT、DENY、REJECT、MASQ、REDIREC,RESET等用于转发链和自定义链。REDIRECT用于指示内核将数据包重定向到本地端口。该值仅适用于Feed链和用户自定义链。并且只有UDP和TCP协议可以使用这个值。IPMasquerading可以配置一个IP链转发链到Linux系统。事实上,IP伪装是一种比包过滤策略更安全的解决方案。它不仅可以提供安全机制,还可以解决互联网上IP地址资源不足的问题。IP伪装允许计算机在使用Internet时将真实IP地址传递给另一个地址。如果连接到Internet的主机有IP掩码,您可以使用LAN或PPP拨号连接连接到Internet。此类主机在使用PPP时根本没有自己的官方IP地址。这表明主机可以隐藏在网关后面访问互联网。这不仅使主机能够访问互联网,而且还隐藏(即隐藏)对外部世界的访问。显然,这种伪装使系统非常安全。外界并不完全知晓宿主的存在,因此无法接触,更不可能渗透或闯入宿主。伪装通常使用IANA保留的私有地址来完成。防火墙转发链由IP伪装组成,内网主机向Internet发送IP访问数据包后,内核将源IP地址替换为网关IP地址,注册被屏蔽的IP地址,然后将数据包通过IP发送出去。Internet对此数据包的响应当数据包到达Internet网关时,内核会采取措施去除IP伪装。即,将目标地址替换为内部地址。通过适当的配置,IP伪装可以在特定的网段、主机、接口、协议或特定协议的某些端口上实现。这是非常灵活的。IP伪装提供了出色的保护,因为它可以保护内部网络细节免受外部网络的影响。4.3Iptables防火墙技术与2.2内核提供的IP链相比,从2.4版本开始,内核提供了更好的灵活性和可扩展性。相比IP链,Iptables有5个观察点,每个观察点要处理的函数都是通过在全局变量nf-hook中注册nf-register-hook函数来注册的。当数据包到达该标识点时,执行注册的操作根据预定义的优先级进行。相比2.2内核提供的IP链,Iptables不仅实现了包过滤功能,还通过Netfilter的可扩展性和灵活性实现了一套完整的帧结构。Iptables系统中的默认表是一个过滤器,它包含一个INPUT链、一个FORWARD链和一个OUTPUT链。每个链可以定义一个或多个规则,每个规则定义如下:当数据包到达链中时,系统从第一行开始检查它是​​否满足该规则设置的条件。如果满足,则系统按照规则指定的方法处理数据包,如果不满足,则继续检查下一条规则。如果包裹不遵循任何链式规则,则系统根据预定义的策略处理包裹。iptables/Netfilter内置在Linux内核中,因此可以将相关的软件包编译到内核中,完成Iptables防火墙的安装。Netfilter框架可以在内核2.3.5及更高版本中实现。将包重新编译到内核中时,必须选择一个Netfilter相关的项目。这些项目通常位于“网络选项”子项中。注意Iptables和Ipchains/Ipfwadm是相反的,使用Iptables时不能同时使用Ipchains/Ipfwadm文件。选择所需选项后,您就可以完成翻译过程了。iptables实际上是一个操作过滤规则的工具。Iptables工具允许您访问Netfilter中的线程和规则。iptables基本上使用与IP链相同的语法和命令格式。除了使用链和规则外,Iptables还提供了其他功能,例如通过--source/-src/-s指定源地址,使用--destination/--dst/-s指定目标地址;使用--protocol/-p选项配置协议,例如-ptcp;使用--in-interface/-i或--out-interface/-o命令配置网络接口;确定IP分段等。第五章防火墙的设计与实现当用户进行IP地址及过滤时首先分别编写iptables规则进行测试,允许从Internet访问网关服务器的指定端口。测试结果如图5-1所示:图5-1测试结果图然后允许来自外网指定主机进行访问,并记录日志信息。记录日志信息结果如图4-2所示:图5-2记录日志信息结果图允许来自内网指定主机的访问。测试结果如图5-3所示:图5-3测试结果图允许指定局域网段使用服务器。测试结果如图5-4所示:图5-4测试结果图允许局域网主机访问DNS服务器。测试结果如图5-5所示:图5-5测试结果图现在就完成了IP地址的过滤,需要在主计算机上进行调试,完成过滤,输入需要过滤的源IP地址的信息和目标IP地址的信息,进行测试查看测试结果。IP地址及过滤流程图如图5-6所示:图5-6IP地址及过滤流程图其中输入的IP地址必须要准确,输入目标IP地址,选择好协议类型,点击进行过滤就可以了,有关代码如下:#ifdef

_DEBUG#define

new

DEBUG_NEW#endif#define

EXIT_ON_ERROR(fnName)

\

if

(result

!=

ERROR_SUCCESS)

\

{

\

strError.Format(L"%s

failed

(%08x)",

fnName,result);\

MessageBox(strError,_T("ERROR"),MB_OK);\

FwpmEngineClose0(engine);\

EndDialog(0);\

return;\

} extern

std::vector<std::pair<UINT64,

FILTER_INFO>>

filter_info_v;HANDLE

shareEngine

=

NULL;GUID

subLayerGUID

=

{0};上面代码就是开始过滤信息,过滤出目的IP地址及端口号,根据用户的输入信息来进行过滤的。该程序的主界面如图5-7所示: 图5-7程序主界面展示图现在就可以开始过滤了过滤时首先点击IP及端口过滤,然后可以输入目的IP地址信息,选择合适的协议类型,然后点击确定,此时你就拥有了一条属于你自己的过滤规则,然后你可以点击启动过滤,此时你可以发现,启动过滤完成,IP地址过滤完成,我的设计理念就是首先要过滤IP首先要有协议类型,才可以进行过滤。完成这一步接下来就是考虑了要指定过滤规则,先指定过滤规则,才能完成过滤呀,于是用户可以设定协议类型,然后输入想要过滤的数据信息,设计的防火墙就用用户规定完成过滤,过滤完成可以停止过滤,也可以继续重新添加新的信息进行过滤。停止过滤就是可以让用户选择等

温馨提示

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

最新文档

评论

0/150

提交评论