首页 理论教育 防火墙类型包括的内容的介绍

防火墙类型包括的内容的介绍

时间:2023-06-09 理论教育 版权反馈
【摘要】:防火墙的类型包括:●包过滤网关或屏蔽路由器。在选择防火墙类型时,要考虑的最重要的问题因素是安装防火墙究竟为了解决什么问题。防火墙是一种主机类型,常常和高质量的工作站一样是可编程的。本例中,包过滤器拒绝所有声称来自地址格式为100.50.25.x的包。状态审查防火墙通过跟踪包序列和从一个包到另一个包的状态来防止这种攻击。

防火墙类型包括的内容的介绍

防火墙的类型包括:

●包过滤网关或屏蔽路由器。

●状态审查防火墙。

●应用代理。

●“门卫”。

●个人防火墙。

每种类型的防火墙完成不同的任务,没有哪一种必定是“正确的”,而其他的就是“错误的”。一般来讲,屏蔽路由器往往实现相当简化的安全策略,而“门卫”和代理网关有更丰富的安全策略可供选择。安全策略的简化并不是一件坏事。在选择防火墙类型时,要考虑的最重要的问题因素是安装防火墙究竟为了解决什么问题。

防火墙是一种主机类型,常常和高质量的工作站一样是可编程的。而屏蔽路由器是相当简单的,主机甚至路由器的发展趋势是过渡到有操作系统和工具的计算机,因为编辑器和编程工具有助于配置和维护路由器。但是,防火墙的开发者要求防火墙功能最少:他们试图从防火墙中排除并非绝对必需的功能。需要最少化约束的最好理由是:给攻击者尽可能小的帮助。这样,防火墙一般不设置用户账户,因此,就没有密码文件需要被隐藏。事实上,最可取的防火墙是放在房间后面自行运行的防火墙:除非周期性地扫描其审计日志,否则很少有理由去触及它。

1.包过滤网关

包过滤网关或屏蔽路由器是最简单的防火墙,在某些情形下也是最有效的。包过滤网关根据包地址(源或目的)或特定传输协议类型(如基于HTTP的Web通信)来控制包访问内部网络。在路由器上放置ACL会严重影响路由器的性能,而位于路由器后面(靠近本地网络一侧)的隔离防火墙会在信息流到达受保护网络之前对其进行过滤。图6-10显示了包过滤器拒绝来自(或发往)某些网络地址的访问,过滤器允许HTTP通信但拒绝使用Telnet协议的通信。

978-7-111-39843-1-Chapter06-12.jpg

图6-10 包过滤器拒绝某些地址和协议示意图

包过滤器看不见包的内部,仅仅是根据IP地址和端口来决定拒绝或接受包。因此,包数据部分的细节(例如,允许某些Telnet命令而拒绝其他服务)超出了包过滤器的处理能力。

包过滤器能实现一个很重要的服务:保证内部地址的有效性。根据LAN所具有的特征,内部主机通常都信任其他内部主机。但内部主机只能根据消息中的源地址字段所标志的地址来识别内部的另一台主机。而包的源地址是可以伪造的,这就会使内部应用软件认为它正在同内部的另一台主机而不是外部伪装者通信。因为包过滤器位于内部网络和外部网络之间,所以能知道外部包是否在伪造内部地址(如图6-11所示)。屏蔽包过滤器可通过配置来拒绝所有来自外部的包,即使它们声称的源地址是内部地址。本例中,包过滤器拒绝所有声称来自地址格式为100.50.25.x的包(但允许所有目的地址为100.50.25.x的包)。

978-7-111-39843-1-Chapter06-13.jpg

图6-11 过滤器屏蔽外部地址

包屏蔽路由器的主要缺点在于它是简单性和复杂性的结合物。路由器的检查相对简单,而要实现复杂的过滤,过滤规则集要求相当详细。详细的规则集会很复杂,因此容易出错。例如,拒绝所有23号端口(Telnet)的通信量,这很简单而且直接。但如果要允许部分Telnet的流量,则需要对允许通信的IP地址在规则集中逐一进行定义,这样就会导致规则集变得很长。

2.状态审查防火墙

过滤防火墙每次处理一个包——接受或拒绝,然后对下一个包进行处理。从一个包到另一个包过渡时,没有“状态”或“上下文”的概念。状态审查防火墙(Stateful Inspection Firewall)用于在输入流中从一个包到另一个包的过渡时维护状态信息。

攻击者使用的一种典型方法是:将一个攻击包分割成多个包,使得每个包具有很短的长度,这样,防火墙就检查不到分布在多个包中的攻击信号(在TCP下,包可以以任意顺序到达,协议组负责将这些包按正确顺序重组后再交给应用层)。状态审查防火墙通过跟踪包序列和从一个包到另一个包的状态来防止这种攻击。

3.应用代理

包过滤器仅看包头不看包的内部数据。因此,假定包过滤器的筛选规则允许入站连接到25号端口,包过滤器会将任何包传递到该端口。但由于应用软件设计得较为复杂,有时难免会包含一些错误。更糟糕的是,应用软件(如电子邮件转发代理)常常代表所有用户,从而要求赋予它们所有用户的特权(例如,存储进入的邮件信息供内部用户阅读)。有缺陷的应用软件在运行时由于拥有所有用户的特权,会造成许多损害。

应用代理网关(Application Proxy Gateway),亦称保垒主机(Bastion Host),是一种防火墙,能模拟应用软件的(正常)效果,使应用软件仅接受正常的活动请求。代理网关是一种双穴设备:对内部,看起来好像是外部(目的)连接;对外部,按内部的响应方式进行响应。

应用代理运行伪应用软件。例如,在进行电子邮件传输时,一个站点上的发送进程与在目的地的接收进程首先通过一个建立邮件传输合法性的协议建立起通信,然后进行真正的邮件消息传输。在发送方与目的方之间的协议是经过仔细定义的。从本质上来说,代理网关在中间介入了协议交换,使整个系统看起来就像接收方在与位于防火墙外部的发送方通信,而发送方在与内部真正的接收方通信一样。这样,处于中间的代理就有机会过滤邮件传输,以保证只有可接受的邮件协议命令送达目的地。

举一个应用代理的例子,考虑文件传输协议(File Transfer Protocol,FTP)。该协议通过特定的协议命令实现以下操作:从远地取回(get)文件,把一些文件存储(put)到远程主机上,列出(ls)远程主机某个目录的所有文件,定位(cd)远程主机目录树上的特定目录。一些管理员可能希望允许get禁止put操作,仅允许列出某些文件,或者禁止改变某个指定目录而进入其他目录(以限制外部用户只能检索指定目录的文件)。代理能模拟协议交换的双方。例如,代理可以接受get命令、拒绝put命令,以及过滤对文件列表请求的响应。

为理解代理网关的真正用途,看下面几个例子:

●公司想建立在线价格表,以便外部客户能看见其提供的产品和价格,同时想保证:客户不能改变价格或产品表;客户只能访问价格表,不能访问存储在内部的任何敏感文件。(www.xing528.com)

学校想允许学生检索来自互联网的所有信息。为提供高效的服务,管理人员想知道哪些网址已访问过,以及在这些网址上提取了哪些文件,以便对特别常用的文件进行本地缓存

●政府机构想通过数据库管理系统对查询做出响应。为了防止针对数据库的推理攻击,管理人员想对“只返回少于5个数的中值”这类查询进行限制。

●具有多个办事处的公司想对所有发往其他办事处的电子邮件中的数据部分进行加密(远程终端中对应的代理将对其解密)。

●公司想允许其雇员拨号访问公司网站,但不能暴露公司资源让非本公司雇员进行远程登录攻击。

代理能满足上述每一个要求。对第一个例子,代理监视文件传输协议数据以保证只能访问价格表文件,并保证该文件只能读取不能修改。作为Web浏览器组成部分的日志记录程序能满足学校的要求。具有特殊用途的代理可以满足政府机构的要求。这个代理与数据库管理系统进行交互,提交查询请求,对返回的结果数据进行计算,并添加一个来自小样本集的随机的、很小的错误项到计算结果中。许多操作系统并不要求进行强用户鉴别,而在特别编写的代理中要求进行这种鉴别(如质询—响应系统),这样的代理可以满足限制登录的要求。

可对防火墙上的代理进行裁减以适应特殊要求(如要求记录访问细节),甚至能把与内部功能相异的部分呈现给普通的用户接口。假设内部网络有多种类型的操作系统,每种操作系统均不能通过质询—响应令牌支持强鉴别。代理可以要求强鉴别(姓名、密码和质询—响应),并使质询—响应有效,然后以特定内部主机操作系统要求的格式传递简单的姓名和密码等鉴别细节。

代理和屏蔽路由器的区别在于,代理向应用软件解释协议流,根据协议内部可见的内容而不是仅仅根据头部数据来控制穿越防火墙的行为。

4.“门卫”

“门卫”是一种精密复杂的防火墙。像代理防火墙一样,它接收协议数据单元并解释它们,然后使用相同的或不同的协议数据单元传递相同的或经过修改的数据。“门卫”根据已有的知识(无论采用什么方式,总之能可靠地知道外部用户的身份、以前的交互等内容),代表用户决定完成哪些服务。“门卫”能提供的控制程度是有限的,仅限于一些可计算的内容。“门卫”和代理防火墙极为相似,二者的区别有时很模糊。也就是说,可以向代理防火墙添加一些功能,就能够使之也成为一个“门卫”。

“门卫”的活动是相当精密复杂的,看过以下示例就能明白:

●某大学想要限制学生使用电子邮件,要求在最近若干天中的消息数或电子邮件字符数不能超过某个上限。虽然修改电子邮件管理程序可达到这一目的,但通过监视所有电子邮件的流量的共同点(邮件传输协议)更容易实现。

●某学校想让学生能够访问互联网,但由于其连接速度慢,故只允许他们在下载图像时仅能下载有限的字符数(即允许文本模式和简单图形,不允许复杂图形、动画音乐等)。

●某图书馆想使某些文献可以被访问,但考虑到支持合理使用版权的问题,仅允许用户检索文献中开始的部分内容,超出的部分要求用户付费,并将费用转交给作者。

●某公司想允许员工以FTP方式获取文件。但为防止病毒入侵,需要对所有传入的文件进行病毒扫描。尽管许多文件是不可执行的文本文件或图形文件,但公司管理员认为扫描文件的代价是微不足道的。

上述的每一种情形都可以通过修改代理来实现。因为代理是基于通信数据的特性来进行决策的,因此可以将代理形象地称为“门卫”。由于“门卫”实现的安全策略比代理复杂,所以“门卫”的代码相应更复杂,因此更容易出错。防火墙越简单,出现故障或遭到破坏的可能性就越小。

5.个人防火墙

个人防火墙(Personal Firewall)是一种应用程序,运行在工作站上,用来隔离不希望的、来自网络的通信量。个人防火墙是常规防火墙功能的补充,可以针对单个主机设置可接受的数据类型,或者在连接Internet时,用来弥补常规防火墙中缺少的过滤规则。

与网络防火墙过滤进出网络的通信量类似,个人防火墙过滤单个工作站的通信量。工作站对恶意代码或恶意活动代理(ActiveX或Java Applet)、存储在工作站上的个人数据泄露、为寻找潜在弱点的弱点扫描等攻击方式的防御能力差。

个人防火墙经过配置后可以实施一些安全策略。例如,用户可以确定某些网址(如公司内部网中的计算机)具有很高的可信度,而其他站点则不可信赖。用户可以定义相应的策略,以便允许在本公司所在网段实现代码下载、无限制的数据共享及管理访问,而不允许来自其他站点的访问。个人防火墙也产生访问日志,当一些“有害”的东西进入防火墙时,这种检查相当有用。

把病毒扫描器和个人防火墙结合在一起使用不但有效,而且效率高。实际情形是,用户常常不是每天运行病毒扫描器,而是偶尔(如在一周的某些时间)运行一两次。如果让病毒扫描器在用户内存中执行,意味着扫描器检查到的问题是在既成事实(如病毒已随电子邮件附件下载到本地)之后。但如果将病毒扫描器和个人防火墙结合起来,个人防火墙就会将所有进入的电子邮件定位到病毒扫描器,在那里可以对每个已经到达了目的主机但未打开的附件进行检查。

个人防火墙运行在它所要保护的计算机上。因此,“聪明”的攻击者可能会尝试使用检测不到的攻击,以便在将来禁止或重新配置防火墙。另外,尤其是线缆调制解调器、DSL以及其他“总是在线的”连接方式,对一个能力较强的攻击团体而言,静态工作站是可见的而且是脆弱的攻击目标。个人防火墙能对不在网络防火墙保护范围内的客户提供合理的保护。

6.几种类型防火墙的比较

表6-3对几种防火墙类型的不同之处进行了概括。

表6-3 几种类型防火墙的比较

978-7-111-39843-1-Chapter06-14.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈