荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (人生不定式), 信区: Linux
标  题: 反向代理技术 [转载](转寄)
发信站: BBS 荔园晨风站 (Sun Sep 24 08:43:43 2000), 站内信件

【 以下文字转载自 georgehill 的信箱 】
【 原文由 georgehill.bbs@smth.org 所发表 】
发信人: hhuu (种太阳), 信区: FreeBSD
标  题: 反向代理技术 [转载]
发信站: BBS 水木清华站 (Fri Sep 22 12:26:51 2000)

From freebsd.online.ha.cn

使用反向代理技术保护Web服务器


随着Internet的发展,很多机构都将自己内部的网络连接到Internet上,因而网络
安全问题越来越重要。


一、现有防火墙技术及其局限性


为了增加网络的安全和保护内部网络上的重要数据,需要将内部网与Internet相隔
离,当前主要通过防火墙技术来完成这个目的。然而为了保护内部主机,防火墙软
件就必须限制外部网络中的主机对内部网络的访问。因此普通防火墙软件的设置中
,外部网络无法访问内部主机。然而,为了向外发布自己的信息,就需要允许外部
网络访问自己的Web服务器。最简单的处理方法是将Web服务器放在防火墙之外,这
样就将Web服务器和内部网络区分开,Web服务器暴露在网络外部,就有可能招受攻
击而导致服务器瘫痪或网页被更改等潜在的问题。而当前,Web服务器上面的信息
越来越丰富和重要,Web服务器的重要性也非常明显。因此就需要使用防火墙来保
护它,如果要将Web服务器放在防火墙之内,则需要防火墙的支持。





图1普通防火墙设置

当前防火墙主要有两种类型,一种为包过滤型防火墙,这种防火墙针对每个IP包识
别它是否符合管理员设定的过滤规则,符合一定要求的才被正确转发。可以使用的
过滤规则包括源和目的主机的名字和IP地址,端口地址,使用的网络界面,以及
IP包的类型。通常包过滤型的防火墙软件根据IP包的类型屏蔽所有的由外部发起的
连接请求,从而保护内部网络。如果要将Web服务器放在放火墙之内,就需要允许
对这个Web服务器和它使用的TCP端口的访问。




图2包过滤型防火墙过程


另一种类型的防火墙为应用代理型的防火墙,这种防火墙针对每种应用协议提供相
应的代理服务,由代理服务器访问网络,并将结果返回给客户机。标准的http协议
的代理服务,客户端的浏览器必须配置代理服务器的IP地址,不可能要求其他外部
主机为访问这个内部网络上的主机而重新设置代理服务器的地址。代理服务器并不
区分外部网络和内部网络,但是代理服务器使用Internet上的名字解析来确定Web
服务器的位置,而通常防火墙内使用内部地址,这也决定了普通代理型防火墙不支
持外部网络对内部Web服务器的http访问请求。因此普通代理服务器简单的屏蔽外
部地址的访问,因此最简单的保护对外发布信息的Web服务器的方式是使用包过滤
型的防火墙。




图3代理型防火墙过程


一旦允许外部网络中的主机可以向内部网络发起连接请求,攻击者就可以在网络外
部尝试进行连接,这增加了攻击者攻击内部网络的方式,降低了整个网络的安全系
数。如果不允许外部主机向内部网络发起连接请求,攻击者就只好在外部发起攻击
,使用特洛伊木马或者IP spoof等技术,这些方式与发起主动连接的攻击方式相比
,没有现成的工具供利用,因此使得攻击的复杂性大大增加,因此网络被攻击的可
能性大为减少,几乎成为不可能。一旦攻击者进入内部网络中的Web服务器,整个
内部网络就暴露在攻击者的面前,防火墙就不能起到应有的作用了。因此通过重新
定义包过滤型防火墙的过滤规则,并将Web服务器放在内部网络内,只是一种简单
的保护Web服务器的方法,然而不利于保护整个内部网络的安全。

因此,为了在保护Web服务器和内部网络的安全,当前使用的更安全的做法是实现
双层防火墙。外层防火墙实现包过滤功能,然而却允许外部网络访问其中的Web服
务器,内部防火墙允许最中间的内部网络可以访问外部网络。在外部防火墙和内部
防火墙之间称为停火区,提供外部网络访问的服务器就位于这个区域,表明即使攻
击者通过外部防火墙进入这个区域,也无法攻入内部网络。双层防火墙通过设置了
两层防火墙,使得内部网络更为安全。然而,它在保护Web服务器方面的作用,与
单层防火墙相似。因为此时Web服务器仍然只受到一层防火墙的保护,同样也无法
对外部隐藏防火墙内主机的各种信息,例如服务器的ip等。而且这层防火墙是对应
用协议一无所知的包过滤防火墙,由于包过滤的方式不识别应用协议,通常为
http协议,那么就无法正确识别外部的连接请求是否属于正常连接,通常也无法进
行详尽的连接记录。为了更好的保护Web服务器不被外部攻击者破坏,就应该屏蔽
内部服务器的IP地址等信息,并且防火墙能够识别连接协议,显然这是代理型防火
墙的任务。




图4双层防火墙设置


二、反向代理方式


通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定
代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设
计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的
请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络
的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这
种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务
器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不
同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI
程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网
页信息遭到破坏,这样就增强了Web服务器的安全性。




图5反向代理模式


反向代理方式和包过滤方式或普通代理方式并无冲突,因此可以在防火墙设备中同
时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或
包过滤方式用于拒绝其他外部访问方式并提供内部网络对外部网络的访问能力。因
此可以结合这些方式提供最佳的安全访问方式。



图6综合防火墙模式


综合反向代理功能和普通拒绝外部访问的普通防火墙软件相结合,就能构成一个既
具有保护内部网络、又能对外提供Web信息发布的能力的防火墙系统。由于反向代
理能力需要软件实现,因此不能使用现有的防火墙系统,需要使用相关软件进行开
发改进。Unix显然是首选平台,我们基于FreeBSD系统,提出一种基于ipfw、natd
与squid的防火墙设置方式。其中ipfw可以基于ip地址、端口、协议等对ip包进行
过滤,natd提供网络地址转换功能,这样就隐藏了内部网络的拓扑等信息,ipfw和
natd结合就构成了强大的包过滤网关。而squid是Internet上最流行的Web代理服务
器之一,虽然它提供的是普通的正向代理能力,但其为开放源代码软件,并且具有
强大的可配置性,因此很容易可以将其更改为反向代理服务器。

这种方式对内部网络的保护能力,要小于双层防火墙软件,等于普通的单层防火墙
软件,然而其对Web服务器的保护却大于双层防火墙系统中对位于对停火区内的
Web服务器的保护。然而其本身为单层系统,因此比双层系统配置起来更方便,是
一种简单有效的方案。其中反向代理功能能够提供丰富的连接记录,可以用来提供
预防和捕获攻击的能力,而包过滤和网络地址翻译可以让内部网络的主机可以使用
多种协议访问外部网络,不需要考虑防火墙对应用协议的支持问题。这种方式适用
于大多数Intranet系统。


三、讨论


当需要对内部网络提供更进一步的保护时,仍然可以使用双层防火墙模式,这样兼
具反向代理对Web服务器的保护能力,和双层防火墙对内部数据的更大的保护能力


当组织向外提供信息发布的时候,并不仅仅要提供一些静态的网页,更大的可能是
要根据实际的数据动态发布信息。因此发布的网页便需要通过访问数据库动态生成
,通常使用的动态生成技术有CGI或服务器端文档解析等方式生成的。然而无论那
种方式,都需要使得Web服务器能够和数据库服务器进行连接、通信。然而系统数
据库应该是内部网络中应该首要保护的系统,因此要求安全性要求不高的对外发布
信息的Web服务器和内部数据库服务器放置在同一个网段,就会造成相应的安全问
题。

为了提高访问数据库服务器的安全性,就需要对能够访问数据库的CGI程序进行限
制,这就要求对启动CGI的URL请求比对普通url进行更严格的限制。与普通包过滤
型防火墙不同,反向代理能够理解http协议,能区分出不同的url请求,从而能够
实现对cgi请求比普通http请求更严格的控制,甚至可以将cgi请求发送到一台专用
的CGI服务器进行处理,从而分别处理普通url请求和cgi请求。这台cgi服务器可以
具有访问数据库的能力,保证数据库的安全。


图7分离Web和CGI服务器的模式


总结本文中的论述,可以看出,反向代理方式是一种对外提供Web发布时使用的有
效的防火墙技术,使用它和传统防火墙技术相结合,就能实现简单有效的防火墙系
统。




--
  行列中        作不朽文章
  谈笑间        论古今英雄
  痴狂里        诉红尘情爱
  来去时        不枉一生风流
                        ---------  bbs.ntu.edu.tw


※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.160.6]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店