开发者社区> 技术小甜> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

发布Exchange的RPC以及RPC Over HTTPS:ISA2006系列之十九

简介:
+关注继续查看
发布ExchangeRPC以及 RPC Over HTTPS
在前几篇博文中,我们介绍了如何使用OWASMTP/POP3来发布Exchange服务器,今天我们介绍如何利用RPCRPC Over HTTPS来发布Exchange,这也是Exchange发布系列的最后一篇博文,OWASMTP/POP3RPCRPC Over HTTPS已经涵盖了目前发布Exchange所使用的全部技术。
实验拓扑和以前一样,Denver是域控制器,CA服务器,DNS服务器,Exchange服务器,BeijingISA2006服务器,Istanbul是外网测试客户机。
 
 
 利用RPC发布Exchange服务器
以前我们在Exchange系列博文中([url]http://yuelei.blog.51cto.com/202879/d-3[/url])曾经介绍过,Exchange的最佳客户端是使用RPC协议的OutlookOutlook是微软为Exchange量身定做的客户端软件,可以发挥出Exchange的所有功能,如果从性能角度考虑,Outlook应该是Exchange客户端的首选。
Outlook这么好,为什么以前大家经常用OWA访问呢?一是OWA使用起来相对简单,二是Outlook使用的RPC协议对防火墙是个很大的考验.RPC的特点是什么?我们在Exchange系列博文中曾经分析过,基于RPC的服务端口并不固定,每次服务启动时把自己的端口号以及UUID注册到135端口的终点映射器上。客户端要访问RPC服务,首先要连接到RPC服务器的135端口,向终点映射器提交要访问的服务的UUID,根据UUID查询这个服务本次启动对应的端口号是多少。这么折腾一番后,客户端才明白自已要访问的服务在哪个端口等着自己,这时才赶紧去连接那个端口。
RPC的这个特性如果用在局域网内,客户机和服务器能直接访问到,本来也算不了什么。问题是如果客户端和服务器之间还隔了一道防火墙,那防火墙就很头疼了,为什么?你想啊,客户端访问RPC服务器的端口号不是固定的,防火墙怎么开放端口呢?如果开放RPC有可能使用的全部端口,那就要把1024以上的端口都打开,那防火墙就成筛子了。如果只开放固定端口,那就要想办法让RPC服务器的管理员配合自己,把RPC的服务端口限定在一个范围内。但是这么做一方面比较麻烦,另一方面需要牺牲RPC的灵活的特性,并不是好的解决方案。因此如果你是防火墙,你是否也会头疼呢?这个问题尤其是对硬件防火墙来说是很难解决的,但是!但是!ISA已经彻底解决了这个问题,确切地说,ISA2004就已经很完美地解决了这个问题。
ISA解决RPC发布的问题其实很简单,ISA能够听懂RPC客户端和RPC服务器之间的会话内容,ISA根据会话内容可以判断出RPC客户端要访问的服务端口号是多少,当RPC客户端通过ISA访问RPC服务时,ISA会动态地,临时地开放相关端口,允许RPC客户端访问进去。当RPC客户端访问结束后,端口会自动关闭。你看,这个解决方案如何,ISA号称是应用层防火墙,和它对RPC的完美支持也是有关系的。ISARPC的支持可以通过下图来说明。
 
说了这么半天,无非是和大家介绍一下RPC的原理,希望大家理解ISA发布RPC服务器从操作上看很简单,但实际上对防火墙的过滤器有很高的技术要求。好,让我们通过实例来看看如何发布ExchangeRPC服务。如下图所示,在ISA服务器上选择新建“邮件服务器发布规则”。
 
为发布规则取个名字。
 
访问类型属于客户端访问RPC服务器。
 
ISA发布Exchange服务器上的RPC服务。
 
填写RPC服务器的IP地址。
 
侦听外部网络。
 
完成RPC服务器的发布。这条发布规则看起来似乎只是把Exchange服务器的RPC服务发布出来了,其实Exchange服务器上所有基于RPC的服务现在都可以访问了。
 
在外网的Istanbul上测试一下,启动Outlook 2003,如下图所示,选择“下一步”。
 
Outlook询问是否需要升级电子邮件账号,选择“不升级”,准备创建一个Outlook配置文件。
 
选择配置一个电子邮件账号。
 
后台邮件服务器的类型是Exchange服务器。
 
Exchange服务器的域名是denver.contoso.com,不使用缓存模式,要访问的邮箱是administrator
 
终于完成了Outlook的配置文件。
 
创建完配置文件后,Outlook登录进入了管理员邮箱,如下图所示,这说明发布ExchangeRPC服务成功了。
 
  利用RPC Over HTTPS发布Exchange服务器
RPC发布成功之后,我们就要来考虑一下RPC Over HTTPS了,RPC Over HTTPS我们在Exchange系列博文中已经介绍过了,它主要就是考虑到电信部门可能会在公网上封锁RPC协议,因此把RPC协议封装成HTTPHTTPS格式,这样就可以躲过电信的封杀,等封装后的数据包到达RPC服务器后,由RPC服务器再进行解封装操作,这样就借助HTTP的伪装完成了RPC数据的传递。
发布RPC Over HTTPS并不复杂,其实就是把Exchange服务器上的一个RPC虚拟目录发布出来。麻烦的是要搭建RPC Over HTTPS的环境,做这个实验要有点耐心,我们慢慢来吧。
1)安装”HTTP代理上的RPC”
首先我们需要让Exchange服务器在收到封装成HTTP格式的RPC数据包后,具有解封装能力,这个功能可以通过安装一个组件“HTTP代理上的RPC”来完成。组件的安装方式是,在Exchange服务器上依次点击 开始-设置-控制面板-添加或删除程序-添加/删除Windows组件,如下图所示,选择“网络服务”,点击“详细信息”。
 
在网络服务的子组件中选择“HTTP代理上的RPC”,如下图所示。
 
安装完组件后,检查IIS,发现IIS的默认站点中多了一个RPC虚拟目录,虚拟目录中有一个rpcproxy.dll的动态链接库,其实就是这个文件具有解封装的功能,客户端也会把封装好的RPC数据按照约定发到ExchangeRPC虚拟目录下。
 
2)配置“HTTP代理上的RPC
Exchange服务器上安装了“HTTP代理上的RPC”后,我们还需要对这个组件进行简单的配置,主要是配置端口。默认情况下,“HTTP代理RPC”代理的RPC协议端口范围在1005000,但Exchange使用的RPC服务端口范围超过了6000,因此我们需要对此进行一番设置。在Exchange服务器上运行Regedit,在注册表中定位到下列键值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy\ValidPorts],如下图所示,我们把ValidPorts的键值改为denver.contoso.com:100-7000100-7000是扩大了端口范围,计算机名设置为denver.contoso.com是为了和用户访问Exchange服务器的域名相匹配。值得注意的是,改完之后无需重启即可生效
 
3)IIS支持HTTPS
RPC数据包封装成HTTP格式后,再利用SSL对数据进行加密保护就更安全了,因此我们需要在Exchange服务器的IIS中申请证书,用以满足客户端进行HTTPS访问的需求。好在前面的OWA发布实验中我们已经申请过证书了,如下图所示,IIS中已经有一个颁发给denver.contoso.com的服务器证书,这样Exchange就可以支持客户端用HTTP封装RPC后再用SSL进行加密了。
 
上次做ExchangeOWA发布时,我们把Exchange服务器证书导出给了ISA服务器,而且ISA服务器在侦听器中使用了Exchange的证书,如下图所示,这些我们在后续操作中都会用到。
 
4)配置RPC虚拟目录的身份验证
接下来需要配置RPC虚拟目录的验证方式,考虑到互联网上用户使用操作系统的多样性,我们准备使用兼容性最好的基本验证方式,虽然基本验证不对用户名和口令进行任何加密保护,但好在HTTPS可以帮我们解决这个问题。如下图所示,在ExchangeIIS管理器中查看RPC虚拟目录属性,切换到目录属性的“目录安全性”标签,点击身份验证和访问控制处的“编辑”。
 
如下图所示,我们把RPC虚拟目录的身份验证方式改为“基本验证”。
 
5)创建ISA发布规则
准备工作就绪后,我们准备在ISA上创建发布规则了,我们只要通过发布规则把ExchangeRPC虚拟目录发布到ISA服务器外网网卡上就可以了。如下图所示,我们在ISA服务器上选择新建“Exchange Web客户端访问发布规则”。
 
为发布规则取个名字。
 
选择Exchange服务器的版本号为Exchange 2003,客户端访问类型是Outlook RPC/HTTP(S)
 
选择发布单个网站或负载平衡器。
 
利用SSL加密ISAExchange服务器之间的数据。
 
用完全合格域名denver.contoso.com来表示Exchange服务器。
 
Exchange服务器的公用域名为Denver.contoso.com,这些名称都和Exchange服务器证书中的计算机名称保持一致。
 
选择使用之前发布Exchange OWA时创建的Web侦听器,注意将身份验证方法改为基本验证。
 
ISA服务器委派身份验证也使用基本身份验证。
 
此发布规则仅适用于通过身份验证的用户。
 
发布规则完成,此发布规则仅仅把Exchange服务器的RPC虚拟目录发布了出来。
 
6)配置Outlook
好了,最好我们要配置客户端的Outlook,让OutlookRPC数据封装为HTTPS格式。在Istanbul 打开控制面板中的邮件,如下图所示,选择“电子邮件帐户”。
 
选择“查看或更改现有电子邮件帐户”。
 
在电子邮件帐户的属性中点击“更改”。
 
点击下图中的“其他设置”。
 
在其他设置中切换到“连接”标签,勾选“使用HTTP连接到我的Exchange邮箱”,点击“Exchange代理服务器设置”。
 
如下图所示,在Exchange代理服务器设置中,输入Exchange代理服务器为denver.contoso.com,选择无论是快速网络还是低速网络,都优先使用HTTP连接。身份验证方式为基本身份验证。
 
Outlook更改完配置后,我们启动Outlook来访问一下,如下图所示,Outlook要求进行身份验证,我们以contoso\administrator的身份进行身份验证。
 
身份验证通过后,进入了Exchange邮箱,按住Ctrl键,用右键点击屏幕右下角的Outlook图标,如下图所示,选择“连接状态”。
 
如下图所示,连接协议使用的是HTTPS,这证明我们发布RPC Over HTTPS成功了!
 
Exchange发布RPC Over HTTPS非常考验管理员的耐心,大家作此操作时一定要小心谨慎,尤其要注意证书和身份验证的问题.
























本文转自yuelei51CTO博客,原文链接: http://blog.51cto.com/yuelei/91076,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS系统安装之网络问题(Network is unreachable;name or service not found)
CentOS系统安装之网络问题(Network is unreachable;name or service not found)
300 0
技本功|Hive优化之Spark执行引擎参数调优(二)
影响Hive效率的主要有数据倾斜、数据冗余、job的IO以及不同底层引擎配置情况和Hive本身参数和HiveSQL的执行等因素。 本文主要结合实际业务情况,在使用Spark作为底层引擎时,通过一些常见的配置参数对报错任务进行调整优化,主要包含以下两个方面:
653 0
【Q&A系列1】单测集成常见Q&A
云效平台,单测集成amon常见问题总结
2113 0
Hive 1.2.1&Spark&Sqoop安装指南
目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.
1373 0
Hive 1.2.1&Spark&Sqoop安装指南
Hive 1.2.1&Spark&Sqoop安装指南.pdf 目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4.
1390 0
Spark作业调度
Spark在任务提交时,主要存在于Driver和Executor的两个节点. (1)Driver的作用: 用于将所有要处理的RDD的操作转化为DAG,并且根据RDD DAG将JBO分割为多个Stage,最后生成相应的task,分发到各个Executor执行.
677 0
CS 系统框架二[增加默认启动以及代码打开窗体]
前几天有几个朋友要了我的框架源码,这几天也经常通过远程以及电话来帮他解决一些问题,后来他说马上要交项目了,但是有一个问题还没有搞出来,那就是在原有的框架里面如何设置一个窗体自动启动?本身我的框架是登录进去之后所有的菜单都是根据后台的权限进行分配,加载进来之后绑定在工具箱里面,当用户点击菜单之后才会加...
589 0
SABSA教材
 http://www.amzease.com/books/Enterprise-Security-Architecture-A-Business-Driven-Approach/15782...
741 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CDN助力企业网站进入HTTPS时代
立即下载
大国重器--依托光电云打造创新驱动新生态
立即下载
低代码开发师(初级)实战教程
立即下载