[电脑基础知识]防火墙基础知识介绍.doc
《[电脑基础知识]防火墙基础知识介绍.doc》由会员分享,可在线阅读,更多相关《[电脑基础知识]防火墙基础知识介绍.doc(56页珍藏版)》请在三一办公上搜索。
1、内容提要:防火墙原理入门(1) 防火墙能增强机构内部网络的安全性。防火墙系统决定了哪些内部服务可以被外界访问;外界的哪些人可以访问内部的服务以及哪些外部服务可以被内部人员访问。防火墙必须只允许授权的数据通过,而且防火墙本身也必须能够免于渗透。防火墙的五大功能 一般来说,防火墙具有以下几种防火墙原理入门(1) 防火墙能增强机构内部网络的安全性。防火墙系统决定了哪些内部服务可以被外界访问;外界的哪些人可以访问内部的服务以及哪些外部服务可以被内部人员访问。防火墙必须只允许授权的数据通过,而且防火墙本身也必须能够免于渗透。防火墙的五大功能 一般来说,防火墙具有以下几种功能: 1允许网络管理员定义一个中
2、心点来防止非法用户进入内部网络。 2可以很方便地监视网络的安全性,并报警。 3可以作为部署NAT(Network Address Translation,网络地址变换)的地点,利用NAT技术,将有限的IP地址动态或静态地与内部的IP地址对应起来,用来缓解地址空间短缺的问题。 4是审计和记录Internet使用费用的一个最佳地点。网络管理员可以在此向管理部门提供Internet连接的费用情况,查出潜在的带宽瓶颈位置,并能够依据本机构的核算模式提供部门级的计费。 两种防火墙技术的对比包过滤防火墙 优点 价格较低 性能开销小,处理速度较快 缺点 定义复杂,容易出现因配置不当带来问题 允许数据包直接通
3、过,容易造成数据驱动式攻击的潜在危险 代理防火墙 内置了专门为了提高安全性而编制的Proxy应用程序,能够透彻地理解相关服务的命令,对来往的数据包进行安全化处理 速度较慢,不太适用于高速网(ATM或千兆位以太网等)之间的应用 5可以连接到一个单独的网段上,从物理上和内部网段隔开,并在此部署WWW服务器和FTP服务器,将其作为向外部发布内部信息的地点。从技术角度来讲,就是所谓的停火区(DMZ)。 防火墙的两大分类 尽管防火墙的发展经过了上述的几代,但是按照防火墙对内外来往数据的处理方法,大致可以将防火墙分为两大体系:包过滤防火墙和代理防火墙(应用层网关防火墙)。前者以以色列的Checkpoint
4、防火墙和Cisco公司的PIX防火墙为代表,后者以美国NAI公司的Gauntlet防火墙为代表。 1包过滤防? 第一代:静态包过滤 这种类型的防火墙根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。过滤规则基于数据包的报头信息进行制订。报头信息中包括IP源地址、IP目标地址、传输协议(TCP、UDP、ICMP等等)、TCP/UDP目标端口、ICMP消息类型等。包过滤类型的防火墙要遵循的一条基本原则是“最小特权原则”,即明确允许那些管理员希望通过的数据包,禁止其他的数据包。 图1 简单包过滤防火墙防火墙原理入门(2) 第二代:动态包过滤 这种类型的防火墙采用动态设置包过滤
5、规则的方法,避免了静态包过滤所具有的问题。这种技术后来发展成为所谓包状态监测(Stateful Inspection)技术。采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更绿跄俊? 图2 动态包过滤防火墙 2 代理防火墙 第一代:代理防火墙 代理防火墙也叫应用层网关(Application Gateway)防火墙。这种防火墙通过一种代理(Proxy)技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙
6、。它的核心技术就是代理服务器技术。 所谓代理服务器,是指代表客户处理在服务器连接请求的程序。当代理服务器得到一个客户的连接意图时,它们将核实客户请求,并经过特定的安全化的Proxy应用程序处理连接请求,将处理后的请求传递到真实的服务器上,然后接受服务器应答,并做进一步处理后,将答复交给发出请求的最终客户。代理服务器在外部网络向内部网络申请服务时发挥了中间转接的作用。代理类型防火墙的最突出的优点就是安全。由于每一个内外网络之间的连接都要通过Proxy的介入和转换,通过专门为特定的服务如Http编写的安全化的应用程序进行处理,然后由防火墙本身提交请求和应答,没有给内外网络的计算机以任何直接会话的机
7、会,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网。包过滤类型的防火墙是很难彻底避免这一漏洞的。就像你要向一个陌生的重要人物递交一份声明一样,如果你先将这份声明交给你的律师,然后律师就会审查你的声明,确认没有什么负面的影响后才由他交给那个陌生人。在此期间,陌生人对你的存在一无所知,如果要对你进行侵犯,他面对的将是你的律师,而你的律师当然比你更加清楚该如何对付这种人。 图3 传统代理型防火墙 代理防火墙的最大缺点就是速度相对比较慢,当用户对内外网络网关的吞吐量要求比较高时,(比如要求达到75-100Mbps时)代理防火墙就会成为内外网络之间的瓶颈。所幸的是,目前用户接入Internet的速
8、度一般都远低于这个数字。在现实环境中,要考虑使用包过滤类型防火墙来满足速度要求的情况,大部分是高速网(ATM或千兆位以太网等)之间的防火墙。 第二代:自适应代理防火墙 自适应代理技术(Adaptive proxy)是最近在商业应用防火墙中实现的一种革命性的技术。它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。组成这种类型防火墙的基本要素有两个:自适应代理服务器(Adaptive Proxy Server)与动态包过滤器(Dynamic Packet filter)。 图4 自适应代理防火墙 在自适应代理与动态包过滤器之
9、间存在一个控制通道。在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。 小资料 防火墙的发展史 第一代防火墙 第一代防火墙技术几乎与路由器同时出现,采用了包过滤(Packet filter)技术。下图表示了防火墙技术的简单发展历史。 第二、三代防火墙 1989年,贝尔实验室的Dave Presotto和Howard Trickey推出了第二代防火墙,即电路层防
10、火墙,同时提出了第三代防火墙应用层防火墙(代理防火墙)的初步结构。 第四代防火墙 1992年,USC信息科学院的BobBraden开发出了基于动态包过滤(Dynamic packet filter)技术的第四代防火墙,后来演变为目前所说的状态监视(Stateful inspection)技术。1994年,以色列的CheckPoint公司开发出了第一个采用这种技术的商业化的产品。第五代防火墙 1998年,NAI公司推出了一种自适应代理(Adaptive proxy)技术,并在其产品Gauntlet Firewall for NT中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火
11、墙。 防火墙的工作原理(1) “黑客会打上我的主意吗?”这么想就对了,黑客就想钻鸡蛋缝的苍蝇一样,看到一丝从系统漏洞发出的光亮就会蠢蠢欲动!好,如何保护你的网络呢?计算机的高手们也许一张嘴就提议你安装网络的防火墙,那么第一个问题就来了:到底什么是防火墙呢? 什么是防火墙? 防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。 天下的防火墙至少都会说两个词:Yes或者No。直接说就是接受或者拒绝。最简单的防火墙是以太网桥。但几乎没有人会认为这种原始防火墙能管多大用。大多数防火墙采用的技术和
12、标准可谓五花八门。这些防火墙的形式多种多样:有的取代系统上已经装备的TCP/IP协议栈;有的在已有的协议栈上建立自己的软件模块;有的干脆就是独立的一套操作系统。还有一些应用型的防火墙只对特定类型的网络连接提供保护(比如SMTP或者HTTP协议等)。还有一些基于硬件的防火墙产品其实应该归入安全路由器一类。以上的产品都可以叫做防火墙,因为他们的工作方式都是一样的:分析出入防火墙的数据包,决定放行还是把他们扔到一边。 所有的防火墙都具有IP地址过滤功能。这项任务要检查IP包头,根据其IP源地址和目标地址作出放行/丢弃决定。看看下面这张图,两个网段之间隔了一个防火墙,防火墙的一端有台UNIX计算机,另
13、一边的网段则摆了台PC客户机。 当PC客户机向UNIX计算机发起telnet请求时,PC的telnet客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。接下来,协议栈将这个TCP包“塞”到一个IP包里,然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机。在这个例子里,这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机。 现在我们“命令”(用专业术语来说就是配制)防火墙把所有发给UNIX计算机的数据包都给拒了,完成这项工作以后,“心肠”比较好的防火墙还会通知客户程序一声呢!既然发向目标的IP数据没法转发,那么只有和UNIX计算机同在一个网段的用户才
14、能访问UNIX计算机了。 还有一种情况,你可以命令防火墙专给那台可怜的PC机找茬,别人的数据包都让过就它不行。这正是防火墙最基本的功能:根据IP地址做转发判断。但要上了大场面这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了。不过根据地址的转发决策机制还是最基本和必需的。另外要注意的一点是,不要用DNS主机名建立过滤表,对DNS的伪造比IP地址欺骗要容易多了。 服务器TCP/UDP 端口过滤 仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,比方说,我们不想让用户采用 telnet的方式
15、连到系统,但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧?所以说,在地址之外我们还要对服务器的TCP/ UDP端口进行过滤。 比如,默认的telnet服务连接端口号是23。假如我们不许PC客户机建立对UNIX计算机(在这时我们当它是服务器)的telnet连接,那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包,把其中具有23目标端口号的包过滤就行了。这样,我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗?不,没这么简单。 防火墙的工作原理(2) 客户机也有TCP/UDP端口 TCP/IP是一种端对端协议,每个网络节点都
16、具有唯一的地址。网络节点的应用层也是这样,处于应用层的每个应用程序和服务都具有自己的对应“地址”,也就是端口号。地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系。比如,telnet服务器在端口23侦听入站连接。同时telnet客户机也有一个端口号,否则客户机的IP栈怎么知道某个数据包是属于哪个应用程序的呢? 由于历史的原因,几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号。只有UNIX计算机上的root用户才可以访问1024以下的端口,而这些端口还保留为服务器上的服务所用。所以,除非我们让所有具有大于1023端口号的数据包进入网络,否则各种网络连接都没法正常
17、工作。 这对防火墙而言可就麻烦了,如果阻塞入站的全部端口,那么所有的客户机都没法使用网络资源。因为服务器发出响应外部连接请求的入站(就是进入防火墙的意思)数据包都没法经过防火墙的入站过滤。反过来,打开所有高于1023的端口就可行了吗?也不尽然。由于很多服务使用的端口都大于1023,比如X client、基于RPC的NFS服务以及为数众多的非UNIX IP产品等(NetWare/IP)就是这样的。那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗?连这些客户程序都不敢说自己是足够安全的。 双向过滤 OK,咱们换个思路。我们给防火墙这样下命令:已知服务的数据包可以进来,其他的全部
18、挡在防火墙之外。比如,如果你知道用户要访问Web服务器,那就只让具有源端口号80的数据包进入网络: 不过新问题又出现了。首先,你怎么知道你要访问的服务器具有哪些正在运行的端口号呢? 象HTTP这样的服务器本来就是可以任意配置的,所采用的端口也可以随意配置。如果你这样设置防火墙,你就没法访问哪些没采用标准端口号的的网络站点了!反过来,你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器。有些黑客就是利用这一点制作自己的入侵工具,并让其运行在本机的80端口! 防火墙的工作原理(3) 检查ACK位 源地址我们不相信,源端口也信不得了,这个不得不与黑客共舞的疯狂世界上还有什么值得我们信
19、任呢?还好,事情还没到走投无路的地步。对策还是有的,不过这个办法只能用于TCP协议。 TCP是一种可靠的通信协议,“可靠”这个词意味着协议具有包括纠错机制在内的一些特殊性质。为了实现其可靠性,每个TCP连接都要先经过一个“握手”过程来交换连接参数。还有,每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应。但并不是对每个TCP包都非要采用专门的ACK包来响应,实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了。所以,只要产生了响应包就要设置ACK位。连接会话的第一个包不用于确认,所以它就没有设置ACK位,后续会话交换的TCP包就要设置ACK位了。 举个例子,PC向远端的W
20、eb服务器发起一个连接,它生成一个没有设置ACK位的连接请求包。当服务器响应该请求时,服务器就发回一个设置了ACK位的数据包,同时在包里标记从客户机所收到的字节数。然后客户机就用自己的响应包再响应该数据包,这个数据包也设置了ACK位并标记了从服务器收到的字节数。通过监视ACK位,我们就可以将进入网络的数据限制在响应包的范围之内。于是,远程系统根本无法发起TCP连接但却能响应收到的数据包了。 这套机制还不能算是无懈可击,简单地举个例子,假设我们有台内部Web服务器,那么端口80就不得不被打开以便外部请求可以进入网络。还有,对UDP包而言就没法监视ACK位了,因为UDP包压根就没有ACK位。还有一
21、些TCP应用程序,比如FTP,连接就必须由这些服务器程序自己发起。 FTP带来的困难 一般的Internet服务对所有的通信都只使用一对端口号,FTP程序在连接期间则使用两对端口号。第一对端口号用于FTP的“命令通道”提供登录和执行命令的通信链路,而另一对端口号则用于FTP的“数据通道”提供客户机和服务器之间的文件传送。 在通常的FTP会话过程中,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行LOGIN、DIR等各种命令。一旦用户请求服务器发送数据,FTP服务器就用其20端口 (数据通道)向客户的数据端口发起连接。问题来了,如果服务器向客户机发起传送数据的连接,那么它
22、就会发送没有设置ACK位的数据包,防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了。通常只有高级的、也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口,然后才许可对该端口的入站连接。 UDP端口过滤 好了,现在我们回过头来看看怎么解决UDP问题。刚才说了,UDP包没有ACK位所以不能进行ACK位过滤。UDP 是发出去不管的“不可靠”通信,这种类型的服务通常用于广播、路由、多媒体等广播形式的通信任务。NFS、DNS、WINS、NetBIOS-over-TCP/IP和 NetWare/IP都使用UDP。 看来最简单的可行办法就是不允许建立入站UDP连接。防火墙设置为只许转发来自内
23、部接口的UDP包,来自外部接口的UDP包则不转发。现在的问题是,比方说,DNS名称解析请求就使用UDP,如果你提供DNS服务,至少得允许一些内部请求穿越防火墙。还有IRC这样的客户程序也使用UDP,如果要让你的用户使用它,就同样要让他们的UDP包进入网络。我们能做的就是对那些从本地到可信任站点之间的连接进行限制。但是,什么叫可信任!如果黑客采取地址欺骗的方法不又回到老路上去了吗? 有些新型路由器可以通过“记忆”出站UDP包来解决这个问题:如果入站UDP包匹配最近出站UDP包的目标地址和端口号就让它进来。如果在内存中找不到匹配的UDP包就只好拒绝它了!但是,我们如何确信产生数据包的外部主机就是内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电脑基础知识 电脑 基础知识 防火墙 介绍
链接地址:https://www.31ppt.com/p-4559087.html