Exchange OWA 发布方法及故障分析
Exchange 服务器是微软公司重量级的邮件服务器,也是目前企业内网中邮件解决方案的代表作,鉴于 Exchange 服务器在微软产品中的重要性,我们准备组织几篇文章,以专题的形式系统地介绍如何用 ISA 发布 Exchange 服务器。今天我们从介绍发布 Exchange OWA 开始, OWA 是 Outlook Web Access 的缩写, OWA 允许用户通过浏览器访问 Exchange 邮箱,是使用最广泛的 Exchange 访问方法之一,下面我们就通过实例来来说明 Exchange OWA 具体应该如何发布,实验完成后后再分析一下常见的 Exchange OWA 发布故障。
实验拓扑如下图所示, Denver 是 Contoso.com 域中的域控制器, DNS 服务器, Exchange 服务器和 CA 服务器。 Beijing 是 ISA2006 服务器, Istanbul 是外网的测试客户机。
![](https://i-blog.csdnimg.cn/blog_migrate/cc1fbc6862ccfeea915012f1f5eaf739.png)
实验前已做好下列准备:
一 Denver 已经创建 CA 服务器,类型是企业根,已被所有的计算机承认。
二 Istanbul 已经利用 Hosts 文件把 denver.contoso.com 解析为 ISA 的外网地址 192.168.1.254
我们推荐的发布方法是利用 SSL 保护 OWA 数据, ISA 使用桥接方法检查外网发来的加密数据,在 ISA 上启用表单验证,这样对 Exchange 的安全非常有利,具体步骤如下:
一
证书申请
发布 Exchange OWA 可以使用 HTTP ,也可以使用 HTTPS ,从安全角度考虑,我们推荐使用 HTTPS 对数据进行加密保护。既然想用 HTTPS ,那肯定要在 Denver 的 IIS 上申请证书,在 Denver 的 IIS 管理器中打开默认站点属性,切换到目录安全性标签,如下图所示,点击“服务器证书”。
![](https://i-blog.csdnimg.cn/blog_migrate/36ad618ef7832333203331cb0f32e401.png)
出现 Web 服务器证书申请向导,下一步。
![](https://i-blog.csdnimg.cn/blog_migrate/6e262e2fb197d83295c89ef72a06c2cd.png)
选择“新建证书”。
![](https://i-blog.csdnimg.cn/blog_migrate/5056f4a866c4b1a1a6389b7563eed4c2.png)
由于 Denver 上的证书服务器是企业根,支持在线颁发证书,因此我们选择“立即把证书请求发送到联机证书颁发机构”。
![](https://i-blog.csdnimg.cn/blog_migrate/e57e830771c702c31bdb1110c74233e3.png)
证书的名称和位长都可以使用默认值。
![](https://i-blog.csdnimg.cn/blog_migrate/0b368ccb4f1511a69ca65c71c0e62b9f.png)
单位和部门属于描述信息,随便填填就可以了。
![](https://i-blog.csdnimg.cn/blog_migrate/53cc5537f88321bc58b52640d3b7e58c.png)
证书的公用名称是关键,这个名称需要和 Exchange 服务器发布到公网上的完全合格域名一模一样,而且 ISA 在发布规则中也需要使用这个名称来表示 Exchange 服务器。
![](https://i-blog.csdnimg.cn/blog_migrate/4394721bc861ffef7634309992e662ac.png)
填写证书的地理信息,这些不是关键参数,随便填填就可以了。
![](https://i-blog.csdnimg.cn/blog_migrate/8c0f08156d48c7bfb6e97bd8b2c48ac4.png)
使用 SSL 的默认端口 443 。
![](https://i-blog.csdnimg.cn/blog_migrate/96db14ffd0a75239aff211981911c3c3.png)
把证书申请直接发送到 Active Directory 中的 CA 服务器。
![](https://i-blog.csdnimg.cn/blog_migrate/dc71e622833ca4076981cf89c1f5d705.png)
开始提交证书申请。
![](https://i-blog.csdnimg.cn/blog_migrate/f881fdbd9b451c68c264395143f6a8b0.png)
证书申请成功, CA 服务器已经满足了 IIS 的证书申请要求。
![](https://i-blog.csdnimg.cn/blog_migrate/e90b7b3faff00f3fc9ce7d84d0d08f69.png)
在 IIS 默认站点属性中切换到目录安全性标签,点击“查看证书”,如下图所示,证书是由 CA 服务器颁发给 denver.contoso.com 服务器的。
![](https://i-blog.csdnimg.cn/blog_migrate/fd204cb4fe96626b9c008466f41794cd.png)
二
导出证书
IIS 申请证书之后,由于 ISA 准备采用桥接的方法发布 Exchange 站点,因此 ISA 服务器需要用证书向外网用户证明自己就是他们要访问的 denver.contoso.com , ISA 需要的证书从何而来呢?答案是从 Denver 上导出。下面我们就来看看如何进行证书导出,在 denver 的 IIS 管理器中打开默认站点属性,切换到目录安全性标签,点击“查看证书”,切换到证书的“详细信息”标签,如下图所示,点击“复制到文件”。
![](https://i-blog.csdnimg.cn/blog_migrate/cf92175e0fb0ec8a319fb308740b5d10.png)
出现证书导出向导,下一步。
![](https://i-blog.csdnimg.cn/blog_migrate/d280621c34c32584729f10213f6c8154.png)
注意,必须导出私钥,否则 ISA 服务器无法解密数据。
![](https://i-blog.csdnimg.cn/blog_migrate/86e9d5b234fcd41e76e10f033d66e4a3.png)
导出为 PFX 格式的证书文件。
![](https://i-blog.csdnimg.cn/blog_migrate/aec92b0f631c5bd0c9d0803de871cf2d.png)
输入保护私钥的密码,导入证书时必须回答出此密码才能导入私钥。
![](https://i-blog.csdnimg.cn/blog_migrate/709ba4e89f8631cedbd36a4cc4d4a36b.png)
设置导出文件的路径和文件名。
![](https://i-blog.csdnimg.cn/blog_migrate/2bb4e00e5be25b473249345923a17913.png)
如下图所示,证书导出成功,接下来我们把证书文件复制到 ISA 服务器上,为下一步的证书导入做好准备。
![](https://i-blog.csdnimg.cn/blog_migrate/c7018b1228e3e64f8986f5a4ec776816.png)
三
导入证书
ISA 服务器需要导入此前 Denver 导出的证书,这样才能用于 Web 侦听器上加密外网用户发来的数据。在 ISA 服务器上用 MMC 自定义一个证书管理工具,负责管理计算机存储的证书(具体的定义方法请参见之前博文 ),如下图所示,在证书管理工具中选择“导入”。
![](https://i-blog.csdnimg.cn/blog_migrate/68f9ba8dbafbf4283180439c087f4222.png)
出现证书导入向导,下一步。
![](https://i-blog.csdnimg.cn/blog_migrate/70ad38002dc1538078ede525e0442d59.png)
导入的 owa.pfx 文件就是 Denver 导出的证书文件。
![](https://i-blog.csdnimg.cn/blog_migrate/5502d71bc87ad86bb8bb0eb5ac121d6c.png)
输入私钥保护密码。
![](https://i-blog.csdnimg.cn/blog_migrate/c0136372d1206f0d5ef76026242d30f8.png)
将证书存储在个人区域。
![](https://i-blog.csdnimg.cn/blog_migrate/c1a196b5de7264ac07884fcbb59a7878.png)
如下图所示,证书导入成功。
![](https://i-blog.csdnimg.cn/blog_migrate/a7ada0d36bb359cfde7ce9de701bb914.png)
四
创建
OWA
发布规则
证书的申请,导出,导入等工作已经完成,接下来就可以在 ISA 服务器上进行 Exchange 的 OWA 发布了,如下图所示,我们在 ISA 服务器上选择新建“ Exchange Web 客户端访问发布规则”。其实 ISA 只有两个发布规则, Web 服务器和非 Web 服务器,其余的都是在上述两种发布规则的基础上衍生出来的。
![](https://i-blog.csdnimg.cn/blog_migrate/46f6c772a4fa3338cefab5c2f98ce8f9.png)
输入发布规则的名称。
![](https://i-blog.csdnimg.cn/blog_migrate/1e5c7e175f2feac662c59bfae23604f2.png)
选择 Exchange 版本为 Exchange 2003 ,客户端的访问方式是 Outlook Web Access 。
![](https://i-blog.csdnimg.cn/blog_migrate/030f365b6e6272ae947fd425e2a4ef56.png)
网站发布类型为发布单个网站。
![](https://i-blog.csdnimg.cn/blog_migrate/67375af9419ed62e229c5d063eb52461.png)
选择使用 SSL 连接到被发布的 Exchange 服务器。
![](https://i-blog.csdnimg.cn/blog_migrate/51beb00e9569ecb9f3959e809cba0a40.png)
内部站点名称为 denver.contoso.com ,注意,这个名称应该和证书的公用名称保持一致 。
![](https://i-blog.csdnimg.cn/blog_migrate/6e44f9de19f0c6e6a049ca320d6a4c32.png)
Exchange 服务器对外的公用域名也是 denver.contoso.com 。
![](https://i-blog.csdnimg.cn/blog_migrate/24749c8a24a2e3726dadcf9bbdfc26d5.png)
由于没有 Web 侦听器,我们选择新建一个。
![](https://i-blog.csdnimg.cn/blog_migrate/cc6f5bf8cc44342faa62d0b85d0de012.png)
出现新建 Web 侦听器向导,我们为侦听器取名为 listen 443 。
![](https://i-blog.csdnimg.cn/blog_migrate/a19b9bc399d1d963aa8ea7389a061b21.png)
侦听器与外网访问者之间的数据传递也用 SSL 进行加密。
![](https://i-blog.csdnimg.cn/blog_migrate/77002e185d04f2a234438106a1f0ea66.png)
侦听器监听的区域是外网。
![](https://i-blog.csdnimg.cn/blog_migrate/9842c2de00be6384ecd08838e23f3e65.png)
在侦听器中选择使用导入的 denver.contoso.com 证书。
![](https://i-blog.csdnimg.cn/blog_migrate/4b8dca2c086851c83a55ac7160d7983a.png)
客户端验证方式可以选择 HTML 窗体验证,窗体验证对于使用公用计算机的外网用户来说更加灵活安全。
![](https://i-blog.csdnimg.cn/blog_migrate/acb771c68ad2aa1bf529e74127d7419a.png)
在本例中我们不需要使用单一登录设置。
![](https://i-blog.csdnimg.cn/blog_migrate/3ccdcf59efa2e717b614bdea6564b685.png)
好了, Web 侦听器创建完毕。
![](https://i-blog.csdnimg.cn/blog_migrate/9a4073b17d94045006874944c04992d5.png)
在 Exchange OWA 的发布规则中选择使用刚创建的 Web 侦听器。
![](https://i-blog.csdnimg.cn/blog_migrate/5bfe2c1ac10ab9bd89278270517a5a49.png)
ISA 使用基本身份验证来进行验证委派,虽然基本身份验本身对数据没有进行加密保护,但由于使用了 SSL ,基本身份验证也是很安全的。如果使用集成验证委派,那需要我们在 Active Directory 中配置相关的 SPN 。
![](https://i-blog.csdnimg.cn/blog_migrate/04e76357c247976c06fc8263abddb6b8.png)
由于发布的 Exchange OWA 需要对用户进行身份验证,因此发布规则针对的用户应该是所有通过身份验证的用户。
![](https://i-blog.csdnimg.cn/blog_migrate/15c37198a87e666b951eebd60230f744.png)
好了,终于完成了发布规则!
![](https://i-blog.csdnimg.cn/blog_migrate/c7caffdea09b957d171b268ba429a44e.png)
五 测试
完成了 OWA 的发布之后,我们在外网的 Istanbul 上测试一下,在 Istanbul 的浏览器中输入
[url]https://denver.contoso.com/exchange/administrator[/url]
,结果如下图所示,出现表单登录界面,选择我们使用的计算机是公用计算机上,输入用户名和密码,点击登录。
![](https://i-blog.csdnimg.cn/blog_migrate/a914a8f4801d0f864fbe63ee31ffefe2.png)
登录后的结果如下图所示,我们进入了 Exchange 邮箱, OWA 发布成功!
![](https://i-blog.csdnimg.cn/blog_migrate/575c4fc4112327cd0445df8f64f1e0aa.png)
上述是我们推荐的 Exchange OWA 发布方法,建议大家参考使用,在此将发布 OWA 时的一些常见问题共总结如下:
1
建议发布
OWA
时使用
HTTPS
保护数据安全,注意,如果证书是从自己创建的
CA
服务器申请的,那公网的访问者必须信任证书颁发机构,否则访问会失败。
2
如果发布
OWA
时使用
HTTP
协议,那要注意
ISA2006
默认不允许在
HTTP
协议中进行身份验证,客户机访问
Exchange
时会被
ISA
拒绝,前不久为一位博友解决的
Exchange OWA
发布故障就是因为这个原因。解决方法是在
Web
侦听器属性-身份验证-高级中勾选“允许通过
HTTP
进行客户端身份验证”。
3
如果在
ISA
中不是通过创建
Exchange Web
访问规则来发布
OWA
,而是通过创建网站发布规则来发布
OWA
,那有可能会出现无法显示邮箱的故障。原因是发布规则的
HTTP
过滤中阻止了高位字符,汉字也在被阻止的范围之内,因此无法显示中文邮箱。解决方法是在发布规则中配置
HTTP
过滤,取消阻止高位字符即可。