在配置完了Exchange之后我们趁热打铁,继续实现Exchange的其他功能,今天我们谈谈邮件互访中的outlook通过RPC OVER HTTPS实现互访。那么Exchange还有那些访问方式?
1》outlook为client——使用RPC(远端过程调用)或者RPC OVER HTTPS访问
2》OE为client——使用SMTP \ POPO访问
3》OE为client——使用IMAP4访问
4》IE为client——使用HTTP \ HTTPS访问
5》EXITS访问
从性能和安全、配合(与Exchange)我们还是觉得Outlook更加突出。Office Outlook是微软办公软件的组件之一,它是Windows自带的OE(Outlook Express增强版)功能主要用来收发电子邮件、管理联系人信息、日志、分配任务等。下面我们就来看看如何用Outlook通过RPC/RPC Over HTTPS访问Exchange邮箱。
下面我们来看一个RPC原理图:
RPC是Remote Procedure Call Protocol的简写,中文就是远程过程调用协议。RPC采用C/S。请求程序就是一个客户机,而服务提供程序就是一个服务器。
首先,调用进程发送一个有进程参数的调用信息到服务进程,这个进程参数就是一个UUID,为128位长的数字,用来区分RPC服务,每次一些基于RPC的服务启动时都有一个高端口进行监听,这个端口是随机的,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。这些RPC服务会把自己的UUID以及自己监听的端口存储在EPM(End Point Mapper)中,EPM的端口是135,其记录了本地有多少个基于RPC服务和这些服务监听的高口各是多少。
说了这么多那么大家会想到,RPC的端口是多少呢?呵呵,RPC是一个动态端口,如上图所示,客户机需访问Exchange服务器的话,客户 机要先到服务器的135口,向EPM发出一个查询请求,查询中有自己所要服务的UUID,然后EPM查询后告诉客户机,这个服务在6001端口监听。这个过程就可以和Exchange通讯了。。。我们在公网上有时候发现基于RPC服务的操作做不了,有一些大侠发现了这招,就是用RPC over HTTPS来进行访问邮箱。
简单说下我的环境,Florence是域控制器,Berlin是Exchange服务器,而Istanbul是我们的客户机,同属于一个域内Exchange.com中~~~
一:在Florence上创建企业根CA。
添加证书服务
自己创建一个企业根CA
给命名一个名称,为了方便我们就起个ExchangeCA喽,正儿八经的CA申请很复制,需要审批到###呵呵,不过要是你在企业内部使用,自己创建一个CA也是可以滴
在创建CA时候需要停止掉IIS服务,点击确定即可
安装ing
安装完成喽,嘿嘿
为了试验的尽快进行,我们可以使用非常手段让其策略尽快生效,建议正常情况下(生产环境下)不要这样使用
这个时候可以看到我们的客户端和Exchange服务器已经信任了我们做的CA了(可以到“IE选项中——内容——证书——受信任的根证书颁发机构”)进行查看
二:Berlin的web上申请一个证书
默认的IIS中网站是停止的,我们需要手工启动它(开始菜的——程序——管理工具——IIS管理器)
点击“默认网站属性——服务器证书”来申请证书
选择一个证书分配方法
这里你要注意喽,选择第一个是像我们日常生活的CA去申请一个证书喽,别看是现在准备证书申请,呵呵,其实很慢滴,它审批到了你的身份证是几位数!哈哈,玩笑,反正现实生活申请证书确实很难。我们在前面自己做了一个证书,所以我们选择“立即将证书请求发送到联机证书颁发机构”
输入证书名称,那就是ExchangeCA了
输入一些基本信息,试验环境,无所谓,TEST就TEST吧
证书公用名称,要用完全合格域名,客户机访问Exchange服务器时要使用这个计算机名
这里不过是个措词,我就写当地,北京证书颁发机构
使用指定的SSL端口,我们是使用加密的http所以端口自然是443了,这个表要改撒
选择证书颁发机构
在检查一下所填写的信息之后我们就申请了一个证书
好了,在申请完了证书后,我们可以测试一下,看看证书到底有多强,在客户机上我们使用合格域名来访问Exchange服务器Berlin
看到了吗?呵呵,这个就不行了,这个就是怪它死心眼,说访问berlin必需是得有证书、以为是外网访问了
三:Exchange服务器上安装HTTP代理RPC组件
可以到添加删除组件中找到网络服务中的HTTP代理上的RPC进行安装
挂入win2003安装光盘后,我们可以看到结果
四:修改HTTP代理RPC端口
下面我们要对“HTTP代理上的RPC”进行配置,主要是RPC端口。HTTP代理上的RPC可将封装HTTP包内的RPC数据解封装出来,但对HTTP包内的RPC数据包有端口限制,默认情况下,只允许RPC数据包的端口范围在100-5000。那Exchange服务器使用的RPC服务端口不在100-5000。Exchange服务器使用的RPC服务使用的常用端口有6001,6002,6004等,超出了100-5000范围,将RPC端口扩大为100-7000。我们既然知道了,RPC数据包的端口范围是100-5000那么我们可以直接搜索一下
搜到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy\ValidPorts],原来键值是 BERLIN:100-5000修改为BERLIN.EXCHTEST.COM:100-7000
可以看到了,Berlin中的颁发者是berlin.exchange.com,并且由ExchangeCA颁发
五:RPC虚机目录,使用基本验证
到开始菜单—程序—管理工具—IIS管理器-默认网站-RPC属性-目录安全性,把启用匿名访问的钩去掉,并且使用基本身份验证,但是注意到了没有大家?基本身份验证是以明文传输密码的。哈哈,我们前面做了什么操作?我们访问其实以SSL访问的。那个时候是RPC封装后的HTTP进行,不需担心
我们可以看看效果。。。以user2登录进客户机
可以按Ctrl键,右键单击菜单栏右下角的Outlook图标,选择连接状态,这个时候还是TCP传输
我们可以更改其账户看到HTTPS结果,那还等什么?到控制面板—邮件—选择电子邮件账户
选择查看或更改现有电子邮件账户,我们更改user2的账户
点击更改
看到了服务器和用户名不要更改,我们可以到其他设置中进行更改其他选项
勾选使用HTTP链接我的Exchange邮箱,并且打开Exchange代理服务器设置
填写url链接方式,和勾选使用SSL链接和在快速网络和低俗网络中首选HTTP链接,后使TCP链接,并且选择基本身份验证
完成设定
登录Exchange服务器的时候,提示用户名和口令。。。
这个时候我们在看看是不是采用了HTTPS登录链接了
没有问题,RPC OVER HTTPS试验很成功,感兴趣就试试吧