防火墙检查数据包的内容(请求的服务端口号)并对照防火墙中已配置好的各种规则,以便确定是否向数据包提供相应的服务。如果防火墙对所请求的端口号不提供服务,则将这一企图作为潜在的威胁记录下来并拒绝该请求。 本例中,数据包的内容表明请求服务是Telnet,即请求端口号为23且防火墙的配置规则是支持这类请求的服务。 调用相应的程序 由于防火墙对所请求的服务提供支持,所以防火墙利用其他配置信息将该服务请求传送至相应的代理服务。 本例中,防火墙将Telnet请求传送给Telnet代理进行处理。 对请求进行处理 现在代理服务以目的主机的身份并采用与应用请求相同的协议对请求进行响应。应用请求方认为它是与目标主机进行对话。 然后,代理服务通过另一块网卡以自己真实的身份代替客户方,向目标主机发送应用请求。如果应用请求成功,则表明客户端至目标主机之间的应用连接成功地建立了。注意,与包过滤防火墙不同,代理服务型防火墙是通过两次连接实现客户机至目标主机之间的连接的,即客户机至防火墙、防火墙至目标主机。 另外,通过对防火墙进行适当的配置,可以在防火墙替客户机向目标主机发送应用请求之前对客户方进行身份验证。验证方法包括SecureID、S/Key、RADIUS等。 本例中,客户方现与防火墙建立Telnet连接,然后防火墙立即向客户方发出身份验证要求。若验证通过,则防火墙替客户方向目标主机发送应用请求;否则,防火墙断开它与客户方已建立的连接。 2、性能特点 提供的安全级别高于包过滤型防火墙 代理服务型防火墙可以配置成唯一的可被外部看见的主机以保护内部主机免受外部攻击 可以强制执行用户认证 代理工作在客户机和真实服务器之间,完全控制会话,所以能提供较详细的审计日志 代理的速度比包过滤慢 代理服务型防火墙中的佼佼者AXENT Raptor完全是基于代理技术的软件防火墙。 随着因特网络技术的发展,不论在速度上还是在安全上都要求防火墙技术也要更新发展,基于上下文的动态包过滤防火墙就是对传统的包过滤型和代理服务型防火墙进行了技术更新。
网络防火墙的系统解决方案
(二)代理服务型防火墙
代理服务(Proxy Service)系统一般安装并运行在双宿主机上。双宿主机是一个被取消路由功能的主机,与双宿主机相连的外部网络与内部网络之间在网络层是被断开的。这样做的目的是使外部网络无法了解内部网络的拓扑。这与包过滤防火墙明显不同,就逻辑拓扑而言,代理服务型防火墙要比包过滤型更安全。
由于内部网络和外部网络在网络层是断开的,所以要实现内外网络之间的应用通讯就必须在网络层之上。代理系统是工作在应用层,代理系统是客户机和真实 服务器 之间的中介,代理系统完全控制客户机和真实服务器之间的流量,并对流量情况加以记录。目前,代理服务型防火墙产品一般还都包括有包过滤功能。
1、工作机制
代理服务型防火墙按如下标准步骤对接收的数据包进行处理:
接收数据包
检查源地址和目标地址
检查请求类型
调用相应的程序
对请求进行处理
下面,我们以一个外部网络的用户通过Telnet访问内部网络中的主机为例,详细介绍这些标准步骤。
接收数据包
外部网络的路由器将外部网络主机对内部网络资源的请求路由至防火墙的外部网卡。同样,内部网络中的主机通过内部网络中的路由选择信息将对外部网络资源的请求路由至防火墙的内部网卡。
在本例中,当外部网络用户通过Telnet请求对内部网络中的主机进行访问时,路由信息将该请求传送至防火墙的外部网卡上。
检查源地址和目标地址
一旦防火墙接收到数据包,它必须确定如何处理该数据包。首先,防火墙检查数据包中的源地址并确定该包是由哪块网卡接收的。这样做是为了确定数据包是否有IP地址欺骗的行为,例如,如果发现从外部网卡接收的一个数据包中的源地址属于内部网络的地址范围,则表明这是地址欺骗行为,防火墙将拒绝继续对该包进行处理并将此事件记录到日志中。
接下来,防火墙对包中的目标地址进行检查并确定是否需要对该包做进一步处理。这一点与包过滤类似,即检查是否允许对目标地址进行访问。
本例中,Telnet的目标地址是内部网络的某台主机,防火墙是通过外部网卡收到该Telnet请求的,且发现请求包中没有地址欺骗行为,防火墙接收了该数据包。
检查请求类型