防火墙原理入门Word文档下载推荐.docx
- 文档编号:16725633
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:29
- 大小:53.53KB
防火墙原理入门Word文档下载推荐.docx
《防火墙原理入门Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《防火墙原理入门Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
1.包过滤防?
第一代:
静态包过滤
这种类型的防火墙根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。
过滤规则基于数据包的报头信息进行制订。
报头信息中包括IP源地址、IP目标地址、传输协议(TCP、UDP、ICMP等等)、TCP/UDP目标端口、ICMP消息类型等。
包过滤类型的防火墙要遵循的一条基本原则是"
最小特权原则"
,即明确允许那些管理员希望通过的数据包,禁止其他的数据包。
第二代:
动态包过滤
这种类型的防火墙采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。
这种技术后来发展成为所谓包状态监测(StatefulInspection)技术。
采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更绿跄俊?
2.代理防火墙
代理防火墙
代理防火墙也叫应用层网关(ApplicationGateway)防火墙。
这种防火墙通过一种代理(Proxy)技术参与到一个TCP连接的全过程。
从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。
这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。
它的核心技术就是代理服务器技术。
所谓代理服务器,是指代表客户处理在服务器连接请求的程序。
当代理服务器得到一个客户的连接意图时,它们将核实客户请求,并经过特定的安全化的Proxy应用程序处理连接请求,将处理后的请求传递到真实的服务器上,然后接受服务器应答,并做进一步处理后,将答复交给发出请求的最终客户。
代理服务器在外部网络向内部网络申请服务时发挥了中间转接的作用。
代理类型防火墙的最突出的优点就是安全。
由于每一个内外网络之间的连接都要通过Proxy的介入和转换,通过专门为特定的服务如Http编写的安全化的应用程序进行处理,然后由防火墙本身提交请求和应答,没有给内外网络的计算机以任何直接会话的机会,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网。
包过滤类型的防火墙是很难彻底避免这一漏洞的。
就像你要向一个陌生的重要人物递交一份声明一样,如果你先将这份声明交给你的律师,然后律师就会审查你的声明,确认没有什么负面的影响后才由他交给那个陌生人。
在此期间,陌生人对你的存在一无所知,如果要对你进行侵犯,他面对的将是你的律师,而你的律师当然比你更加清楚该如何对付这种人。
代理防火墙的最大缺点就是速度相对比较慢,当用户对内外网络网关的吞吐量要求比较高时,(比如要求达到75-100Mbps时)代理防火墙就会成为内外网络之间的瓶颈。
所幸的是,目前用户接入Internet的速度一般都远低于这个数字。
在现实环境中,要考虑使用包过滤类型防火墙来满足速度要求的情况,大部分是高速网(ATM或千兆位以太网等)之间的防火墙。
第二代:
自适应代理防火墙
自适应代理技术(Adaptiveproxy)是最近在商业应用防火墙中实现的一种革命性的技术。
它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。
组成这种类型防火墙的基本要素有两个:
自适应代理服务器(AdaptiveProxyServer)与动态包过滤器(DynamicPacketfilter)。
在自适应代理与动态包过滤器之间存在一个控制通道。
在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。
然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。
如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。
小资料
防火墙的发展史
第一代防火墙
第一代防火墙技术几乎与路由器同时出现,采用了包过滤(Packetfilter)技术。
下图表示了防火墙技术的简单发展历史。
第二、三代防火墙
1989年,贝尔实验室的DavePresotto和HowardTrickey推出了第二代防火墙,即电路层防火墙,同时提出了第三代防火墙--应用层防火墙(代理防火墙)的初步结构。
第四代防火墙
1992年,USC信息科学院的BobBraden开发出了基于动态包过滤(Dynamicpacketfilter)技术的第四代防火墙,后来演变为目前所说的状态监视(Statefulinspection)技术。
1994年,以色列的CheckPoint公司开发出了第一个采用这种技术的商业化的产品。
第五代防火墙
1998年,NAI公司推出了一种自适应代理(Adaptiveproxy)技术,并在其产品GauntletFirewallforNT中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火墙。
防火墙的工作原理
"
黑客会打上我的主意吗?
"
这么想就对了,黑客就想钻鸡蛋缝的苍蝇一样,看到一丝从系统漏洞发出的光亮就会蠢蠢欲动!
好,如何保护你的网络呢?
计算机的高手们也许一张嘴就提议你安装网络的防火墙,那么第一个问题就来了:
到底什么是防火墙呢?
什么是防火墙?
防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。
在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。
天下的防火墙至少都会说两个词:
Yes或者No。
直接说就是接受或者拒绝。
最简单的防火墙是以太网桥。
但几乎没有人会认为这种原始防火墙能管多大用。
大多数防火墙采用的技术和标准可谓五花八门。
这些防火墙的形式多种多样:
有的取代系统上已经装备的TCP/IP协议栈;
有的在已有的协议栈上建立自己的软件模块;
有的干脆就是独立的一套操作系统。
还有一些应用型的防火墙只对特定类型的网络连接提供保护(比如SMTP或者HTTP协议等)。
还有一些基于硬件的防火墙产品其实应该归入安全路由器一类。
以上的产品都可以叫做防火墙,因为他们的工作方式都是一样的:
分析出入防火墙的数据包,决定放行还是把他们扔到一边。
所有的防火墙都具有IP地址过滤功能。
这项任务要检查IP包头,根据其IP源地址和目标地址作出放行/丢弃决定。
看看下面这张图,两个网段之间隔了一个防火墙,防火墙的一端有台UNIX计算机,另一边的网段则摆了台PC客户机。
当PC客户机向UNIX计算机发起telnet请求时,PC的telnet客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。
接下来,协议栈将这个TCP包"
塞"
到一个IP包里,然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机。
在这个例子里,这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机。
现在我们"
命令"
(用专业术语来说就是配制)防火墙把所有发给UNIX计算机的数据包都给拒了,完成这项工作以后,"
心肠"
比较好的防火墙还会通知客户程序一声呢!
既然发向目标的IP数据没法转发,那么只有和UNIX计算机同在一个网段的用户才能访问UNIX计算机了。
还有一种情况,你可以命令防火墙专给那台可怜的PC机找茬,别人的数据包都让过就它不行。
这正是防火墙最基本的功能:
根据IP地址做转发判断。
但要上了大场面这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了。
不过根据地址的转发决策机制还是最基本和必需的。
另外要注意的一点是,不要用DNS主机名建立过滤表,对DNS的伪造比IP地址欺骗要容易多了。
服务器TCP/UDP端口过滤
仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,比方说,我们不想让用户采用telnet的方式连到系统,但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧?
所以说,在地址之外我们还要对服务器的TCP/UDP端口进行过滤。
比如,默认的telnet服务连接端口号是23。
假如我们不许PC客户机建立对UNIX计算机(在这时我们当它是服务器)的telnet连接,那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包,把其中具有23目标端口号的包过滤就行了。
这样,我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗?
不,没这么简单。
客户机也有TCP/UDP端口
TCP/IP是一种端对端协议,每个网络节点都具有唯一的地址。
网络节点的应用层也是这样,处于应用层的每个应用程序和服务都具有自己的对应"
地址"
,也就是端口号。
地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系。
比如,telnet服务器在端口23侦听入站连接。
同时telnet客户机也有一个端口号,否则客户机的IP栈怎么知道某个数据包是属于哪个应用程序的呢?
由于历史的原因,几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号。
只有UNIX计算机上的root用户才可以访问1024以下的端口,而这些端口还保留为服务器上的服务所用。
所以,除非我们让所有具有大于1023端口号的数据包进入网络,否则各种网络连接都没法正常工作。
这对防火墙而言可就麻烦了,如果阻塞入站的全部端口,那么所有的客户机都没法使用网络资源。
因为服务器发出响应外部连接请求的入站(就是进入防火墙的意思)数据包都没法经过防火墙的入站过滤。
反过来,打开所有高于1023的端口就可行了吗?
也不尽然。
由于很多服务使用的端口都大于1023,比如Xclient、基于RPC的NFS服务以及为数众多的非UNIXIP产品等(NetWare/IP)就是这样的。
那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗?
连这些客户程序都不敢说自己是足够安全的。
双向过滤
OK,咱们换个思路。
我们给防火墙这样下命令:
已知服务的数据包可以进来,其他的全部挡在防火墙之外。
比如,如果你知道用户要访问Web服务器,那就只让具有源端口号80的数据包进入网络:
不过新问题又出现了。
首先,你怎么知道你要访问的服务器具有哪些正在运行的端口号呢?
象HTTP这样的服务器本来就是可以任意配置的,所采用的端口也可以随意配置。
如果你这样设置防火墙,你就没法访问哪些没采用标准端口号的的网络站点了!
反过来,你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器。
有些黑客就是利用这一点制作自己的入侵工具,并让其运行在本机的80端口!
检查ACK位
源地址我们不相信,源端口也信不得了,这个不得不与黑客共舞的疯狂世界上还有什么值得我们信任呢?
还好,事情还没到走投无路的地步。
对策还是有的,不过这个办法只能用于TCP协议。
TCP是一种可靠的通信协议,"
可靠"
这个词意味着协议具有包括纠错机制在内的一些特殊性质。
为了实现其可靠性,每个TCP连接都要先经过一个"
握手"
过程来交换连接参数。
还有,每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应。
但并不是对每个TCP包都非要采用专门的ACK包来响应,实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了。
所以,只要产生了响应包就要设置ACK位。
连接会话的第一个包不用于确认,所以它就没有设置ACK位,后续会话交换的TCP包就要设置ACK位了。
举个例子,PC向远端的Web服务器发起一个连接,它生成一个没有设置ACK位的连接请求包。
当服务器响应该请求时,服务器就发回一个设置了ACK位的数据包,同时在包里标记从客户机所收到的字节数。
然后客户机就用自己的响应包再响应该数据包,这个数据包也设置了ACK位并标记了从服务器收到的字节数。
通过监视ACK位,我们就可以将进入网络的数据限制在响应包的范围之内。
于是,远程系统根本无法发起TCP连接但却能响应收到的数据包了。
这套机制还不能算是无懈可击,简单地举个例子,假设我们有台内部Web服务器,那么端口80就不得不被打开以便外部请求可以进入网络。
还有,对UDP包而言就没法监视ACK位了,因为UDP包压根就没有ACK位。
还有一些TCP应用程序,比如FTP,连接就必须由这些服务器程序自己发起。
FTP带来的困难
一般的Internet服务对所有的通信都只使用一对端口号,FTP程序在连接期间则使用两对端口号。
第一对端口号用于FTP的"
命令通道"
提供登录和执行命令的通信链路,而另一对端口号则用于FTP的"
数据通道"
提供客户机和服务器之间的文件传送。
在通常的FTP会话过程中,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行LOGIN、DIR等各种命令。
一旦用户请求服务器发送数据,FTP服务器就用其20端口(数据通道)向客户的数据端口发起连接。
问题来了,如果服务器向客户机发起传送数据的连接,那么它就会发送没有设置ACK位的数据包,防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了。
通常只有高级的、也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口,然后才许可对该端口的入站连接。
UDP端口过滤
好了,现在我们回过头来看看怎么解决UDP问题。
刚才说了,UDP包没有ACK位所以不能进行ACK位过滤。
UDP是发出去不管的"
不可靠"
通信,这种类型的服务通常用于广播、路由、多媒体等广播形式的通信任务。
NFS、DNS、WINS、NetBIOS-over-TCP/IP和NetWare/IP都使用UDP。
看来最简单的可行办法就是不允许建立入站UDP连接。
防火墙设置为只许转发来自内部接口的UDP包,来自外部接口的UDP包则不转发。
现在的问题是,比方说,DNS名称解析请求就使用UDP,如果你提供DNS服务,至少得允许一些内部请求穿越防火墙。
还有IRC这样的客户程序也使用UDP,如果要让你的用户使用它,就同样要让他们的UDP包进入网络。
我们能做的就是对那些从本地到可信任站点之间的连接进行限制。
但是,什么叫可信任!
如果黑客采取地址欺骗的方法不又回到老路上去了吗?
有些新型路由器可以通过"
记忆"
出站UDP包来解决这个问题:
如果入站UDP包匹配最近出站UDP包的目标地址和端口号就让它进来。
如果在内存中找不到匹配的UDP包就只好拒绝它了!
但是,我们如何确信产生数据包的外部主机就是内部客户机希望通信的服务器呢?
如果黑客诈称DNS服务器的地址,那么他在理论上当然可以从附着DNS的UDP端口发起攻击。
只要你允许DNS查询和反馈包进入网络这个问题就必然存在。
办法是采用代理服务器。
所谓代理服务器,顾名思义就是代表你的网络和外界打交道的服务器。
代理服务器不允许存在任何网络内外的直接连接。
它本身就提供公共和专用的DNS、邮件服务器等多种功能。
代理服务器重写数据包而不是简单地将其转发了事。
给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都躲在代理的后面,露面的不过是代理这个假面具。
小结
IP地址可能是假的,这是由于IP协议的源路有机制所带来的,这种机制告诉路由器不要为数据包采用正常的路径,而是按照包头内的路径传送数据包。
于是黑客就可以使用系统的IP地址获得返回的数据包。
有些高级防火墙可以让用户禁止源路由。
通常我们的网络都通过一条路径连接ISP,然后再进入Internet。
这时禁用源路由就会迫使数据包必须沿着正常的路径返回。
还有,我们需要了解防火墙在拒绝数据包的时候还做了哪些其他工作。
比如,防火墙是否向连接发起系统发回了"
主机不可到达"
的ICMP消息?
或者防火墙真没再做其他事?
这些问题都可能存在安全隐患。
ICMP"
主机不可达"
消息会告诉黑客"
防火墙专门阻塞了某些端口"
,黑客立即就可以从这个消息中闻到一点什么气味。
如果ICMP"
是通信中发生的错误,那么老实的系统可能就真的什么也不发送了。
反过来,什么响应都没有却会使发起通信的系统不断地尝试建立连接直到应用程序或者协议栈超时,结果最终用户只能得到一个错误信息。
当然这种方式会让黑客无法判断某端口到底是关闭了还是没有使用。
防火墙安全及效能分析
网络防火墙早已是一般企业用来保护企业网络安全的主要机制。
然而,企业网络的整体安全涉及的层面相当广,防火墙不仅无法解决所有的安全问题,防火墙所使用的控制技术、自身的安全保护能力、网络结构、安全策略等因素都会影响企业网络的安全性。
在众多影响防火墙安全性能的因素中,有些是管理人员可以控制的,但是有些却是在选择了防火墙之后便无法改变的特性,其中一个很关键的就是防火墙所使用的存取控制技术。
目前防火墙的控制技术大概可分为:
封包过滤型(PacketFilter)、封包检验型(StatefulInspectionPacketFilter)以及应用层闸通道型(ApplicationGateway)。
这三种技术分别在安全性或效能上有其特点,不过一般人往往只注意防火墙的效能而忽略了安全性与效率之间的冲突。
本文针对防火墙这三种技术进行说明,并比较各种方式的特色以及可能带来的安全风险或效能损失。
封包过滤型:
封包过滤型的控制方式会检查所有进出防火墙的封包标头内容,如对来源及目地IP、使用协定、TCP或UDP的Port等信息进行控制管理。
现在的路由器、SwitchRouter以及某些操作系统已经具有用PacketFilter控制的能力。
封包过滤型控制方式最大的好处是效率高,但却有几个严重缺点:
管理复杂,无法对连线作完全的控制,规则设置的先后顺序会严重影响结果,不易维护以及记录功能少。
封包检验型:
封包检验型的控制机制是通过一个检验模组对封包中的各个层次做检验。
封包检验型可谓是封包过滤型的加强版,目的是增加封包过滤型的安全性,增加控制"
连线"
的能力。
但由于封包检验的主要检查对象仍是个别的封包,不同的封包检验方式可能会产生极大的差异。
其检查的层面越广将会越安全,但其相对效能也越低。
封包检验型防火墙在检查不完全的情况下,可能会造成问题。
去年被公布的有关Firewall-1的FastModeTCPFragment的安全弱点就是其中一例。
这个为了增加效能的设计反而成了安全弱点。
应用层闸通道型:
应用层闸通道型的防火墙采用将连线动作拦截,由一个特殊的代理程序来处理两端间的连线的方式,并分析其连线内容是否符合应用协定的标准。
这种方式的控制机制可以从头到尾有效地控制整个连线的动作,而不会被client端或server端欺骗,在管理上也不会像封包过滤型那么复杂。
但必须针对每一种应用写一个专属的代理程序,或用一个一般用途的代理程序来处理大部分连线。
这种运作方式是最安全的方式,但也是效能最低的一种方式。
防火墙是为保护安全性而设计的,安全应是其主要考虑。
因此,与其一味地要求效能,不如去思考如何在不影响效能的情况下提供最大的安全保护。
上述三种运作方式虽然在效能上有所区别,但我们在评估效能的同时,必须考虑这种效能的差异是否会对实际运作造成影响。
事实上,对大部份仍在使用T1以下或未来的xDSL等数Mbps的"
宽带"
网而言,即便是使用ApplicationGateway也不会真正影响网络的使用效能。
在这种应用环境下,防火墙的效能不应该是考虑的重点。
但是,当防火墙是架在企业网络的不同部门之间时,企业就必须考虑这种效能上的牺牲是否可以接受。
深入浅出谈防火墙
随着计算机网络技术的突飞猛进,网络安全的问题已经日益突出地摆在各类用户的面前。
仅从笔者掌握的资料表明,目前在互联网上大约有将近20%以上的用户曾经遭受过黑客的困扰。
尽管黑客如此猖獗,但网络安全问题至今仍没有能够引起足够的重视,更多的用户认为网络安全问题离自己尚远,这一点从大约有40%以上的用户特别是企业级用户没有安装防火墙(Firewall)便可以窥见一斑,而所有的问题都在向大家证明一个事实,大多数的黑客入侵事件都是由于未能正确安装防火墙而引发的。
防火墙的概念及作用
防火墙的本义原是指古代人们房屋之间修建的那道墙,这道墙可以防止火灾发生的时候蔓延到别的房屋。
而这里所说的防火墙当然不是指物理上的防火墙,而是指隔离在本地网络与外界网络之间的一道防御系统,是这一类防范措施的总称。
应该说,在互联网上防火墙是一种非常有效的网络安全模型,通过它可以隔离风险区域(即Internet或有一定风险的网络)与安全区域(局域网)的连接,同时不会妨碍人们对风险区域的访问。
防火墙可以监控进出网络的通信量,从而完成看似不可能的任务;
仅让安全、核准了的信息进入,同时又抵制对企业构成威胁的数据。
随着安全性问题上的失误和缺陷越来越普遍,对网络的入侵不仅来自高超的攻击手段,也有可能来自配置上的低级错误或不合适的口令选择。
因此,防火墙的作用是防止不希望的、未授权的通信进出被保护的网络,迫使单位强化自己的网络安全政策。
一般的防火墙都可以达到以下目的:
一是可以限制他人进入内部网络,过滤掉不安全服务和非法用户;
二是防止入侵者接近你的防御设施;
三是限定用户访问特殊站点;
四是为监视Internet安全提供方便。
由于防火墙假设了网络边界和服务,因此更适合于相对独立的网络,例如Intranet等种类相对集中的网络。
防火墙正在成为控制对网络系统访问的非常流行的方法。
事实上,在Internet上的Web网站中,超过三分之一的Web网站都是由某种形式的防火墙加以保护,这是对黑客防范最严,安全性较强的一种方式,任何关键性的服务器,都建议放在防火墙之后。
防火墙的架构与工作方式
防火墙可以使用户的网络划规划更加清
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 防火墙 原理 入门