浅析反向代理

浅析反向代理

  反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的链接请求,而后将请求转发给内部网络上的服务器,并将从服务器上获得的结果返回给internet上请求链接的客户端,此时代理服务器对外就表现为一个反向代理服务器。html

工做方式

  一般的 代理服务器,只用于代理内部网络对Internet的链接请求,客户机必须指定代理服务器,并将原本要直接发送到Web服务器上的http请求发送到代理服务器中。因为外部网络上的 主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不肯定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,所以普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器可以代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就能够简单把它看成一个标准的Web服务器而不须要特定的配置。不一样之处在于,这个服务器没有保存任何网页的真实数据,全部的静态网页或者CGI程序,都保存在内部的Web服务器上。所以对反向 代理服务器的攻击并不会使得网页信息遭到破坏,这样就加强了Web服务器的安全性。
反向代理方式和包过滤方式或普通代理方式并没有冲突,所以能够在 防火墙设备中同时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或包过滤方式用于拒绝其余外部访问方式并提供内部网络对外部网络的访问能力。所以能够结合这些方式提供最佳的安全访问方式。

CDN

   CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽量避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。经过在网络各处放置反向代理 节点服务器所构成的在现有的互联网基础之上的一层智能 虚拟网络,CDN系统可以实时地根据 网络流量和各节点的链接、负载情况以及到用户的距离和响应时间等综合信息将用户的请求从新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet 网络拥挤的情况,提升用户访问网站的响应速度。

代理服务器

  若是您的内容服务器具备必须保持安全的敏感信息,如信用卡号数据库,可在 防火墙外部设置一个 代理服务器做为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在外部客户机看来就像是内容服务器。
当客户机向站点提出请求时,请求将转到代理服务器。而后,代理服务器经过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再经过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器(参见图 14-1)。若是内容服务器返回错误消息, 代理服务器会先行截取该消息并更改标头中列出的任何 URL,而后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。
这样,代理服务器就在 安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的状况相对比,就算是侥幸攻击成功,做恶者充其量也仅限于访问单个事务中所涉及的信息。未经受权的用户没法访问到真正的内容服务器,由于 防火墙通路只容许代理服务器有权进行访问。
图 14-1 反向代理服务器就像是真正的内容服务器
反向代理服务器就像是真正的内容服务器 反向代理服务器就像是真正的内容服务器
能够配置 防火墙路由器,使其只容许特定端口上的特定服务器(在本例中为其所分配端口上的 代理服务器)有权经过防火墙进行访问,而不容许其余任何机器进出。
安全反向代理 当代理服务器与其余机器之间有一个或多个链接使用 安全套接字层(SSL) 协议加密数据时,即会进行安全反向代理。

用途

安全反向代理有许多用途:
能够提供从 防火墙外部 代理服务器到防火墙内部安全内容服务器的加密链接。
能够容许客户机安全地链接到代理服务器,从而有利于安全地传输信息(如信用卡号)。
安全反向代理会形成各安全链接因加密数据所涉及的 系统开销而变慢。可是,因为 SSL 提供了高速缓存机制,因此链接双方能够重复使用先前协商的安全参数,从而大大下降后续链接的系统开销。

配置方法

配置安全反向 代理服务器的方法有三种:
Secure client to proxy。若是未经受权的用户不多或根本没有机会访问代理服务器与内容服务器之间交换的信息,则此方案颇有效(参见图 14-2)。
图 14-2 客户机安全链接到代理服务器
Secure proxy to content server。若是客户机在 防火墙外部而内容服务器在防火墙内部,则此方案颇有效。在此方案中, 代理服务器能够充当站点之间的安全通道(参见图 14-3)
图 14-3 代理服务器安全链接到内容服务器
Secure client to proxy and secure proxy to content server。若是须要保护服务器、 代理服务器和客户机三者间所交换信息的安全,则此方案颇有效。在此方案中,代理服务器既可起到站点间安全通道的做用,又可增长客户机验证的安全性(参见图 14-4)。
图 14-4 客户机安全链接到代理服务器而且代理服务器安全链接到内容服务器
有关如何设置上述每种配置的信息,参见设置反向代理服务器。
除了 SSL 以外, 代理服务器还可使用客户机验证,这种方法要求向代理服务器提出请求的计算机提供证书(或标识表单)以核实其身份。

比较

下面将对几种典型的代理服务做一个简单的比较。在网络上常见的 代理服务器有三种:
1. 标准的代理缓冲服务器
一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里请求数据而再也不向原web站点请求数据。这样就节省了宝贵的网络带宽,并且提升了访问速度。可是,要想实现这种方式,必须在每个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求肯定是否链接到远程web服务器获取数据。若是在本地缓冲区有目标文件,则直接将文件传给用户便可。若是没有的话则先取回文件,先在本地保存一份缓冲,而后将文件发给客户端浏览器。
2. 透明代理缓冲服务器
透明代理缓冲服务和标准 代理服务器的功能彻底相同。可是,代理操做对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通讯,而且过滤出访问外部的HTTP(80端口)流量。若是客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,若是在本地没有缓冲则向远程web服务器发出请求,其他操做和标准的代理服务器彻底相同。对于Linux操做系统来讲,透明代理使用Iptables或者Ipchains实现。由于不须要对浏览器做任何设置,因此,透明代理对于ISP(Internet服务器提供商)特别有用。
3. 反向代理缓冲服务器
反向代理是和前两种代理彻底不一样的一种代理服务。使用它能够下降原始WEB服务器的负载。反向 代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理全部对WEB服务器的请求,阻止了WEB服务器和Internet的直接通讯。若是互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。若是没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式经过下降了向WEB服务器的请求数从而下降了WEB服务器的负载。
相关文章
相关标签/搜索