如果您的内容服务器具有必须保持安全的敏感信息(如信用卡号数据库),可在防火墙外部设置一个代理作为内容服务器的替身。当外部客户机试图访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。
当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通路将结果回传给代理。代理将检索到的信息发送给客户机,就像代理是实际的内容服务器一样,如图 14–1 中所示。如果内容服务器返回错误消息,代理服务器可截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。这种措施可防止外部客户机获取内部内容服务器的重定向 URL。
通过这种方式,代理就在安全数据库和可能存在的恶意攻击之间提供了另一道屏障。如果侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息,而不至于获得整个数据库的访问权。未经授权的用户无法到达真正的内容服务器,因为防火墙通路仅允许代理服务器有权进行访问。
您可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理)有权通过防火墙进行访问,而不允许任何其他计算机进出。
当代理服务器与其他计算机之间的一个或多个连接使用安全套接字层 (Secure Sockets Layer, SSL) 协议加密数据时,将会进行安全反向代理。
安全反向代理具有许多用途:
提供从防火墙外部的代理服务器到防火墙内部的安全内容服务器的加密连接
允许客户机安全地连接到代理服务器,协助信息(如信用卡号)的安全传输
由于加密数据时占用开销,因此安全反向代理将会降低各安全连接的速度。但是,因为 SSL 提供了高速缓存机制,所以连接双方可以重复使用先前协商的安全性参数,从而大大降低了后续连接的开销。
客户机安全连接到代理。如果未经授权的用户很少或根本没有机会访问代理与内容服务器之间交换的信息,则此方案很有效,如下图所示。
代理安全连接到内容服务器。如果客户机在防火墙内部而内容服务器在防火墙外部,则此方案很有效。在此方案中,代理服务器可以充当站点之间的安全通道,如下图所示。
客户机安全连接到代理并且代理安全连接到内容服务器。如果需要保护服务器、代理和客户机之间交换的信息的安全,则此方案很有效。在此方案中,代理服务器既可充当站点间的安全通道,又可增加客户机验证的安全性,如下图所示。
有关如何设置上述每种配置的信息,请参见设置反向代理。
除了 SSL 之外,代理还可以使用客户机验证,这种方法要求向代理提出请求的计算机提供证书或其他形式的标识以验证其身份。