对于发布安全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 Interface:
IP:61.139.0.1/24
DG:61.139.0.8
DNS:None
Internal Interface:
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服务器证书。
你可以查看证书的状态,看是否正常。