664367636 发表于 2009-6-2 23:51:43

计算机网络安全与防火墙技术2

代理服务 (Proxy Service)
代理服务使用的的方法与分组过滤器不同,代理(Proxy)使用一个客户程序(或许经过修
改),与特定的中间结点连接,然后中间结点与期望的服务器进行实际连接. 与分组过滤
器所不同的是, 使用这类防火墙时外部网络与内部网络之间不存在直接连接. 因此,即
使防火墙发生了问题,外部网络也无法与被保护的网络连接. 中间结点通常为双宿主机
.
代理服务可提供详细的日志记录(log)及审计(audit)功能, 这大大提高了网络的安全性
,也为改进现有软件的安全性能提供了可能性. 代理服务器可运行在双宿主机上,它是
基于特定应用程序的. 为了通过代理支持一个新的协议,必须修改代理以适应新协议.
在一个称为SOCKS的免费程序库中包括了与许多标准系统调用基本兼容的代理版本,如S
OCKS()、BIND()、CONNECT()等. 在URL统一资源定位地址ftp://ftp.inoc.dl.nec.com/
pub/security/sock.cstc中可以得到该程序.
代理服务通常由两个部分构成: 代理服务器程序和客户程序. 相当多的代理服务器要求
使用固定的客户程序. 例如SOCKS要求适应SICKS的客户程序. 如果网络管理员不能改变
所有的代理服务器和客户程序, 系统就不能正常工作. 代理使网络管理员有了更大的能
力改善网络的安全特性. 然而,它也给软件开发者、网络系统员和最终用户带来了很大
的不便,这就是使用代理的代价. 也有一些标准的客户程序可以利用代理服务器通过防
火墙运行,如mail、FTP和telnet等. 即便如此,最终用户也许还需要学习特定的步骤通
过防火墙进行通信.
透明性对基于代理服务企的防火墙显然是一个大问题. 即使是那些声称是透明性防火墙
的代理也期望应用程序使用特定的TCP或UDP端口. 假如一个节点在非标准端口上运行一
个标准应用程序, 代理将不支持这个应用程序. 许多防火墙允许系统管理员运行两个代
理拷贝, 一个在标准端口运行,另一个在非标准端口运行,常用服务的最大数目取决于
不同的防火墙产品.
基于代理服务的防火墙厂商正在开始解决这个问题. 基于代理的产品开始改进成能够设
置常用服务和非标准端口. 然而,只要应用程序需要升级,基于代理的用户会发现他们
必须发展新的代理. 一个明显的例子是许多的Web浏览器中加入了大量的安全措施. 防火
墙的购买者应留心询问防火墙厂商他们的产品到底能处理哪些应用程序. 另外, 基于代
理服务器的防火墙常常会使网络性能明显下降. 相当多的防火墙不能处理高负载的网络
通信.
应用层网关
应用层网关可以处理存储转发通信业务,也可以处理交互式通信业务. 通过适当的程序
设计,应用层网关可以理解在用户应用层(OSI模型第七层)的通信业务. 这样便可以在用
户层或应用层提供访问控制,并且可以用来对各种应用程序的使用情况维持一个智能性
的日志文件. 能够记录和控制所有进出通信业务,是采用应用层网关的主要优点. 在需
要时,在网关本身中还可以增加额外的安全措施.
对于所中转的每种应用,应用层网关需要使用专用的程序代码. 由于有这种专用的程序
代码,应用层网关可以提供高可靠性的安全机制. 每当一个新的需保护的应用加入网络
中时,必须为其编制专门的程序代码. 正是如此,许多应用层网关只能提供有限的应用
和服务功能.
为了使用应用层网关,用户或者在应用层网关上登录请求,或者在本地机器上使用一个
为该服务特别编制的程序代码. 每个针对特定应用的网关模块都有自己的一套管理工具
和命令语言.
  采用应用层网关的一个缺陷是必须为每一项应用编制专用程序. 但从安全角度上看
,这也是一个优点,因为除非明确地提供了应用层网关,就不可能通过防火墙. 这也是
在实践“未被明确允许的就将被禁止”的原则.
 专用应用程序的作用是作为“代理”接收进入的请求,并按照一个访问规则检查表进
行核查,检查表中给出所允许的请求类型. 在这种情况下,这个代理程序被称为一个应
用层服务程序代理. 当收到一个请求并证实该请求是允许的之后,代理程序将把该请求
转发给所要求的服务程序. 因此,代理程序担当着客户机和服务器的双重角色. 它作为
服务器接收外来请求,而在转发请求时它又担当客户机. 一旦会话已经建立起来,应用
代理程序便作为中转站在起动该应用的客户机和服务器之间转抄数据. 因为在客户机和
服务器之间传递的所有数据均由应用层代理程序转发,因此它完全控制着会话过程,并
可按照需要进行详细的记录. 在许多应用层网关中,代理程序是由一个单一的应用层模
块实现的.
 为了连接到一个应用层代理程序,许多应用层网关要求用户在内部网络的主机上运行
一个专用的客户方应用程序. 另一种方法是使用TELNET命令并给出 可提供代理的应用服
务的端口号. 例如:如果应用代理程序运行在主机gatekeeper.kinetics.com上,其端口
号为63,则可以使用下列命令:
telnet gatekeeper.kinetics.com 63
在连接到代理服务所在的端口之后,你将会看到标识该应用代理的特定的提示符. 这时
,需要执行专门配制命令来指定目的服务器. 不管采用的是哪种途径,用户与标准服务
之间的接口将会被改变. 如果使用的是一个专用的客户程序,则必须对该程序进行修改
,使它总是连向代理程序所在的主机(即代理机)上,并告诉代理机你所要连接的目的地
址. 此后,代理机将与最终的目标地址相连并传递数据. 一些代理服务程序模拟标准应
用服务的工作方式,当用户指定一个在不同网络中的连接目标时,代理应用程序就将被
调用.
对于某一应用代理程序,如果需使用专用的客户机程序时,那么就必须在所有的要使用
INTERNET的内部网络主机上安装一该专用客户程序. 当网络的规模较大时,这将是一件
困难的工作. 如果你的一些用户在使用DOS/WINDOWS或MACINTOSH客户机,则通常没有与
这种客户机应用程序相对应的代理程序. 这时,如果你没有相应客户机应用程序的源码
(通常为在PC或MAC机上用的),你将无法修改这些程序.
如果代理程序客户机只能使用某一个应用层网关服务器,则当这个服务器关闭时,这个
系统就很容易发生单点失效. 如果一个客户端代理可以由管理员指定连向另一个应用层
网关,就可以避免单点失效错误.
由于在配置代理程序的客户机方面存在的诸多问题,一些站点倾向于使用分组过滤技术
来处理象FTP或TELNET等可由适当的过滤规则来保证安全的应用;而使用代理程序客户机
方式处理比较复杂的应用,如DNS、SMTP、NFS、HTTP和GOPHER等.
当需要通过专用客户机应用程序与代理服务器通信时,象CONNECT()这样的一些标准系统
调用必须被替换为相应的代理版本. 这时,你必须将客户机应用程序和这些代理版本的
系统调用一起进行编译和链接.
代理服务程序应该设计为在未使用适当修改了的客户机程序的情况下能够提供“失效安
全”(fail safe) 的运行模式. 例如:当一个标准的客户机应用程序被用来与代理服务
器相连,那么这种通信应该被禁止,并且不能对防火墙或筛选路由器引起不希望的或不
可预料的行为.
另一种类型的应用层网关被称为“线路网关”(circuit gateway). 在线路层网关中,分
组的地址是一个应用层的用户进程. 线路网关用于在两个通信端点之间中转分组. 线路
网关只是在两个端点之间复制字节.
线路网关是建立应用层防火墙的一种更灵活、更通用的途径. 线路网关中可能包括支持
某些特定TCP/IP应用的程序代码,但这通常是有限的. 如果它能支持某些应用,则这些
应用通常是一些TCP/IP的应用.
  在线路-线路网关(circuit-circuit gateway)中,可能需要安装专门的客户机软件
,而用户可能需要与改变了的用户界面打交道,或者改变他们的工作习惯. 在每一台内
部主机上安装和配置专门的应用程序将是一件费时的工作,而对大型异构网络来说很容
易出错,因为硬件平台和操作系统不同.
由于每个报文分组都将由在应用层运行的软件进行处理,主机的性能将会受到影响. 每
个分组都将被所有的通信层次处理两遍,并需要在用户层上进行处理以及转换工作环境
. 应用层网关(不论是堡垒主机还是双宿主机)都暴露在网络面前,因此可能需要采用其
它手段来保护应用层网关主机,例如分组过滤技术.
堡垒主机 (Bastion Host)及其应用
堡垒主机指的是任何对网络安全至关重要的防火墙主机. 堡垒主机是一个组织机构网络
安全的中心主机. 因为堡垒主机对网络安全至关重要,对它必须进行完善的防御. 这就
是说,堡垒主机是由网络管理员严密监视的. 堡垒主机软件和系统的安全情况应该定期
地进行审查. 对访问记录应进行查看,以发现潜在的安全漏洞和对堡垒主机的试探性攻
击. 双宿主机是堡垒主机的一个实例,因为它们对网络的安全至关重要.
为了达到更高程度的安全性要求,有的厂商把基于分组过滤技术的方法和基于代理服务
的方法结合起来,形成了新型的防火墙产品. 这种结合通常是以下面两种方案之一实现
的:有屏蔽主机(Screened Host)或有屏蔽子网(Screened Subnet). 在第一种方案中,
一个分组过滤路由器与Internet相连,同时,一个堡垒主机安装在内部网络上. 通常,
在路由器上设立过滤规则,使这个堡垒主机成为Internet上其他节点所能达到的唯一节
点. 这确保了内部网络不受未被授权的外部用户的攻击. 有屏蔽子网的方法是建立一个
被隔离的子网,位于Internet和内部网络之间,用两台分组过滤路由器将这一子网分别
与Internet和内部网络分开. 在许多有屏蔽子网的实现中,两个分组过滤路由器放在子
网的两端,在子网内构成一个禁止穿行区. 即Internet和内部网络均可访问有屏蔽子网
,但禁止它们穿过有屏蔽子网进行通信. 象WWW和FTP这样的Internet服务器一般就放在
这种禁止穿行区中.
堡垒主机的最简单的设置方法
因为堡垒主机是与外部不可信赖网络的接口点,它们常常容易受到攻击. 堡垒主机最简
单的设置,是作为外部网络通信业务的第一个也是唯一的一个入口点.
有屏蔽主机网关
 因为堡垒主机对内部网络的安全是至关重要的,人们常常在外部不可信赖网络和内
部网络之间增加另外一条防线. 第一条防线通常由筛选路由器充当. 图9说明了以筛选路
由器作为第一条防线的堡垒主机的一种应用方法. 在这个例子中,只配置了堡垒主机的
网络接口,该接口与内部网络相连. 筛选路由器的一个端口与内部网络相连,另一个端
口与INTERNET相连. 这种配置方式被称为有屏蔽主机网关.
对筛选路由器必须做如下配置,它应将从外部网络收到的目的地为内部网络的所有通信
业务首先送到堡垒主机. 在将信息转发到堡垒主机之前,筛选路由器对收到的分组运行
自己的过滤规则. 只有通过了过滤规则的网络信息才被送到堡垒主机,所有其它网络信
息将被拒绝进入. 这种体系结构给予网络安全更高的信心,进攻者必须首先穿过筛选路
由器,如果设法穿过了筛选路由器,还必须对付堡垒主机.
” 垒主机使用应用层功能来确定?许或拒绝来自或发向外部网络的请求. 如该请求通
过了堡垒主机的严格审查,它将被作为进来的信息转发到内部网络上. 对于通向外部的
网络的信息,该请求被转发到筛选路由器.
三   结束语
从对分组过滤技术和代理访问的分析可以看出,这两种模式都有一定的缺陷,因此人们
正在寻找其他模式的防火墙,例如网络地址转换器 (Network Address Transtlater)、
加密路由器 (Encrypting Router)、“身份证”(Authentication Token)、 安全内核(
Secured Kernel)、 最少特权(The Least Privilege)等. 总之,一个好的防火墙应该具
有高度安全性、高透明性和高网络性能. 此外,人们也在开展其他计算机网络安全技术
的研究,如加密技术(cryptography)、增强的Internet服务程序Xinetd (Extented Int

ernet Service Daemon)和以太网 Sniffer等. 在Internet上有许多免费的防火墙产品或
工具,如TIS公司(Trusted Information Systems, Inc.)开发的TIS Internet Firewll
Toolkit (FWTK),通用的代理服务系统是SOCKS,TAMU的网络安全体系以及Karlbridge
等.
随着Internet在我国的迅速发展,防火墙技术引起了各方面的广泛关注. 一方面在对国
外信息安全和防火墙技术的发展进行跟踪,另一方面也已经自行开展了一些研究工作.
目前使用较多的,是在路由器上采用分组过滤技术提供安全保证,对其它方面的技术尚
缺乏深入了解. 防火墙技术还处在一个发展阶段,仍有许多问题有待解决. 因此,密切
关注防火墙的最新发展,对推动Internet在我国的健康发展有着重要的意义.
【返回顶部↑】 【推荐好友】 【查看评论】
页: [1]
查看完整版本: 计算机网络安全与防火墙技术2