在ISA Server 2004中发布安全Web服务
内容概要:这篇文章介绍了ISA的安全Web发布的原理及如何发布安全Web服务(HTTPS)。
在Tom的文章“使用ISA防火墙的OWA发布规则来发布OWA站点”中介绍了如何发布OWA站点,其实发布安全Web服务的步骤和原理基本和它一致。在这篇文章中,我给大家介绍一下如何发布安全Web服务。
对于发布安全Web服务,有两种发布模式:隧道和桥接。由于SSL加密了HTTP应用层信息,一般的防火墙是不能对这些数据包执行状态检查的。当采用桥接模式发布时,ISA防火墙会对SSL连接进行状态检查,并阻止攻击者在 SSL 通道中隐藏恶意行为。当客户向安全Web站点发起通信时,ISA防火墙接受客户发送的SSL加密数据包,对它进行解密后检查其中是否存在攻击代码,然后将其重新加密,再将重新加密的数据包转发到发布的内部网络中的安全Web服务器上。而在隧道模式下,当外部的客户访问发布的安全Web服务器时,ISA防火墙不检查SSL连接的内容,也不会对这些内容应用状态检查或过滤。
对于桥接的发布模式,又分为三种桥接模式:
- 加密到客户端的连接。选择此模式时,ISA防火墙与客户端建立安全的HTTPS连接(默认端口TCP 443),但将请求作为标准HTTP转发到发布的Web服务器(默认端口TCP 80);
- 加密到Web服务器的连接。选择此模式时,ISA防火墙与客户端建立标准的HTTP连接(默认端口TCP 80),但将请求作为安全HTTPS转发到发布的安全Web服务器(默认端口TCP 443);
- 加密到客户端和Web服务器的连接。选择此模式时,ISA防火墙与客户端建立安全的HTTPS连接(默认端口TCP 443),并将请求也作为安全HTTPS转发到发布的Web服务器(默认端口TCP 443)。
本文中的试验环境如下图所示,ISA 2004防火墙为边缘防火墙,连接Internet和内部网络,并未加入域;内部网络的IP地址范围为10.2.1.0/24,部署了域contoso.com,Denver是域控制器,并且部署了DNS/证书权威/Web服务;Istanbul是位于Internet上的一台主机,用于测试。我将在此试验中,使用加密到客户端和Web服务器的连接的桥接模式来发布Denver上的安全Web站点denver.contoso.com。
各计算机的TCP/IP设置如下,在试验之前已经确认了网络连接工作正常:
ISA防火墙:
External Inte易做图ce:
- IP:61.139.0.1/24
- DG:61.139.0.8
- DNS:None
Internal Inte易做图ce:
- IP:10.2.1.1/24
- DG:None
- DNS:10.2.1.2
Denver(Web Server):
- IP:10.2.1.2/24
- DG:10.2.1.1
- DNS:10.2.1.2/24
Istanbul(Web Server):
- IP:61.139.0.8/24
- DG:None
- DNS:None
在这篇文章中,我将按照以下步骤来实现安全Web站点的发布:
- 为Web站点绑定一个Web服务器证书;
- 配置Web站点强制使用SSL加密;
- 导出安全Web站点的Web服务器证书(包含站点的私钥);
- 导入安全Web站点的证书到ISA防火墙计算机中;
- 在ISA防火墙上发布安全Web站点;
- 在外部客户易做图问进行测试;
为安全Web站点绑定一个Web服务器证书 为了实现客户和Web站点的SSL连接,我们必须为Web站点请求一个Web服务器证书,并且在Web站点上绑定此证书。 执行以下步骤来为Web站点请求Web服务器证书: 在Denver上打开管理工具下的Internet信息服务管理控制台,在左面板展开Web站点节点,然后右击默认站点,点击属性; 在默认站点属性对话框,点击目录安全性标签,然后点击服务器证书按钮; 在欢迎使用Web服务器证书向导页,点击下一步; 在服务器证书页,选择新建一个证书选项,点击下一步; 在延迟或立即发送请求页,选择将请求立即发送到一个在线的证书权威选项,然后点击下一步; 在名字和安全设置页,接受默认设置,然后点击下一步; 在组织信息页,在组织和组织单元文本框中分别输入你组织名和组织单元名,点击下一步; 在站点的公共名称页,输入站点的FQDN,这个名称将被内部网络和外部网络中的用户用于访问这个站点。在此例中,我输入denver.contoso.com。这个地方请一定要注意,如果输入有误,那么连接安全Web站点时会发生错误,点击下一步; 在位置信息页,输入你的国家/地区、州/省和城市/位置,点击下一步; 在SSL端口页,接受默认的值443,点击下一步; 在选择一个证书权威页,接受默认的选择,然后点击下一步; 在提交证书请求页检查设置,然后点击下一步; 最后,在正在完成Web服务器证书向导页,点击完成。 现在,查看证书按钮已经可用,这表明此Web站点已经拥有了一个Web服务器证书。 你可以查看证书的状态,看是否正常。
配置Web站点强制使用SSL加密
现在我们可以配置Web站点使用SSL加密了,同样在目录安全性标签,点击查看证书按钮下的编辑按钮;
在弹出的安全通信对话框上,勾选要求加密通道(SSL)和要求128位加密,然后两次点击确定,回到Internet信息服务管理控制台;
现在我们在Denver上打开一个浏览器窗口,访问本机的Web服务,首先在地址栏输入http://localhost,注意看,服务器提示需要使用SSL进行访问;
于是我们使用ht