《分布式系统:概念与设计》一3.4.8 防火墙

3.4.8 防火墙

几乎所有的组织都需要连接互联网,以便给顾客或其他外部用户提供服务,同时使内部用户可以访问信息和服务。大多数组织中的计算机是完全不同的,它们运行不同的操作系统和应用软件。软件的安全性差别更大,有些软件提供了先进的安全措施,但大多数软件没有能力或有很少的能力保证进入的通信是可靠的,向外的通信是私密的。总之,在一个有很多计算机和多种软件的企业内部网中,系统的有些部分在安全攻击下会非常地脆弱是不可避免的。攻击的形式将在第11章中详细讨论。
 图3-21 防火墙配置防火墙的目的在于监视和控制进出企业内部网的所有通信。防火墙由一组进程实现,它作为通向企业内部网的网关(参见图3-21a),应用了组织规定的安全策略。

防火墙安全策略的目标可能包括下面的某些或所有内容:
服务控制:用于确定内部主机上的哪些服务可以接受外部访问,并拒绝其他的服务请求。外发服务请求和应答也受到控制。这些过滤行为可以基于IP数据包的内容以及其中包含的TCP和UDP请求来完成。例如,到达的HTTP请求的目的地应该是官方的Web服务器主机,否则该请求会被拒绝。
行为控制:用于防止破坏公司策略的行为、反社会的行为,或者找不到可辨认的合法目的的行为,这些行为被怀疑为构成了攻击的一部分。其中的某些过滤动作(action)可在IP或TCP层进行,但其他动作(action)可能需要在更高层对消息进行解释。125例如,过滤垃圾邮件攻击需要检查消息头中发送方的邮件地址,甚至是消息内容。
用户控制:组织可能希望在用户之间加以区分,允许某些用户访问外部服务,而其他用户则禁止访问外部服务。另一个大家更易接收的用户控制的例子是,避免接收系统管理组成员以外的其他用户的软件,以免感染病毒或是维护软件标准。这是个特殊的例子,如果不禁止普通用户使用Web,要想实现上述目的是很困难的。
用户控制的另一个实例是拨号以及其他为不在站点的用户提供连接的管理。如果防火墙同时也是通过调制解调器连接的主机,它可以在连接时认证用户,并且对所有通信使用一个安全通道(防止外来的窃听、伪装和其他攻击)。这是本节后面将要描述的虚拟私网(VPN)技术的目的。
这些策略必须以过滤操作的方式表达,而这些操作由在不同层操作的过滤进程执行:
IP数据包过滤:这是一个检查单个IP数据包的过滤进程,它会根据源地址和目的地址进行决策。它也会检查IP数据包的服务类型域,并根据服务类型解释数据包的内容。例如,它可以根据目的端口号过滤TCP数据包,因为服务通常位于大家熟知的端口上,从而可以根据请求的服务过滤数据包。例如,很多站点禁止外部客户使用NFS服务器。
从性能方面考虑,IP过滤通常由路由器的操作系统内核中的进程执行。如果使用多个防火墙,第一个防火墙可能标识某些数据包以便后面的防火墙做更彻底的检查,同时让“干净”的数据包继续发送,也有可能基于IP数据包的顺序进行过滤,例如,在执行登录命令前,禁止对FTP服务器进行访问。
TCP网关:TCP网关进程检查所有的TCP连接请求以及数据片的传输。安装了TCP网关进程后,可控制TCP连接的创建,检查TCP片断的正确性(一些服务拒绝攻击用残缺的TCP片断来破坏客户的操作系统)。在需要时,它们可以被路由到应用层网关进行内容检查。
应用层网关:应用层网关进程作为应用进程的代理。例如,用户希望有这样的策略:允许特定内部用户的Telnet连接创建到特定外部主机。当一个用户在本地运行Telnet程序时,程序试图和远程主机建立一个TCP连接,该请求被TCP网关截获。TCP网关启动一个Telnet代理进程,原有的TCP连接被路由到该进程。如果代理通过了Telent操作(用户被授权使用所请求的主机),那么它会建立另一个通向所请求的主机的连接,并由它中转所有来往的TCP数据包。一个类似的代理进程将代表每个Telnet客户而运行,而类似的代理可能被FTP和其他服务所采用。
一个防火墙通常由工作在不同协议层的多个进程组成。考虑到性能和容错,通常在防火墙中使用一台以上的计算机。在下面描述的并由图3-21说明的所有配置中,我们给出了一个不受保护的Web服务器和FTP服务器。它只包含一些已发布的信息,这些信息对公共访问不加防范,而服务器软件必须确保只能由授权的内部用户修改。
IP数据包过滤通常由路由器(一台至少有两个位于不同IP网络的网络地址的计算机)执行,该路由器运行一个RIP进程,一个IP数据包过滤进程以及个数尽可能少的其他进程。路由器/过滤器仅运行可信的软件,其运行方式要保证过滤策略的执行。这涉及不能运行特洛伊木马进程,以及路由器和过滤器软件不被修改或破坏。图3-21a显示了仅依赖于IP过滤并只使用了一个路由器的简单的防火墙配置,图3-10中的网络配置包含两个作为此类防火墙的路由器/过滤器。127该配置中有两个路由器/过滤器,以确保性能和可靠性。它们遵循同样的过滤策略,而第二个没有增加系统的安全性。
当需要TCP和应用层网关进程时,这些进程通常会运行在单独的计算机上,该计算机称为堡垒(这个术语源于城堡的构筑,城堡有一个突出的瞭望塔用来保护城堡)。堡垒计算机是一台位于企业内部网中由IP路由器/过滤器保护的主机,它运行TCP和应用层网关(参见图3-21b)。与路由器/过滤器类似,堡垒只运行可信的软件。在一个足够安全的企业内部网内,代理必须用于访问所有的外部服务。读者可能已经对用于Web访问的代理很熟悉了,它们都是防火墙代理的应用实例,并且通常和Web缓存服务器(见第2章的描述)以某种方式集成构建。这些代理以及其他代理可能需要大量的存储和处理资源。
应用以串联方式部署的两台路由器/过滤器以及堡垒和位于与路由器/过滤器相链接的单独子网内的公共服务器可以提高安全性能(见图3-21c),这种配置在安全方面有以下优势:

  • 如果堡垒策略严格的话,企业内部网内主机的IP地址根本不需要对外界公开,企业内部网计算机也无须知道外部地址,因为所有的外部通信都要通过堡垒内的代理进程完成,而代理进程可以访问两端的计算机。
  • 如果第一个路由器/过滤器被攻破,那么第二个路由器/过滤器(由于原本外部不可见而不易受攻击)会继续承担挑选和拒绝不可接收的IP数据包的责任。

虚拟私网 通过使用IP层的密码保护安全通道,虚拟私网(VPN)将防火墙保护的界限延伸到本地企业内部网之外。在3.4.4节中,我们概述了使用IPSec隧道技术对IPv6和IPv4进行的IP安全扩展[Thayer 1998],这些都是实现VPN的基础。VPN可用于外部个人用户,或者在使用公共互联网链接的位于不同站点的企业内部网之间实现安全连接。
例如,一个员工需要通过ISP连接到组织的企业内部网。一旦连接成功,他就应该拥有和防火墙内部用户同样的权利。若本地主机实现了IP安全,则上面的要求可以完成。本地主机保存了与防火墙共享的一个或多个密钥,这些密钥用来在连接时建立安全通道。安全通道机制将在第11章中详细介绍。

时间: 2024-11-03 13:43:33

《分布式系统:概念与设计》一3.4.8 防火墙的相关文章

《分布式系统:概念与设计》一第3节 练习

前 言 在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了.本书的介绍性章节提到互联网和Web对诸多(如金融.商业.艺术.娱乐等)应用领域的影响以及对信息社会的普遍影响.它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求.从分布式系统的角度出发,这些开发在应用的范围.多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求.重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性).移动和无处不在计算元素

《分布式系统:概念与设计》一1.2 分布式系统的例子

1.2 分布式系统的例子 本节给出能激发读者学习积极性的当代分布式系统的例子,用于说明分布式系统所扮演的无处不在的角色和相关应用的多样性. 如1.1节所提及的那样,网络无处不在,成为我们现在认为理所当然的日常服务(互联网和相关的万维网.Web搜索.在线游戏.电子邮件.社会网络.电子商务,等等)的基础.为了进一步说明这一点,可参考图1-1,它描述了一系列所选的关键商务或社会应用部门,强调了相关的分布式系统技术已公认或新出现的应用. 正如所看到的,分布式系统包含近些年许多最重要的技术发展,因此理解底

《PADS 9.5电路设计与仿真从入门到精通》——第一章 绪论 1.1 PCB的基本概念及设计工具

第一章 绪论 PADS 9.5电路设计与仿真从入门到精通 本章主要介绍PADS的基本概念及特点,包括PCB设计的一般原则.基本步骤.标准规范等.着重介绍了美国Mentor Graphics公司的PCB设计软件:PADS 9.5,包括了PADS 9.5的发展过程以及它的新特点.PADS 9.5是一款非常优秀的PCB设计软件,它具有完整强大的PCB绘制工具,界面和操作十分简洁,希望用户好好学习本书,以便更加方便地使用PADS 9.5软件. 1.1 PCB的基本概念及设计工具 PADS 9.5电路设计

《分布式系统:概念与设计》一练习

练习 1.1 列出能被共享的五种类型的硬件资源和五种类型的数据或软件资源,并举出它们在实际的分布式系统中发生共享的例子. 1.2 在不参考外部时间源的情况下,通过本地网络连接的两台计算机的时钟如何同步?什么因素限制了你描述的过程的准确性?由互联网连接的大量的计算机的时钟是如何同步的?讨论该过程的准确性. 1.3 考虑1.2.2节讨论的大型多人在线游戏的实现策略.采用单一服务器方法表示多个玩家游戏状态的好处是什么?这存在什么问题以及如何解决? 1.4 一个用户随身携带可以无线连网的PDA,来到一个

《分布式系统:概念与设计》一2.3.1 体系结构元素

2.3.1 体系结构元素 为了理解一个分布式系统的基础构建块,有必要考虑下面四个关键问题: 在分布式系统中进行通信的实体是什么? 它们如何通信,特别是使用什么通信范型? 它们在整个体系结构中扮演什么(可能改变的)角色,承担什么责任? 它们怎样被映射到物理分布式基础设施上(它们被放置在哪里)? 通信实体 上述前两个问题是理解分布式系统的关键:什么是通信和这些实体如何相互通信为分布式系统开发者定义了一个丰富的设计空间.它对从面向系统和面向问题的角度解决第一个问题是有帮助的. 从系统的观点,回答通常是

《分布式系统:概念与设计》一2.4.1 交互模型

2.4.1 交互模型 2.3节对系统体系结构的讨论表明分布式系统由多个以复杂方式进行交互的进程组成.例如: 多个服务器进程能相互协作提供服务,前面提到的例子有域名服务(它将数据分区并复制到互联网中的服务器上)和Sun的网络信息服务(它在局域网的几个服务器上保存口令文件的复制版本). 对等进程能相互协作获得一个共同的目标.例如,一个语音会议系统,它以类似的方式分布音频数据流,但它有严格的实时限制. 大多数程序员非常熟悉算法的概念--采取一系列步骤以执行期望的计算.简单的程序由算法控制,算法中的每一

《分布式系统:概念与设计》一3.1 简介

3.1 简介 要构建分布式系统所使用的网络,首先需要众多的传输介质,包括电线.电缆.光纤以及无线频道:然后需要一些硬件设备,包括路由器.交换机.网桥.集线器.转发器和网络接口:最后还需要软件组件,包括协议栈.通信处理器和驱动器.上述因素都会影响分布式系统和应用程序所能达到的最终功能和性能.我们把为分布式系统提供通信设施的软硬件组件称为通信子系统.计算机和其他使用网络进行通信的设备称为主机.结点则指的是在网络上的所有计算机或者交换设备.互联网是一个通信子系统,它为所有接入的主机提供通信服务.互联网

《分布式系统:概念与设计》一1.1 简介

1.1 简介 计算机网络无处不在.互联网也是其中之一,因为它是由许多种网络组成的.移动电话网.协作网.企业网.校园网.家庭网.车内网,所有这些,既可单独使用,又可相互结合,它们具有相同的本质特征,这些特征使得它们可以放在分布式系统的主题下来研究.本书旨在解释影响系统设计者和实现者的连网的计算机的特征,给出已有的可帮助完成设计和实现分布式系统任务的主要概念和技术.我们把分布式系统定义成一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统.这个简单的定义覆盖了所有可

《分布式系统:概念与设计》一第2章 系统模型

第2章 系统模型 本章提供三个重要且互补的解释方法,以便有效地描述和讨论分布式系统的设计:物理模型考虑组成系统的计算机和设备的类型以及它们的互连,不涉及特定的技术细节.体系结构模型是从系统的计算元素执行的计算和通信任务方面来描述系统:这里计算元素或是指单个计算机或是指通过网络互连的计算机集合.客户-服务器和对等模型是分布式系统中的两种最常使用的体系结构模型.基础模型采用抽象的观点描述大多数分布式系统面临的单个问题的解决方案.在分布式系统中没有全局时间,所以不同计算机上的时钟未必给出相同的时间.进

《分布式系统:概念与设计》一1.5 挑战

1.5 挑战 1.2节的例子试图说明分布式系统的范围,并提出在设计中出现的问题.在许多系统中,遇到了重大的挑战并且已经得到解决.随着分布式系统的应用范围和规模的扩展,可能会遇到相同的和其他的挑战.本节我们描述主要的挑战. 1.5.1 异构性 互联网使得用户能在大量异构计算机和网络上访问服务和运行应用程序.下面这些均存在异构性(即存在多样性和差别): 网络: 计算机硬件: 操作系统: 编程语言: 由不同开发者完成的软件实现. 虽然互联网由多种不同种类的网络组成(见图1-3),但因为所有连接到互联网