译自Thomas W Shinder,Publishing OWA Sites using ISA Firewall Web Publishing Rules (2004)
远程用户可以通过HTTP协议来使用OWA(Outlook Web Access)连接到你的Exchange服务器上。安全的Exchange的RPC发布比OWA具有更高的安全性,完善的第7层过滤器对于远程的Outlook MAPI客户和Exchange服务器之间提供了安全的连接。但是,许多在常规的包过滤防火墙后的客户被禁止访问外部网络的MAPI,因为这些包过滤防火墙缺乏和ISA防火墙的第7层的过滤。
OWA站点发布提供了一个完美的的办法,通过ISA防火墙的OWA发布,你可以让你的远程客户安全的访问你的Exchange服务器OWA站点。确认远程用户和OWA Web站点之间进行安全连接的技术有:
在OWA客户和ISA防火墙之间的SSL连接;
在ISA防火墙和OWA站点间的SSL连接;
强加于OWA目录的客户证书,它要求ISA防火墙(或者其他主机)在连接到OWA Web站点目录时先出示一个客户证书;
ISA防火墙Web发布策略上的用户访问许可要求远程OWA客户出示用户证书,否则ISA防火墙不会转发信息到OWA Web站点;(注:可以使用所有用户来将它忽略掉,在此例就是)
OWA基于表单的认证允许ISA防火墙产生登录表单,这样阻止没有经过认证的连接到达OWA站点。
基本身份验证确保ISA防火墙预认证用户,阻止没有没有经过认证的主机发送单个数据包到达OWA Web站点。
微软企业CA允许基于证书来控制所有的访问,这样可以没有从未经验证的主机发起访问的危险。并且访问和会话由ISA防火墙来控制提供了更高的安全性。
在这篇文章中,我们将安装以下步骤来实现内部OWA Web站点的发布:
为OWA Web站点发布和绑定一个Web站点证书;
将OWA Web站点的证书导出到一个文件中(包含站点的私钥);
配置OWA站点强制使用SSL加密和基本身份认证;
将OWA Web站点的证书导入到ISA防火墙计算机中;
运行OWA发布向导,在HOSTS文件中为OWA Web站点地址建立对应项;
在进入的Web请求侦听器上要求客户证书(可选);
配置公众的DNS服务器解析OWA站点的域名;
发布证书权威的Web注册站点;
在OWA客户上安装证书权威;
在OWA客户计算机的HOSTS文件中建立对应项;
建立到OWA Web站点的连接;
下图为这篇文章中的试验环境:
为OWA的Web站点发布和绑定一个Web站点证书
为了执行SSL到SSL的桥接,ISA防火墙必须建立两个SSL连接:
为了实现ISA防火墙和OWA Web站点之间的SSL连接,我们必须为OWA Web站点请求一个Web服务器证书,并且绑定此证书。
执行以下步骤来为OWA Web站点请求Web服务器证书:
在EXCHANGE2003BE计算机上,点击Start,然后指向Administrative Tools,点击Internet Information Services (IIS) Manager;
在Internet Information Services (IIS) Manager控制台的左面板,展开Web Sites节点,然后点击Default Web Site,右击Default Web Site,然后点击Properties;
在Default Web Site Properties对话框,点击Directory Security标签;
在Directory Security标签,点击Secure communications下的Server Certificate按钮;
在Welcome to the Web Server Certificate Wizard页,点击Next;
在Server Certificate页,选择Create a new certificate 选项,然后点击Next;
在Delayed or Immediate Request 页,选择Send the request immediately to an online certificate authority选项,然后点击Next;
在Name and Security Settings页,接受默认设置,然后点击Next;
在Organization Information页,在Organization和Organizational Unit文本框中输入你组织名和组织单元名,点击Next;
在Your Site's Common Name页,输入站点的公共名字,这个公共名字将被内部和外部的用户用来访问这个站点。例如,如果用户使用https://owa.msfirewall.org来访问这个OWA站点,那么站点的公共名字就是owa.msfirewall.org。在此例中,我们输入owa.msfirewall.org。这是一个很重要的设置,如果你没有输入正确的公共名字,在连接OWA站点时会出现错误。点击Next;
在Geographical Information页,输入你的Country/Region、State/province 和City/locality,点击Next;
在SSL Port页,接受默认的值443,点击Next;
在Choose a Certification Authority页,接受默认的选择,然后点击Next;
在Certificate Request Submission页检查设置,然后点击Next;
在Completing the Web Server Certificate Wizard页点击Finish;
注意,此时View Certificate按钮已经可用,这表明Web站点的证书已经绑定到了OWA Web站点,并且可以用于强制SSL连接了。
在Default Web Site Properties对话框点击OK。
将OWA Web站点的证书导出到一个文件中(包含站点的私钥)
当OWA客户在它和ISA防火墙间建立第一个SSL连接时,ISA防火墙模拟OWA Web站点。为了让ISA防火墙做到这点,你必须导出OWA Web站点的证书,导入到ISA防火墙计算机的证书存储中。当你导出证书时,导出Web站点的私钥是非常重要的。如果没有导出私钥,那么你将不能绑定证书到ISA防火墙的Web侦听器上。
执行以下步骤以导出Web站点的证书和私钥到一个文件中:
- 在Internet Information Services (IIS) Manager控制台,展开Web Sites,然后点击Default Web Site,右击Default Web Site,然后点击Properties;
- 在Default Web Site Properties对话框,点击Directory Security 标签;
- 在Directory Security标签,点击View Certificate按钮;
- 在Certificate对话框,点击Details标签,在Details标签,点击Copy to File按钮;
- 在Welcome to the Certificate Export Wizard 页,点击Next;
- 在Export Private Key页,选择Yes, export the private key,然后点击Next;
- 在Export File Format页,选择Personal Information Exchange PKCS #12 (.PFX)选项,勾选Include all certificates in the certification path if possible ,然后取消勾选Enable strong protection (requires IE 5.0, NT 4.0 SP4 or above) ,点击Next;
- 在Password页,输入并确认密码,点击Next;
- 在File to Export页,在File name文本框中输入c:\owacert,点击Next;
- 在Completing the Certificate Export Wizard页点击Finish;
- 在Certificate对话框中点击OK;
- 在Default Web Site Properties对话框中点击OK;
- 把owacert.pfx 从C:\复制到ISA防火墙计算机上;
配置OWA站点强制使用SSL加密和基本身份认证
通过强制所有通往OWA站点的连接使用SSL,你可以阻止Sniffer的嗅探,同时,你需要配置OWA目录使用基本身份验证,这样可以避免浏览器的兼容性。
执行以下步骤来配置OWA站点强制使用SSL连接和基本身份认证:
- 在Internet Information Services控制台,展开服务器,然后展开Default Web Site节点,需要修改的三个Web虚拟目录为:
/Exchange
/ExchWeb
/Public
我们想让ISA防火墙总是在为OWA客户代理访问这三个站点时协商SSL连接。
我们从Exchange目录开始,右击它,然后点击Properties;
- 点击Directory Security标签,在Authentication and access control 框架,点击Edit按钮;
- 在Authentication Methods对话框,取消勾选除了Basic authentication (password is sent in clear text) 的所有选择框,勾选Basic authentication。在提示你应该使用SSL来保护密码的对话框中点击Yes。在Default domain文本框中输入你的域名,在此例中为MSFIREWALL,点击OK。
- 在Exchange Properties 对话框上点击Apply然后点击OK;
- 重复以上步骤,为 /Exchweb 和 /Public目录进行设置。
下一步是强制ISA防火墙的Web代理过滤器在连接到OWA目录时使用SSL。执行以下步骤:
- 在Internet Information Services (IIS) Manager,展开你的服务器,然后展开Default Web Site;
接下来,我们需要为以下的OWA站点强制使用SSL连接:
/Exchange
/Exchweb
/Public
右击 Exchange节点,然后点击Properties;
- 在Exchange Properties对话框中点击Directory Security ,然后在Secure Communications框架中点击Edit;
- 在Secure Communications对话框,勾选Require secure channel (SSL) ,然后勾选Require 128-bit encryption,点击OK。
- 在Exchange Properties 对话框上点击Apply然后点击OK;
- 为 /Exchweb 和 /Public 目录重复以上过程,完成后关闭Internet Information Services (IIS) Manager 控制台。
将OWA Web站点的证书导入到ISA防火墙计算机中
Web站点的证书必须导入到ISA防火墙计算机中,然后才能绑定在Web侦听器上接受进入的到达OWA站点的连接。执行以下步骤来导入证书:
- 在ISA防火墙计算机上,点击Start ,然后点击Run ,输入mmc ,然后点击OK。在Console 1控制台,点击File 菜单,点击Add/Remove Snap-in命令;
- 在Add/Remove Snap-in对话框点击Add按钮;
- 在Available Standalone Snap-in列表,点击Certificates,然后点击Add;
- 在Certificates snap-in页选择Computer account 选项,点击Next;
- 在Select Computer页,选择Local computer: (the computer this console is running on) ,然后点击Finish。
- 在Add Standalone Snap-in页,点击Close。
- 在Add/Remove Snap-in对话框,点击OK。
- 右击左面板的Personal节点,指向All Tasks然后点击Import;
- 在Welcome to the Certificate Import Wizard页点击Next;
- 点击Browse 按钮,定位到证书文件,然后点击Next;
- 在Password页,输入文件的密码。不要勾选Mark this key as exportable,这样可以保证其他人不能再次将密钥导出。点击Next;
- 在Certificate Store 页,确认勾选了Place all certificate in the follow store,然后点击Next;
- 在Completing the Certificate Import页,点击Finish;
- 在Certificate Import Wizard提示你导入成功的对话框上点击Ok。
- 此时,你可以在右面板看见导入的证书。证书的颁发机构必须放置在Trusted Root Certification Authorities\Certificates存储区,这样ISA防火墙计算机才能信任这个计算机证书。
- 展开左面板的Trusted Root Certification Authorities,向下滚动,注意,企业证书颁发机构已经自动的添加进来了,因为我们使用的是企业CA,并且ISA防火墙属于和企业CA相同的域。如果你使用独立CA,或者ISA防火墙不属于和企业CA相同的域,那么,你需要复制这个证书到Trusted Root Certification Authorities\Certificates 节点。这可以通过右击CA证书,然后点击Copy命令,然后点击\Trusted Root Certification Authorities\Certificates 节点,然后再点击MMC菜单栏的Paste按钮。
运行OWA发布向导,在HOSTS文件中为OWA Web站点地址建立对应项
在商用环境中,强烈建议你建立一个分离的DNS结构(注:为外部和内部的客户分别解析相同的域名到相同的OWA Web站点上),这可以允许内部和外部的主机正确的解析OWA Web站点的域名。在此试验中,我们不建立DNS服务器,只是修改ISA防火墙计算机上的HOSTS文件来解析OWA站点的名字。
注意:此时,ISA防火墙需要将外部客户用来访问OWA站点的域名解析为内部的OWA站点的IP地址,而不是ISA防火墙的外部接口的IP地址,虽然外部客户是解析为这样的。
执行以下步骤来建立HOSTS文件中的对应项:
- 在ISA防火墙计算机,打开%systemroot%\system32\drivers\etc目录,然后双击hosts;
- 在Open With对话框,选择Notepad,然后点击OK;
- HOSTS在Notepad打开了,在底部添加一行域名和IP地址的对应项,在此例中添加10.0.0.2 owa.msfirewall.org;
- "10.0.0.2"是内部OWA服务器的IP地址,确认输入后你敲了回车,保证在文件的结尾有个空行。
- 关闭Notepad,然后点击Yes来保存文件的修改。
现在我们可以建立OWA发布规则了,执行以下规则来发布OWA站点:
- 打开ISA Server 2004管理控制台,展开服务器,点击Firewall Policy,然后任务面板的Tasks标签,然后点击Publish a Mail Server链接;
- 在Welcome to the New Mail Server Publishing Rule Wizard 页,输入规则名,在此我们命名为Publish OWA Web Site,点击Next;
- 在Select Access Type页,选择Web client access (Outlook Web Access (OWA), Outlook Mobile Access, Exchange Server ActiveSync选项,然后点击Next;
- 在Select Services 页,勾选Outlook Web Access,确认勾选了Enable high bit characters used by non-English character sets,这个选项允许OWA用户使用非英文字符集,点击Next;
- 在Bridging Mode页,选择Secure connection to clients and mail server选项,然后点击Next,这个选项建立一个允许客户到OWA Web站点的SSL连接,确保端到端的连接都是安全的。
- 在Specify the Web Mail Server页,在Web mail server 文本框,输入内部OWA Web站点的域名。在此我们使用owa.msfirewall.org,注意这个名字必须和证书的名字一样。
如果你使用IP地址,这样会阻止ISA Server的内部接口和OWA站点之间建立SSL连接。点击Next;
- 在Public Name Details页,在Accept requests for 列表勾选This domain
name (type below)。在Public name文本框中输入外部用户用于访问OWA站点的名字。在此例中,外部用户将使用owa.msfirewall.org。再次声明,这个名字必须和证书的名字一致,并且外部用户通过外部的DNS解析到ISA Server的外部接口上。点击 Next;
- 在Select Web Listener页,点击New按钮,在Welcome to the New Web Listener Wizard页,在Web listener name页,输入侦听器的名字,在此例中,我们使用OWA SSL Listener,点击Next;
- 在IP Addresses页,勾选External,然后点击Address按钮;
- 在External Network Listener IP Selection对话框,选择Specified IP addresses on the ISA Server computer in the select network ,在 Available IP Addresses列表中点击你想侦听求情的外部IP地址。在此例中,我们将选择192.168.1.70,点击Add,这个IP将显示在Selected IP Addresses列表中,点击OK;在IP Addresses 页点击 Next;
- 在Port Specification页,取消勾选Enable HTTP,勾选Enable SSL,保留SSL port号码为443。这样可以配置侦听器使用SSL连接。
- 点击Select按钮,在Select Certificate对话框,点击那个你导入ISA防火墙计算机的OWA
Web站点证书,然后点击OK。注意这个证书只有你在安装这个证书后才会显示出来。另外,证书必须包含私钥,如果没有包含私钥,证书也不会显示出来。
- 在Port Specification页,点击Next;
- 在Completing the New Web Listener页,点击Finish;
- 在Select Web Listener页,Wen侦听器的细节显示出来了,点击Edit;
- 在OWA SSL Listener Properties对话框,点击Preferences标签,点击Authentication按钮;
- 在Authentication对话框,取消勾选Integrated,在Microsoft Internet Security and Acceleration Server 2004提示你没有选择身份验证方法的对话框点击OK;
- 勾选OWA Forms-Based认证。OWA Forms-based 对OWA站点非常有用,并且增强了安全性。ISA防火墙产生产生登录表单,并且转发用户信息到OWA站点以认证用户,只有在用户成功通过认证时,ISA防火墙才转发用户的连接到OWA站点。注意,你不能在Exchange服务器的OWA站点上使用基于表单的认证,你智能在ISA防火墙上使用Forms-based认证,点击Configure按钮;
- 在OWA Forms-Based Authentication 对话框,勾选Clients on public machines, Clients on private machines 和 Log off OWA when the user leaves OWA site ,这些设置为你的OWA站点增强了安全性。注意你也可以为在公共计算机和私有计算机的客户设置超时时间。注意,让用户来决定连接的安全级别是错误的,你应该为所有的用户强制使用相同的策略,点击OK。
- 在Authentication对话框点击OK;
- OWA SSL Listener Properties对话框上点击Apply,再点击OK;
- 在Select Web Listener页,点击Next;
- 在User Sets页,接受默认的All Users,然后点击Next。注意这不是代表所有的用户都可以访问OWA站点,只有通过认证的用户才能访问OWA站点。实际的认证是通过OWA站点来完成的,利用ISA防火墙转发给它的用户信息。这意味这你必须允许All Users访问,除非用户可以通过ISA防火墙的验证。
- 在Completing the New Mail Server Publishing Rule Wizard页点击Finish。
- 右击OWA Web site规则,点击Properties;
- 在OWA Web site Properties对话框,点击To标签。在To标签,选择Requests appear to come from the original client 。这个选项允许OWA Web站点接受外部客户的实际IP信息。这个特性允许OWA站点上的Web日志插件记录地址信息。这个To标签非常重要,因为Server文本框的名字必须和证书的名字一致。我鼓励你在端到端使用相同的名字,虽然它不是绝对的。
- 点击Apply然后点击OK;
- 点击Apply保存修改和更新防火墙策略;
配置公众的DNS服务器解析OWA站点的域名
在你设计远程访问时,正确的DNS域名是至关重要的。完美的DNS配置允许用户在内部网络和外部网络间移动时能够解析域名到对应的IP地址上,而不管它们的位置。
完美的DNS配置就是分离的DNS配置,一个分离的DNS基础由两个DNS区域组成:
- 一个被内部网络用于解析的内部区域;
- 一个被外部网络用户解析的外部区域;
内部网络的主机查询内部区域,然后解析出它们想访问的主机的内部IP地址;而外部网络的主机查询外部的区域,得到它们想连接到的公共IP地址。对于外部和内部网络来说,目的主机都是相同的,只是通过不同的路由来到达。
例如,你内部Exchange服务器的域是domain.com,你使用ISA防火墙来发布OWA站点,ISA防火墙使用IP131.107.0.1来侦听外部的请求,内部网络中的Exchange服务器的IP地址是10.0.0.3。
你的目标是无论什么地方的主机,都可以使用FQDN owa.domain.com来访问Exchange服务器。你想让内部网络使用IP地址10.0.0.3来访问OWA站点,而想让Internet上的主机使用IP地址131.107.0.1来访问OWA站点。
对于Internet上的DNS服务器,你需要将owa.domain.com解析到IP地址131.107.0.1上;而在内部网络中,你需要建立一个DNS区域,将owa.domain.com解析到10.0.0.3上。对于不同网络的主机,你需要配置不同的DNS服务器。
发布证书权威的Web注册站点
外部的OWA客户需要将发布OWA的Web服务器证书的CA的CA证书放置在它的Trusted Root Certification Authorities存储区,这个证书可以放置在User 存储区,没有必要放置在Machine
证书放置区。我们可以很简单的通过连接CA的Web注册站点来完成。但是,我们需要先发布Web注册站点,以让客户连接到此站点。
执行以下步骤来发布:
- 在ISA Server 2004控制台,展开服务器名,然后点击Firewall Policy节点;
- 在任务面板,点击Tasks标签,点击Publish a Web Server链接;
- 在Welcome to the New Web Publishing Rule Wizard 页为规则输入一个名字,在此我们命名为Publish Web Enrollment Site,点击Next;
- 在Select Rule Action页选择Allow;
- 在Define Website to Publish 页,在Computer name or IP address栏输入内部CA的IP地址,在此例中,IP地址是10.0.0.2,在Path文本框,输入/certsrv/*,点击Next;
- 在 Public Name Details 页,在Accept request for列表选择This domain name (type below)。在Public name文本框,输入ISA防火墙的外部接口的IP地址,在此例中是192.168.1.70,在Path (optional) 文本框中输入/certsrv/* ,点击Next;
- 在Select Web Listener页,点击New按钮;
- 在Welcome to the New Web Listener 页,在Web listener name 文本框中输入规则名,在此例中,我们输入Listener70,点击Next;
- 在IP addresses页,勾选External,点击Next;
- 在Port Specification页,接受默认设置,确认勾选了Enable HTTP,并且HTTP port的值是80,点击Next;
- 在Completing the New Web Listener Wizard 页点击Finish;
- 在Select Web Listener页点击Next;
- 在User Sets页接受默认的设置 All Users,点击Next;
- 在Completing the New Web Publishing Rule Wizard页点击Finish;
- 右击 Publish Web Enrollment Site规则,然后点击Properties;
- 在Publish Web Enrollment Site Properties对话框,点击Paths标签,在Paths标签,点击Add按钮,在Path mapping对话框,在Specify the folder on the Web site that you want to publish.To publish the entire Web site, leave this field blank中添加 /CertControl/*,点击OK;
- 在Publish Web Enrollment Site对话框中点击Apply 然后点击OK;
- 点击Apply保存修改和更新防火墙策略;
在OWA客户上安装证书权威
现在我们必要从内部网络的证书权威上获得CA证书。在OWA客户计算机上执行以下步骤:
- 在OWA客户计算机上,打开IE浏览器,输入http://192.168.1.70/certsrv,然后回车;
- 在Connect to对话框,在User name和Password文本框中输入administrator和对应的密码,点击OK;
- 在Microsoft Certificate Services站点的Welcome页,点击Download a CA certificate, certificate chain, or CRL链接;
- 在Download a CA Certificate, Certificate Chain, or CRL 页,点击Install this CA certificate chain链接;
- 在询问你想安装Microsoft Certificate Enrollment Control的Security Warning对话框,点击Yes;
- 在提示你Web站点将在本机上添加证书的Potential Scripting Violation对话框中,点击Yes;
- 在询问你是否添加CA证书的Root Certificate Store对话框上点击Yes;
- 在CA Certificate Installation页,提示你The CA certificate chain has been
successfully installed时,关闭IE浏览器。
在OWA客户计算机的HOSTS文件中建立对应项
OWA客户计算机必须能够通过OWA Web服务器证书中的名字来解析OWA服务器的名字。这个Web服务器的名字在此例中是owa.msfirewall.org。OWA客户必须能够解析这个名字到ISA防火墙进行侦听的外部接口,在此例中是192.168.1.70;
在商用网络中,你应该部署DNS服务器来解析域名。在此例中,我们使用HOSTS文件来解析,在OWA客户计算机上执行以下步骤:
- 定位到%systemroot%\system32\drivers\etc,然后在记事本里面打开HOSTS;
- 在HOSTS文件末尾,添加以下项:
192.168.1.70 owa.msfirewall.org
确保最后有个空行。否则,新加入的行将不能被识别。
- 关闭HOSTS文件,保存修改。
建立到OWA Web站点的连接
在OWA客户计算机上执行以下步骤来向OWA Web站点建立连接:
- 打开Internet Explorer,在地址栏中输入https://owa.msfirewall.org/exchange,然后回车;
- 在Outlook Web Access 登录页,在Domain\user name文本框中输入MSFIREWALL\Administrator ,然后在Password 文本框中输入密码,在Client选择Premium,然后在Security下选择 Private computer,点击Log On;
3.在一个SSL窗口中,显示了OWA站点。IE状态栏的加锁标志证明了现在是安全连接中。
4. 点击Log Off 以注销OWA Web站点。
,