随着Internet的迅速发展,网络越来越成为了人们日常生活不可或缺的一部分,而随之引出的网络安全问题也越来越突出,成为人们不得不关注的问题。
为了在一个不安全的网际环境中构造出一个相对安全的环境,保证子网环境下的计算机的安全运行免受到外部的侵害,针对当前的网络问题,本文主要介绍了几种流行的防火墙技术及其工作原理。在防火墙的基本概念、作用和基本类型的基础上,重点分析了linux诸版本中所使用的基于包过滤型防火墙的工作原理,并在此基础上对linux2.4版本出现的iptables技术作了详细的构架环境分析以及实现,以此来测试和部署出一个较为安全的网络环境,使得在一个不安全的网络环境中有效防范外部网络的攻击行为,让整个网络具有较高的安全级别。
关键词: 防火墙、网络安全、Linux、包过滤技术、Iptables
Abstract
With the rapid development of Internet, the network is more and more become an integral part of People’s daily life, and subsequently leads to the problem of network security that has become increasingly prominent, as people have concerns.
In order to construct a relatively safe environment in a secure environment, to ensure the subnet environment of computer security operation and not infringed by the external, in view of the current network problems, this paper mainly introduces several popular firewall technology and how it works. On the basis of the basic concept, role and basic types behind a firewall, we mainly analys its working principle,which is based on the working principle of packet filter firewall in each version of Linux,and based on that, we analyzed in detail and achieve the structure environment of iptables technology which appears in version 2.4 of Linux,and use it to test and deploy a safer network environment,which will make computers can effectively guard against external network attack behavior in an unsafe network environment, let whole network has a higher level of security.
Key Words: firewall、Network Security、Linux、Packet filtering technology、Iptables
第1章 绪论 1
1.1 选题的意义 1
1.2 研究内容与论文工作 1
1.3 论文的组织 2
第2章 网络安全概念及常用防火墙技术 3
2.1 计算机网络安全的概念 3
2.2 计算机防火墙中的常用技术 3
第3章 Linux系统的特点 10
第4章 基于linux的网络防火墙技术 12
第5章 linux网络防火墙的架构环境 16
第6章 linux网络防火墙的实验方法 19
第7章 总结及进一步研究 23
7.1 总结 23
7.2 进一步研究 23
参考文献 25
致谢 26
1.1 选题的意义
近年来,计算机网络技术的不断发展,使得网络应用逐渐得到普及。网络已经越来越成为了人们日常生活不可或缺的一部分,逐渐成为了一个无所不在、无所不用的工具。足不出户,人们便可以了解到全球网络上面丰富的经济、文化等信息,甚至即时的了解到世界上任何一个角落所正在发生的事情。而然,随着网络应用的不断普及和增多,网络安全问题也越来越突出,这源于计算机网络连接方式的多样性、终端分布不均性、网络开放性以及网络资源共享性等因素。因此连接到互联网上的计算机非常容易遭受到病毒、黑客、恶意软件和其他一些非法行为的攻击。所以为了确保网络上信息的安全传输,计算机网络的安全与防范措施的研究必然要提上议事日程。
防火墙技术是一种目前使用最为广泛的网络安全防护技术,它可以是一个或者一组实施访问控制策略的系统,可以是软件、硬件亦或者是两者的结合,其目的是提供一种对网络的安全保护策略。防火墙的设计通常位于内部网络与外部网络之间,以实现监视、控制和改变内部和外部网络之间流动的网络通信,控制外部计算机对内部访问的环境,确定访问的时间、权限、服务类型和质量等。总而言之,防火墙技术是要尽最大的努力来保护用户或者企业的信息不受侵害。
在Internet上面,黑客使用恶意代码,比如说病毒、蠕虫、特洛伊木马等等来尝试查找未受保护的计算机。虽然有些攻击仅仅是一种恶作剧,但是很大部分的攻击确实怀有恶意的,甚至有的攻击试图去删除您所用计算机中的信息,使系统崩溃或者窃取相关隐私信息,这就使得信息保护的意思尤为重要。幸运的是,我们可以通过使用防火墙来降低感染的风险,所以研究、配置和测试计算机的防火墙自然是我们非常关系和值得考虑的问题。
1.2 研究内容与论文工作
本文所研究的内容以及工作主要如下:
(1)阅读相关的资料文献,了解领域内相关技术等知识。
(2)熟悉Linux操作系统的特点,并懂得相关的操作知识。
(3)学习和研究Linux系统下网络防火墙技术的知识,初步学会如何配置防火墙。
(4)熟练掌握配置的防火墙的测试工作,能根据需要配置出个人的防火墙。
1.3 论文的组织
(1)第二章,介绍计算机网络安全的基本概念以及常用的网络防火墙技术。
(2)第三章,介绍linux系统的特点
(3)第四章,介绍基于linux操作系统的网络防火墙技术,并介绍相关技术的构架环境,进而实现linux网络防火墙。
(4)第五章,介绍linux网络防火墙的架构环境
(5)第六章,介绍linux网络防火墙的实验方法
(4)第七章,对本文进行总结,指出本文研究的成果、存在的不足以及自身对项目的体会。
2.1 计算机网络安全的概念
计算机网络安全不仅包括组网的硬件、管理控制网络的软件,也包括共享的资源,快捷的网络服务,所以定义网络安全应考虑涵盖计算机网络所涉及的全部内容。国际标准化组织(ISO)对计算机系统安全的定义是:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。参照ISO给出的计算机安全定义,认为计算机网络安全是指:“保护计算机网络系统中的硬件,软件和数据资源,不因偶然或恶意的原因遭到破坏、更改、泄露,使网络系统连续可靠性地正常运行,网络服务正常有序。”
2.2 计算机防火墙中的常用技术
2.2.1 包过滤技术
防火墙的一类。传统的包过滤功能在路由器上常可看到,而专门的防火墙系统一般在此之上加了功能的扩展,如状态检测等。它通过检查单个包的地址,协议,端口等信息来决定是否允许此数据包通过。
包过滤防火墙是最简单的一种防火墙,它在网络层截获网络数据包,根据防火墙的规则表,来检测攻击行为。包过滤防火墙一般作用在网络层(IP层),故也称网络层防火墙(Network Lev Firewall)或IP过滤器(IP filters)。数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。在网络层提供较低级别的安全防护和控制。
包过滤技术(IP Filtering or packet filtering) 的原理在于监视并过滤网络上流入流出的IP包,拒绝发送可疑的包。基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫包过滤(Packet Filtering)。由于Internet 与Intranet 的连接多数都要使用路由器,所以Router成为内外通信的必经端口,Router的厂商在Router上加入IP 过滤 功能,过滤路由器也可以称作包过滤路由器或筛选路由器(Packet FilterRouter)。防火墙常常就是这样一个具备包过滤功能的简单路由器,这种Firewall应该是足够安全的,但前提是配置合理。然而一个包过滤规则是否完全严密及必要是很难判定的,因而在安全要求较高的场合,通常还配合使用其它的技术来加强安全性。
包过滤技术的工作原理。路由器逐一审查数据包以判定它是否与其它包过滤规则相匹配。每个包有两个部分:数据部分和包头。过滤规则以用于IP顺行处理的包头信息为基础,不理会包内的正文信息内容。包头信息包括:IP 源地址、IP目的地址、封装协议(TCP、UDP、或IP Tunnel)、TCP/UDP源端口、ICMP包类型、包输入接口和包输出接口。如果找到一个匹配,且规则允许这包,这一包则根据路由表中的信息前行。如果未找到一个匹配,且规则拒绝此包,这一包则被舍弃。如果无匹配规则,一个用户配置的缺省参数将决定此包是前行还是被舍弃。
包过滤规则允许Router取舍以一个特殊服务为基础的信息流,因为大多数服务检测器驻留于众所周知的TCP/UDP端口。
包过滤防火墙的分类。它包括静态包过滤类型防火墙和动态包过滤类型防火墙。
静态包过滤类型防火墙这类防火墙几乎是与路由器同时产生的,它是根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。过滤规则基于数据包的报头信息进行制订。报头信息中包括IP源地址、IP目标地址、传输协议(TCP、UDP、ICMP等等)、TCP/UDP目标端口、ICMP消息类型等。
动态包过滤类型防火墙。这类防火墙采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。这种技术后来发展成为包状态监测(Stateful Inspection)技术。采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。
包过滤技术包括两种基本类型。无状态检查的包过滤和有状态检查的包过滤。其区别在于后者通过记住防火墙的所有通信状态,并根据状态信息来过滤整个通信流,而不仅仅是包。
有许多方法可以绕过包过滤器进入Internet,包过滤技术存在以下几个缺陷:
1. TCP只能在第0个分段中被过滤。
2. 特洛伊木马可以使用NAT来使包过滤器失效。
3. 许多包过滤器允许1024以上的端口通过。
典型过滤规则介绍。典型的过滤规则有以下几种:允许特定名单内的内部主机进行Telnet输入对话、只允许特定名单内的内部主机进行FTP输入对话、只允许所有Telnet 输出对话、只允许所有FTP 输出对话、拒绝来自一些特定外部网络的所有输入信息。
有些类型的攻击很难用基本包头信息加以鉴别,因为这些独立于服务。一些Router可以用来防止这类攻击,但过滤规则需要增加一些信息,而这些信息只有通过以下方式才能获悉:研究Router选择表、检查特定的IP选项、校验特殊的片段偏移等。这类攻击有以下几种:
源IP地址欺骗攻击:入侵者从伪装成源自一台内部主机的一个外部地点传送一些信息包;这些信息包似乎像包含了一个内部系统的源IP地址。如果这些信息包到达Router的外部接口,则舍弃每个含有这个源IP地址的信息包,就可以挫败这种源欺骗攻击。
源路由攻击:源站指定了一个信息包穿越Internet时应采取的路径,这类攻击企图绕过安全措施,并使信息包沿一条意外(疏漏)的路径到达目的地。可以通过舍弃所有包含这类源路由选项的信息包方式,来挫败这类攻击。
残片攻击:入侵者利用IP残片特性生成一个极小的片断并将TCP报头信息肢解成一个分离的信息包片断。舍弃所有协议类型为TCP、IP片断偏移值等于1的信息包,即可挫败残片的攻击。
从以上可看出定义一个完善的安全过滤规则是非常重要的。通常,过滤规则以表格的形式表示,其中包括以某种次序排列的条件和动作序列。每当收到一个包时,则按照从前至后的顺序与表格中每行的条件比较,直到满足某一行的条件,然后执行相应的动作(转发或舍弃)。有些数据包过滤在实现时,“动作”这一项还询问,若包被丢弃是否要通知发送者(通过发ICMP信息),并能以管理员指定的顺序进行条件比较,直至找到满足的条件。
对流进和流出网络的数据进行过滤可以提供一种高层的保护。建议过滤规则如下:
(1)任何进入内部网络的数据包不能把网络内部的地址作为源地址。
(2)任何进入内部网络的数据包必须把网络内部的地址作为目的地址。
(3)任何离开内部网络的数据包必须把网络内部的地址作为源地址。
(4)任何离开内部网络的数据包不能把网络内部的地址作为目的地址。
(5)任何进入或离开内部网络的数据包不能把一个私有地址(private address)或在RFC1918中 127.0.0.0/8.)的地址作为源或目的地址。
(6)阻塞任意源路由包或任何设置了IP选项的包。
(7)保留、DHCP自动配置和多播地址也需要被阻塞。0.0.0.0/8 、169.254.0.0/16 、192.0.2.0/24 、224.0.0.0/4 、240.0.0.0/4。
包过滤技术的优点:
(1)一个过滤路由器能协助保护整个网络。绝大多数Internet防火墙系统只用一个包过滤路由器;
(2)过滤路由器速度快、效率高。执行包过滤所用的时间很少或几乎不需要什么时间,由于过滤路由器只检查报头相应的字段,一般不查看数据报的内容,而且某些核心部分是由专用硬件实现的,如果通信负载适中且定义的过滤很少的话,则对路由器性能没有多大影响;
(3)包过滤路由器对终端用户和应用程序是透明的。当数据包过滤路由器决定让数据包通过时,它与普通路由器没什么区别,甚至用户没有认识到它的存在,因此不需要专门的培训或在每主机上设置特别的软件。
包过滤技术的局限性:
(1)定义包过滤器可能是一项复杂的工作。因为网管员需要详细地了解Internet各种服务、包头格式和他们在希望每个域查找的特定的值。如果必须支持复杂的过滤要求的,则过滤规则集可能会变得很长很复杂,并且没有什么工具可以用来验证过滤规则的正确性。
(2)路由器信息包的吞吐量随过滤器数量的增加而减少。路由器被优化用来从每个包中提取目的IP地址、查找一个相对简单的路由表,而后将信息包顺向运行到适当转发接口。如果过滤可执行,路由器还必须对每个包执行所有过滤规则。这可能消耗CPU的资源,并影响一个完全饱和的系统性能。
(3)不能彻底防止地址欺骗。大多数包过滤路由器都是基于源IP地址、目的IP地址而进行过滤的,而IP地址的伪造是很容易、很普遍的。
(4)一些应用协议不适合于数据包过滤。即使是完美的数据包过滤,也会发现一些协议不很适合于经由数据包过滤安全保护。如RPC、X- Window和FTP。而且服务代理和HTTP的链接,大大削弱了基于源地址和源端口的过滤功能。
(5)正常的数据包过滤路由器无法执行某些安全策略。例如,数据包说它们来自什么主机,而不是什么用户,因此,我们不能强行限制特殊的用户。同样地,数据包说它到什么端口,而不是到什么应用程序,当我们通过端口号对高级协议强行限制时,不希望在端口上有别的指定协议之外的协议,而不怀好意的知情者能够很容易地破坏这种控制。
(6)一些包过滤路由器不提供任何日志能力,直到闯入发生后,危险的封包才可能检测出来。它可以阻止非法用户进入内部网络,但也不会告诉我们究竟都有谁来过,或者谁从内部进入了外部网络。
2.2.2 NAT技术
网络地址翻译(NAT,Network Address Translation)最初的设计目的是增加在专用网络中可使用的IP地址数,但现在则用于屏蔽内部主机。
NAT的工作原理:
为了解决IP地址的不足问题,提出了网络地址翻译的方法。NAT能处理IP数据包,将其中的地址部分进行转换,对内部和外部IP进行直接映射,从一批可使用的外部IP地址池中动态选择一个地址分配给内部主机,或者不但转换IP地址,还转换端口地址,从而使多个内部主机能够共享一个外部IP地址。
NAT通过将专用网络中的专用IP地址转换成在Internet上使用的全球唯一的公共IP地址,从而实现对黑客有效地隐藏所有TCP/IP级的有关内部主机信息的功能,使外部主机无法探测到它们。所以NAT实质上是一个基本代理,即一个主机充当代理,代表内部所有主机发出请求,从而将内部主机的身份从公用网上隐藏起来了。
NAT技术使得一个私有网络可以通过internet注册IP连接到外部世界,位于inside网络和outside网络中的NAT路由器在发送数据包之前,负责把内部IP翻译成外部合法地址。内部网络的主机不可能同时与外部网络通信,所以只有一部分内部地址需要翻译。
当映射一个外部IP到内部地址时,可以利用TCP的load distribution技术。使用这个特征时,内部主机基于round-robin机制,将外部进来的新连接定向到不同的主机上去。Load distribution只有在影射外部地址到内部地址的时候才有效。
NAT防火墙最基本的翻译模式:
按照普及程度和可用性顺序,翻译模式包括:
静态翻译。在这种模式中,一个指定的内部网络源有一个从改变的固定翻译表。
动态翻译。在这种模式中,为了隐藏内部主机的身份或扩展内部网的地址空间,一个大的Internet客户群共享单一一个或一组小的Internet IP地址。
负载平衡翻译。在这种模式中,一个IP地址和端口被翻译为同等配置的多个服务器的一个集中处,这样一个公共地址可以为许多服务器服务。
网络冗余翻译。在这种模式中,多个Internet连接被附加在一个NAT防火墙上,从而防火墙根据负载和可用性对这些连接进行选择和使用。
网络地址翻译都和IP数据包过滤一起使用,就构成一种更复杂的包过滤型的防火墙。仅仅具有包过滤能力的路由器,其防火墙能力还是比较弱,反抗外部入侵的能力也较差,而和网络地址翻译技术相结合,就能起到更好的安全确保。
2.2.3 应用代理技术
代理服务是另一种类型的防火墙,它通常是一个软件模块,运行在一台主机上。代理服务器与路由器的合作,路由器实现内部和外部网络交互时的信息流导向,将所有的相关应用服务请求传递给代理服务器。代理服务作用在应用层,其特点是完全“阻隔”了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用。
代理服务的实质是中介作用,它不允许内部网和外部网之间进行直接的通信。其工作原理说明如下:
1、当外部网的用户希望访问内部网某个应用服务器时,实际上是向运行在防火墙上的代理服务软件提出请求,建立连接。
2、由代理服务器代表它向要访问的应用系统提出请求,建立连接。
3、应用系统给予代理服务器响应,
4、代理服务器给予外部网用户以响应。
外部网用户与应用服务器之间的数据传输全部由代理服务器中转,外部网用户无法直接与应用服务器交互,避免了来自外部用户的攻击。
通常代理服务是针对特定的应用服务而言的,不同的应用服务可以设置不同的代理服务器,如FTP代理服务器、TELNET代理服务器等。 目前,很多内部网络都同时使用分组过滤路由器和代理服务器来保证内部网络的安全性,并且取得了较好的效果。
应用代理技术的发展阶段:
在代理型防火墙技术的发展过程中,经历了两个不同的版本,即第一代应用网关型代理防火墙和第二代自适应代理防火墙。
第一代应用网关(Application Gateway)型防火墙
这类防火墙是通过一种代理(Proxy)技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样, 从而可以达到隐藏内部网结构的作用。这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。它的核心技术就是代理服务器技术。
第二代自适应代理(Adaptive proxy)型防火墙
它是近几年才得到广泛应用的一种新防火墙类型。它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。组成这种类型防火墙的基本要素有两个,它们分别是自适应代理服务器(Adaptive Proxy Server)与动态包过滤器(Dynamic Packet filter)。在“自适应代理服务器”与 “动态包过滤器”之间存在一个控制通道。在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。
代理类型防火墙的最突出的优点就是安全。由于它工作于最高层,所以它可以对网络中任何一层数据通信进行筛选保护,而不是像包过滤那样,只是对网络层的数据进行过滤。
另外代理型防火墙采取是一种代理机制,它可以为每一种应用服务建立一个专门的代理,所以内外部网络之间的通信不是直接的,而都需先经过代理服务器审核,通过后再由代理服务器代为连接,根本没有给内、外部网络计算机任何直接会话的机会,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网。
代理防火墙的最大缺点就是速度相对比较慢,当用户对内外部网络网关的吞吐量要求比较高时,代理防火墙就会成为内外部网络之间的瓶颈。因为防火墙需要为不同的网络服务建立专门的代理服务,在自己的代理程序为内、外部网络用户建立连接时需要时间,所以给系统性能带来了一些负面影响,但通常不会很明显。
代理的优点:
Linux操作系统是一类Unix计算机操作系统的统称。它是一个名字叫做Linus Torvald的芬兰人业余发明的,linux操作系统的名字由来也源于此。先如今它已经成为了一个羽翼丰满的32位计算机的操作系统,其性能可以和商业的x86Unix操作系统想媲美。Linux操作系统是一款自由软件,并且在专用的网站上公布了该系统的源代码。因此,引起了全世界操作系统爱好者的兴趣,不断地对linux进行修改和补充,并在各种系统配合下进行测试,这使得linux日趋完善和成熟。
Linux操作系统的特点:
在众多网络防火墙产品中,Linux操作系统上的防火墙软件特点显著。首先是Linux操作系统作为一个类Unix网络操作系统,在系统的稳定性、健壮性都独具优势。更何况,Linux不但本身的源代码完全开放,而且系统包含了建立Internet网络环境所需要的所有服务软件包,如Apache Web服务器、DNS服务器、Mail服务器、Database服务器等。同样,基于Linux的防火墙软件不但具有强大的功能,而且大部分都是开放软件。
Linux内核从1.1版本开始,就已经具备包过滤功能。第一代是linux内核1.1版本所使用的AlanCox从BSO Unix中移植过来的ipfw。在2.0的内核中,对ipfw进行了扩展,并且添加了ipfwadm用户工具,所以在2.0的内核中,开始采用ipfwadm来操作内核的包过滤规则。到了2.2版的内核中,添加了帮助用户控制过滤规则的ipchains工具,所以此版本中,linux内核采用了ipchains来控制内核的包过滤规则,后来又发展完成了其名为netfilter的内核框架。发展到2.4.x时,Ipchains被一个全新的包过滤管理工具Iptables所替代,netfilter/iptables可以实现防火墙、NAT和数据包的分割等功能。因此,无论拥有哪个版本的Linux内核,无论选择哪个版本的Linux来构建自己的企业网,都可以利用现有的系统构建出一个理想实用的防火墙。
Linux提供的防火墙软件包内置于linux内核中,是一种基于包过滤型的防火墙实现技术,其中心思想是根据网络层IP包头中的源地址、目的地址以及包类型等信息来控制包的流向,更为彻底的过滤则是要检查包中的源端口、目的端口以及连接状态等信息。
下面将就linux所提供的ipfw、ipchains和iptables三种最为实用的防火墙技术作分析介绍,重点介绍iptables的实现。
4.1 IPFW防火墙技术:
该软件包的全称是Ipfwadm,Ipfwadm程序包提供了建立规则的能力,根据这些规则可以确定允许什么样的包进出本网络。简单说来,防火墙就是一对开关,一个开关允许包通过,另一个开关禁止包通过。现代防火墙系统一般都会附加审计跟踪、加密认证、地址伪装和VPN等多种功能。作为一个安全开关,防火墙可定义的安全策略有两个:
5.1环境搭建
软件:VMware workstation
版本:7.1.4 build-385536
系统:Red hat enterprise linux 6.0
图5-1运行界面
5.2主要实验命令:
Iptables包过滤防火墙实现的主要命令参数
图6-1root身份进入 清空防火墙规则
iptables -N DOS #新增一条名为DOS的新链用来防范DOS攻击
iptables -A DOS -m limit --limit 100/s -j ACCEPT #接受最大平均流量为每秒100个包
iptables -A DOS -m limit --limit 300/s -j DROP #拒绝最大平均流量为每秒300个包
iptables -A DOS -m limit --limit 310/s -j LOG --log-prefix “DOS”
–log-level 3
#将最大平均流量为每秒310个包记录日志,日志名为DOS,日志级别为3
图6-2新增一条名为DOS的新链用来防范DOS攻击
允许ip为baidu.com的机访问A机的Web服务,服务监听80端口
图6-3设置Web服务和服务监听端口
允许ip为122.96.80.81的主机访问本机的SMTP服务, 服务监听25端口
图6-4设置主机访问本机的SMTP服务,和服务监听端口
Linux NAT 服务器配置
图6-5 LinuxNAT 服务器配置
将linux服务器配置成NAT服务器,带动另一个linux局域网客户端上Internet
1.清除原有的filter中的规则
图6-6清除原有的filter中的规则
2.设置防火墙,对内,对外,转发的包设为丢弃。
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP
图6-7 设置防火墙,对内,对外转发的包为丢弃
3.设置防火墙,对转发的包设为允许通过
iptables –P FORWARD ACCEPT
图6-8 设置防火墙,对转发的包设为允许通过
4.NAT设置,将nat表的包的源地址伪装成eth0的合法的IP地址
iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
图6-9 NAT设置
5.查看nat表的规则
iptables –t nat –L
图6-10 查看NAT表的规则
6.保存规则
service iptables save
7.重启iptables服务
service iptables restart
图6-12 能够上网
7.1 总结
本文首先介绍了网络应用中所主要用到的三个防火墙技术。Linux以其公开的源代码、强大稳定的网络功能和大量的免费资源受到业界的普遍赞扬。Linux防火墙其实是操作系统本身所自带的一个功能模块。通过安装特定的防火墙内核,Linux操作系统会对接收到的数据包按一定的策略进行处理,而用户所要做的,就是使用特定的配置软件(如ipchains)去定制适合自己的“数据包处理策略”。所以本文在介绍了Linux系统的特点之后又进一步介绍了Linux操作系统下的各个版本的防火墙技术,并通过实践,完成了linux系统下的防火墙的配置,并通过实验来验证了相关防火墙技术配置的有效性。
7.2 进一步研究
从以上分析可以知道,防火墙技术经理了包过滤、应用代理网关再到状态检测三个阶段。而这三种技术都有很大的缺陷。
包过滤防火墙它工作在网络层,对数据包的源及目的IP具有识别和控制作用,由于只对数据包的IP地址、TCP/UDP协议和端口进行了分析,故而处理速度较快,但是,其缺点也是非常的明显而且是根本性的。该技术不能防范黑客攻击、不至此应用层协议、对于新出现的威胁更是无法处理,所以该技术太过初级,无法完成保护内网安全的职责。
应用代理网关技术是彻底阻断内网与外网的直接通信,所有通信都必须经应用层代理软件转发,访问者任何时候都不能和服务器建立直接的TCP连接,对数据包的检测能力比较强,但是带来的缺点也非常的突出。应用代理网关技术难于配置,一旦配置出错,将影响到内网的安全防范能力;处理速度非常地慢,不能支持大规模的并发连接,所以对速度要求较高的行业来说,该技术难以实现。
状态检测技术在大为提到安全防范能力的同时也改进了流量的处理速度,其采用了一系列优化的技术,使得防火墙性能大幅度得到提升,能应用在各个网络环境中,所以一般高性能的防火墙都采用了状态检测技术。
所以从各个技术的优缺点以及当今社会的现状发展趋势看,我们可以进一步研究如何让防火墙在远程办公中有效地抵抗外部攻击的同时又能合法的实现远程访问,实现更细粒度的访问控制;黑客的攻击是网络防火墙防御的主要职责,从受到攻击的协议和端口来看,http协议是最受攻击的协议(相应的端口为80端口),所以进一步的研究方向可以考虑在现有的防火墙产品中,尽可能地关闭80端口;能够进行数据包的深度检测,防火墙应该能够分辨并组织数据包的恶意行为,包检测技术的方案是需要增加签名检测 从而分辨出正常和异常的数据流。所以我们可以进一步实现这些功能。与此同时,在当前防火墙性能不减的前提下,能够进一步提高其处理的速度也是我们进一步研究的方向。
[1] 黎连业. 防火墙及应用技术. 北京:清华大学出版社,2005-10-19
[2] 王斌. 防火墙与网络安全——入侵检测和VPNs.北京:清华大学出版社,2005-5-13
[3] 包过滤技术.http://baike.baidu.com/view/3026687.htm#sub3026687
[4] 李洋. Linux安全技术内幕. 北京:清华大学出版社,2010-6-7
[5] 刘晓辉. 交换机·路由器·防火墙. 北京:电子工业出版社,2007-08