ISA安全地发布Web服务器

 6.2 安全地发布Web服务器
   通过发布位于ISA Server 之后的Web服务器,ISA Server 代表内部Web服务器接收请求。位于
Internet上的客户机从发布Web服务器上向对象提出请求时,该请求实际上是发送到了ISA Server 计算机
的一个外部地址中。于是,在ISA Server计算机上配置的Web发布规则将请求发送到内部Web服务器上。发
布Web服务器不需要特别的配置。
   要创建一个新发布规则,使用New Web Publishing Rule向导。这个向导在Publishing节点之下的
Web Publishing Rules文件夹中启动。修改一个现有的Web发布规则,可以在ISA Management中该规则的
Properties对话框中进行。
   本节学习目标
   发布位于ISA Server之后的内部网络Web服务器
   在ISA Server计算机上安全地发布Web服务器
   估计学习时间:45 分钟
   6.2.1 Web发布规则
   ISA Server使用Web发布规则来消除把Web内容发布到Internet的种种顾虑,归根结底是对危及到内
部网络的安全的顾虑。Web发布规则决定ISA Server应该如何在内部Web服务器上拦截进入的HTTP请求,以
及ISA Server应该如何代表Web服务器来响应请求。规则决定一个请求是转发而不是丢弃时,该请求就会
发送到位于ISA Server 计算机之后的内部Web服务器中。如果有可能,ISA Server 的缓存会为该请求提
供服务。

   要点 要提高安全性,不要在发布Web服务器上启用目录浏览。同样,也不要为Web服务器配置摘要
或基本身份验证。这些身份验证方法会将Web服务器的内部名称或IP地址暴露给外部用户。
   6.2.2 目的集和客户集
   配置Web发布规则,例如使用New Web Publishing Rule向导 (如图 6.3所示),会给定选项来指定该
Web发布规则的目的集。对于Web发布规则,目的集通常包括一个域名,该域名的IP地址映射到ISA Server
计算机。如果希望发布规则把指定目录或指定文件操作应用到Web请求,也可以在目的集中包含路径。 (
例如,要把对http://www.microsoft.com/ example 的Web请求指向某一个特定的服务器,并把一个对
http://www.microsoft.com/ marketing 的Web请求指向另一台内部服务器。) 客户端地址集通常包括位
于Internet上的客户端的地址,这是相对于那些位于内部网络的客户端而言。客户端地址集允许把准许和
拒绝访问Web发布服务器的客户端组合起来,以此简化管理。
   目的集和客户端地址集是在Policy Elements节点下的文件夹中创建和管理的。
 
   按如下步骤创建Web发布规则:
   1.  在ISA Management控制台树上,右击Web Publishing Rules,指向New,然后单击Rule。
   2.  在New Web Publishing Rule向导中,输入该规则的名称,然后单击Next。
   3.  在Destination Sets屏幕中,选择一个包含发布服务器IP地址的目的集,然后单击Next。
   4.  在Client Type屏幕中,选择该规则是应用到所有用户还是应用到指定客户端地址集或用户,
然后单击Next。
   5.  在Rule Action屏幕中,规定应该如何指引客户端请求。
   注意 对于阵列成员,如果企业策略设置配置为不允许发布,那么将不能创建Web发布规则。
ISA安全地发布Web服务器
   6.2.3 Web发布规则操作
   如图 6.4所示,Web发布规则操作在New Web Publishing Rule向导的Rule Action屏幕中配置。对于
目标是某些特定目的集的HTTP请求,Web发布规则操作要么放弃它,要么将该请求重定向到另一可选站点
,通常为公司网上的Web服务器。
 
   按如下步骤为现有的Web发布规则配置操作:
   1.  在ISA Management控制台树中,单击Web Publishing Rules。
   2.  在View菜单中,单击Advanced。
   3.  在详细信息窗格中,右击现行Web发布规则,然后单击Properties。
   4.  在Action选项卡中,选择操作以下步骤之一:
   u     要拒绝请求,单击Discard The Request单选按钮。
   u     要将请求发送到用于Internet发布登服务器或服务器群,单击Redirect The Request
To This InternaWeb Server (Name Or IP Address)单选按钮。
   5.      如果单击了Redirect The Requests To This InternaWeb Server (Name Or IP
Address)单选按钮,按如下步骤操作:
   u     输入一个请求应重定向到的IP地址或者域名。
   u     在Connect To This Port When Bridging Request As HTTP中,输入用来处理HTTP请求
的端口。默认情况下,HTTP端口配置为80。
   u     在Connect To This Port When Bridging Request As SSL中,输入用来处理S-HTTP请
求的端口。默认情况下,S-HTTP端口配置为443。
   u     在Connect To This Port When Bridging Request As FTP中,输入用来处理TCP请求的
端口。默认情况下,TCP端口配置为21。
   6.2.4 SSL和HTTP桥接
   通过访问Web发布规则属性的Bridging选项卡,如图 6.5所示,可以配置传入HTTP请求重定向的方式
——不论是作为HTTP请求,SSL请求,或者是FTP请求。如果请求是作为SSL请求重定向的,数据包就会加
密。
   也可以桥接SSL通信。也就是说,最初的通信采用SS,ISA Server把请求传送到内部Web服务器之后
,通信可以使用HTTP、SSL或者FTP重新定向。如果请求是作为SSL请求重新定向,ISA Server在将它们发
送到Web服务器之前,先将数据包再加密。也就是说,在与SSWeb服务器的通信之间建立了一个安全的信道
   把HTTP或者SSL请求配置为以FTP请求传送到Web服务器上时,ISA Server使用FTP将请求重新定向到
内部Web服务器上。如果用这种方式配置桥接,加密FTP请求时,可以指定使用哪一个端口。
   最后,如果内部Web服务器需要客户端身份验证,可以配置ISA Server对某一指定的客户端进行身份
验证。
 
   6.2.5 规则次序
   对于每一个传入Web请求,Web发布规则按次序进行处理。一个规则匹配请求时,该请求就会被相应
地发送并缓存。如果没有规则与请求匹配,ISA Server就按照默认规则处理,放弃该请求。如果除了默认
规则之外,还创建了两个或更多的Web发布规则,可以在随时改变这些规则的次序。
   6.2.5.1 默认Web发布规则
   安装ISA Server时,它会配置一个默认的Web发布规则。默认规则配置为放弃所有的请求。默认Web
发布规则在处理次序中位于最后,而且不能够修改或删除。
   Ø     按如下步骤修改Web发布规则的次序:
   1.  在ISA Management控制台树上,单击Web Publishing Rules。
   2.  在View菜单中,单击Advanced。
   3.  在详细信息窗格中,右击要改变其次序的规则,然后单击Move Up或Move Down。
   4.  需要时重复以上步骤,按希望的次序排列规则。

   注意 不能改变默认规则的位置。
6.2.6 Web发布规则示例
   假设要在域example.microsoft.com中发布两个内部Web服务器,一个叫做 Dev,另一个叫做Mktg。
虽然域example.microsoft.com的IP地址对应于ISA Server计算机的外部接口,但是您希望客户端请求
example.microsoft.com/Marketing时,内部服务器Mktg 作出响应,而客户端请求
example.microsoft.com/Development时,则由内部服务器Dev来响应。
   要实现这个目标,首先要创建两个目的集。第1个目的集叫做Marketing,应该包括计算机
example.microsoft.com和路径/Marketing/*。第2个目的集叫做Development,应该包括计算机
example.microsoft.com和路径/Development/*。
   接着,创建两个Web发布规则,将请求重新定向到适当的内部Web服务器上。配置第1个Web发布规则
,使其具备下列参数:
   将Destination Set配置为Marketing目的集
   将Applies To设置为Any User, Group, Or Client Computer
   对于规则操作,选择Redirect To A Hosted Site,指定Mktg为主机
   客户端请求example.microsoft.com/Marketing上的某一对象时,ISA Server就从Mktg/Marketing中
检索该请求。
   配置第2个Web发布规则,使其具备下列参数:
   将Destination Set配置为Development目的集
   将Applies To设置为Any User, Group, Or Client Computer
   对于规则操作,选择Redirect To A Hosted Site,指定Dev为主机
   客户端请求example.microsoft.com/Development上的某一对象时,ISA Server就从
Dev/Development中检索该请求。
   6.2.7 在本地网上发布Web服务器
   Ø     按如下步骤发布位于ISA Server防火墙之后的内部Web服务器:
   1.  确定DNS服务器将完全匹配的域名映射到ISA Server计算机的外部IP地址上。Internet客户端
使用域名来请求对象。
   2.  配置ISA Server的传入Web请求属性。IP地址应该包含外部接口的IP地址。
   3.  创建一个名为Marketing的目的集,它应该包括计算机example.microsoft.com和路径
\Marketing\*。
   4.  创建一个名为Development的目的集,它应该包括计算机example.microsoft. com和路径
\Development\*。
   5.  配置一个具备下列参数的Web发布规则:
   u     将Destination Set配置为Marketing目的集
   u     将Applies To设置为Any User、Group、Or Client Computer
   u     对于规则操作,选择Redirect To A Hosted Site,指定Mktg为主机
   6.  配置第2个具备下列参数的Web发布规则:
   u     将Destination Set配置为Development目的集
   u     将Applies To设置为Any User、Group、Or Client Computer
   u     对于规则操作,选择Redirect To A Hosted Site,指定Dev为主机
   6.2.8 发布寄存在ISA Server计算机上的Web服务器
   默认情况下,Web服务器与ISA Server一样,在端口80上侦听传入请求。这意味着,如果默认的HTTP
端口设置没有改变的话,Web服务器寄存在ISA Server 计算机上会引起冲突。为了避免发生这样的冲突,
把Web服务器配置为侦听端口80以外的其他端口。然后,修改ISA Server Web发布规则以便ISA Server把
请求转发到Web服务器上适当的端口。
   例如,可以配置Web服务器在端口9999侦听。然后,创建一个Web发布规则,使其具备下列参数:
   将Destination Set配置为一个包含该ISA Server计算机IP地址的目的集
   对于规则操作,选定Route Requests To An Alternate Site
   将Site配置为该Web服务器的主机名
   将Port设置为9999
   6.2.9 使用数据包筛选器在ISA Server 计算机上发布Web服务器
   在ISA Server 计算机上发布Web服务器的另一种方法是通过配置包筛选器。用此方法,ISA Server
允许Web服务器在端口80上侦听传入Web请求。
   因为ISA Server 在端口8080上侦听,Web服务器在端口80上侦听来自内部客户端的请求,传出Web请
求就不会有冲突。但是,在ISA Server 计算机上发布Web服务器时,必须要确保ISA Server 的自动发现
特性没有配置为侦听端口80;否则会与来自内部客户端的Web请求发生冲突。而且,端口80是由IIS使用的
。用此处所述的方法发布位于ISA Server 计算机上的Web服务器时,不要创建Web发布规则。
   Ø     按如下步骤使用IP数据包筛选器在ISA Server计算机上发布Web服务器:
   1.  如果数据包筛选尚未激活,那么启用它。
   2.  创建一个IP数据包筛选器,使其具备New IP Packet Filter向导中所指定的如下参数:
   u     在Servers屏幕中,选择Only This Server,并且选择本地计算机。
   u     在Filter Mode屏幕中,选择Allow Packet Transmission。
   u     在Filter Type屏幕中,选择Custom。
   u     对于IP Protocol设置,选择TCP。
   u     对于Direction设置,选择Inbound。
   u     对于LocaPort设置,选择Fixed端口,然后输入80。
   u     对于Remote Port设置,选择Any Port。
   u     在LocaComputer屏幕中,选择This ISA Server's ExternaIP Address。
   u     在Remote Computers屏幕中,选择AlRemote Computers。
   3.  如果自动发现特性是启用的,那么禁用它,或者重新配置自动发现特性,使其侦听端口80以
外的端口。这个设置可以在阵列属性的Auto Discovery选项卡中配置。
ISA安全地发布Web服务器
   6.2.10 练习:在ISA Server计算机上发布Web服务器
   在这个练习中,您在ISA Server 计算机中配置一个Web服务器。这个练习要求您通过拨号连接将
Server1和您的ISP连接起来,并在一个拨号会话中完成所有练习。
   练习1:配置传入Web请求属性
   在这个练习中,启用ISA Server,使其侦听端口80上的进入Web请求。
   1.  以Administrator身份登录到Server1。
   2.   通过双击您已经分配给ISA Server 计算机的Internet连接,与您的ISP建立一个拨号上网连
接。在Network And Dia-up Connections窗口中完成这一步。
   3.  打开ISA Management。
   4.  右击MyArray节点,然后单击Properties。
   出现MyArray Properties对话框。
   5.  单击Incoming Web Requests选项卡。
   6.   在身份验证区,选择Use The Same Listener Configuration For AlIP Addresses单选按钮
   7.  检验TCP Port文本框设置为80,然后单击OK。
   出现ISA Server Warning消息框。
   8.   核实选中了Save The Changes But Don't Restart The Service(s)单选按钮,然后单击OK
   练习2:为Web Server 创建目的集
   在下面的练习中,创建一个目的集,使其对应于分配给Server1的外部IP地址。在Server1上完成这
个练习。
   1.  在ISA Management中,展开Policy Elements节点。
   2.  右击Destination Sets文件夹,指向New,然后单击Set。
   出现New Destination Set对话框。
   3.  在Name文本框中,输入ExternaInterface。
   4.  单击Add。
   出现Add/Edit Destination对话框。
   5.  单击IP Addresses单选按钮。
   6.   在From文本框中,输入ISP当前分配给Server1外部接口的IP地址。如果您不知道当前的IP地
址,打开命令提示符,输入ipconfig来确定外部接口的地址。需要注意的是,这个目的地址集只在当前拨
号会话中是有效的。
   7.  单击OK。
   8.  目的IP地址出现在New Destination Set对话框的Include These Destinations框中。
   单击OK。
   练习3:准备Web站点
   在这个练习中,您在ISA Server计算机上创建一个Web站点,并且配置Web服务器在端口9999上侦听
Web请求。
   1.   仍以Administrator身份登录Server1,从本书配套的补充课程材料光盘中将文件
\Exercises\ Chapter6\default.htm拷贝到Server1上的C:\Inetpub\wwwroot文件夹中。
   2.   单击Start菜单,指向Programs,再指向Administrative Tools,然后单击Internet
Services Manager。
   出现Internet Information Services控制台。
   3.   在Internet Information Services控制台树上,右击Default Web Site节点,然后单击
Stop。 (如果Default Web Site已经停止,可以跳过这一步。)
   Default Web Site被停止。
   4.  右击Default Web Site节点,然后单击Properties。
   出现Default Web Site (Stopped) Properties对话框。
   5.  在IP Address文本框中,输入192.168.0.1。
   6.  在TCP Port文本框中,加亮80,然后输入9999。
   7.  单击OK。
   8.  右击Default Web Site文件夹,然后单击Start。
   练习4:创建Web发布规则
   在这个练习中,创建一个Web发布规则,用来把指定到ISA Server计算机外部接口的Web请求导向寄
存在ISA Server计算机的内部Web服务器上。
   1.  仍以Administrator身份登录Server1,打开ISA Management 。
   2.  在控制台树上,展开Publishing节点。
   3.  右击Web Publishing Rules文件夹,指向New,然后单击Rule。
   出现New Web Publishing Rule向导。
   4.  在Web Publishing Rule Name文本框中,输入LocaWeb Server,然后单击Next。
   出现Destination Sets屏幕。
   5.  在Apply This Rule To下拉列表中,选择Specified Destination Set。
   出现Name下拉列表。
   6.  在Name下拉列表中,选择ExternaInterface,然后单击Next。
   出现Client Type屏幕。
   7.  单击Next。
   出现Rule Action屏幕。
   8.   选择Redirect The Request To This InternaWeb Server (Name Or IP Address)单选  
按钮。
   9.  在与此选项相关的文本框中,输入192.168.0.1。
   10.  在Connect To This Port When Bridging Request As HTTP文本框中,选择默认的80,并输
入9999进行替换。
   11.  单击Next。
   出现Completing The New Web Publishing Rule Wizard屏幕。
   12.  单击Finish。
   13.  在开始下一个练习之前,先在ISA Management停止并重新启动Web Proxy and Firewal服务。
   练习5:测试配置
   在这个练习中,您从Server2中通过在Web浏览器中连接到Server1的外部IP地址来测试Web发布配置
   1.  以Administrator身份登录到Server2。
   2.  打开Internet Explorer。
   3.  在Address文本框中,输入ISP分配给Server1的外部IP地址,然后按Enter键。
   您将看到一个Web页的例子和一个欢迎信息。因为您已经通过外部IP地址,而且还是从位于ISA
Server 防火墙之后连接到Internet上,这说明您已经安全地将Default Web Site发布到Internet上了。
   6.2.11 小结
   通过Web发布规则,ISA Server代表发布Web服务器对客户端的请求作出响应。Internet客户端对ISA
Server 计算机上的一个外部IP地址提出Web请求时,该请求就会发送到相匹配的Web发布规则所指定的Web
发布服务器上。Web发布规则就是这样判断ISA Server如何拦截传入Web请求的。
   对于Web发布规则,目的集通常包括域名(域名的IP地址映射到ISA Server计算机)和路径。客户端地
址集通常包括位于Internet的客户端的IP地址。对于那些目标是某些特定目的集的HTTP请求,Web发布规
则的规则操作要么放弃它,要么将该请求重定向到另一可选站点,通常为公司局域网上的Web服务器。创
建Web发布规则时,可以配置进入HTTP请求和SSL请求是如何重定向的——不论是作为HTTP请求,SSL请求
,或者是FTP请求。这个过程就是桥接。
   要发布寄存在ISA Server 计算机上的Web服务器,需要将该Web服务器配置为侦听端口80以外的端口
。然后,修改ISA Server的Web发布规则,以便ISA Server将请求发送到Web服务器上适当的端口。