Outlook通过RPC/RPC Over HTTPS访问Exchange邮箱

简介:
介绍 Outlook RPC/RPC Over HTTPS访问Exchange邮箱
 
我们先看一下有哪些方式可以访问Exchange
①Outlook作为客户端软件,通过RPC/RPC Over HTTPS访问
②IE浏览器作为客户端软件,通过HTTP/HTTPS
Outlook Express作客户端软件  通过SMTP/POP3访问
Outlook Express作客户端软件  通过IMAP访问
⑤通过EXIFS访问
 
Outlook是访问Exchange邮箱的最佳客户端软件,在性能和安全方面Outlook明显占有优势(都是微软自家人嘛)
 
我们要先了解一下RPC协议,RPC是远端过程调用的缩写,普通的网络服务大多有自己的固定端口,比如http在80端口,ftp在21端口,RPC实现的服务却是随机端口。RPC工作方式首先,每个基于RPC的服务都有一个UUIDUUID是一组128位长的数字,被用来区分RPC服务。Exchange服务的UUIDA4F1DB00-CA47-B31F-00DD010662DAEPM(终点映射器End Point Mapper 简称EPM是专门为RPC设计的一个服务,端口是135。 客户机首先要连接服务器的135端口,向EPM发起一个查询请求,查询请求中描述了自己所请求服务的UUID然后请EPM告知这个服务对应的端口是多少。EPM查询后告诉客户机,你所请求的这个服务在哪个端口监听。客户机接到这个答案后,接下来就会去连接这个端口,和服务器连接了!
 
因为RPC服务的端口是随机的,存在危险性,所以我们在内网使用RPC访问Exchang服务很正常一旦放到公网,RPC访问就会出现问题,这是因为网络运营商一旦遇到访问135端口的数据包就会马上丢弃。为了应付运营商的封锁,超强的工程师就想到了,把RPC封装成HTTP包,所以这就是我们要用RPC/RPC Over HTTPS来访问邮箱的原因。
 
实验环境如下图所示,China是DNS,Beijing是域控制器和CA服务器,HK是Exchange服务器,London和NewYork都安装了Outlook 2003作为访问邮箱的客户机
一  Outlook通过RPC访问Exchange邮箱
用Administrator登录到London,打开Outlook,因为Administrator已经创建了配置文件,所以我们直接进入Outlook。我们要查看Outlook和Exchange服务器是靠RPC连接还是通过RPC Over HTTPS连接的,按住Ctrl键,右键单击屏幕右下角的Outlook图标,如下图所示,选择“连接状态”(只有按住Crtl键才能看到连接状态)
如下图所示,Outlook和Exchange服务器是通过RPC连接的。
 
二  Outlook通过RPC Over HTTPS访问邮箱
 
通过RPC Over HTTP访问邮箱,就要把RPC封装成HTTP格式,然后再用SSL进行加密,Exchange服务器收到数据后,先对数据进行解密,然多把HTTP数据包解封装成RPC格式。首相我们要完成以下步骤才能实现访问。
 ①在Exchange服务器上安装“HTTP上的代理RPC”并且 对“HTTP代理上的RPC” 进行配置
 ②创建CA服务器
 ③Exchange服务器申请证书
 ④配置IIS的身份验证方式
 ⑤配置客户机上的Outlook
 
 ①在Exchange服务器上安装“HTTP上的代理RPC”并且 对“HTTP代理上的RPC进行配置”
 
/
Rpcproxy.dll
HTTP
这里我们主要配置RPC的端口号,因为他对HTTP包里的RPC数据包有端口限制。默认情况下,RPC数据包的端口在100-5000之间,然而不巧的是Exchange服务器使用RPC服务端口是,6001,6002....等,不在100-5000这个范围内。我们通过修改注册表把端口范围调到100-7000这个范围,这样就OK了。
在Exchange服务器上运行Regedit,打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy\ValidPorts]
NETBIOS,还是用完全合格域名,我们考虑到可能有外网用户访问服务器,所以我们还是改为使用较多的完全合格域名,如下图所示
 
创建CA服务器
/
接下来是选择CA的类型,我们选择“企业根”这是因为我们部署的是第一台CA服务器,如下图所示
下面要填写CA信息,按照默认设置完成CA安装
特别提示,在HK,London,NewYork,刷新一下组策略,让他们信任Beijing的CA的颁发机构
 
③Exchange服务器申请证书
 
itet.com域内有了CA服务器,Exchange就可以申请证书了,打开“Internet信息服务(IIS)管理器”右击默认网站,选择属性-目录安全性-服务器证书,如下图所示
进入申请向导
新建证书
选择“立即将证书请求发送到联机证书颁发机构”
输入证书名称
填写单位的相关信息
填写站点公用名称是其完全合格域名
这一部很重要,要和刚才修改注册表是填的计算机名保持一致,客户机访问Exchange服务器时也要用这个计算机名
下面的参数按照默认就可以了(端口好:443不要改),完成向导,EXchange服务器证书申请成功。查看证书如下图所示
 
配置IIS的身份验证方式
 
接下来配置IIS的身份验证方式。Outlook把RPC封装成HTTP格式,再进行SSL加密传送到RPC虚拟目录,由于RPC虚拟目录采用的是匿名验证方式,所以我们把它改成基本验证方式,不用担心他的安全性,因为我们还要进行SSL加密!!
打开“Internet信息服务(IIS)管理器”默认网站-RPC-属性-目录安全性,点击编辑,如下图所示
关闭“匿名访问”和“Windows集成验证”打开“基本验证”如下图所示
 
配置客户机上的Outlook
 
我们要让Outlook把RPC封装成HTTP格式,在London上打开控制面板-邮件-电子邮件账号
选择“查看或更改现有电子邮件账户”所下图所示
在Outlook中创建好的账号点击“更改”
原参数不做修改,点击“其他设置”在弹出的选项卡里选择连接,点击“使用HTTP连接到我的Exchange邮箱”如下图所示
在链接到Exchange代理服务器里填写完全合格域名,要与在我们申请的证书的公用名和更改Exchange服务器注册表填写的RPC服务器名完全相同。无论是快速或低速网络,Outlook都优先使用HTTP格式传输数据。将身份验证改为基本身份验证和RPC虚拟目录验证方式一致,如下图所示
 
完成Outlook的配置,我们以Administrator的身份登录Outlook,这时候出现身份验证,提示输入用户名和密码(基本身份验证)
进入邮箱后查看Outlook“连接状态”(按住Ctrl点击图标)连接使用的是HTTPS,实验成果!!!如下图所示
 
这样以来OutlookRPC/RPC Over HTTPS访问Exchange邮箱就完成了.
本文出自 “吕达” 博客,请务必保留此出处http://lvdaz.blog.51cto.com/822542/183628
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
3月前
|
缓存 网络协议 安全
计算机网络 TCP、RPC、GRPC、HTTP 对比
【1月更文挑战第1天】计算机网络 TCP、RPC、GRPC、HTTP 对比
|
3月前
|
网络协议 Java 程序员
SpringCloud 远程调用为啥要采用HTTP,而不是RPC?
关于SpringCloud远程调用采用HTTP而非RPC。
66 0
|
3月前
|
网络协议 安全 API
计算机网络 TCP、RPC、GRPC、HTTP 总结
【1月更文挑战第1天】计算机网络 TCP、RPC、GRPC、HTTP 总结
|
4月前
|
缓存 网络协议 安全
tcp、http、rpc和grpc得一些个人总结
tcp、http、rpc和grpc得一些个人总结
75 0
|
6月前
|
JSON Go 开发工具
Go语言学习 - RPC篇:理解标准库HTTP的hander实现逻辑
在Go语言中,常见的RPC包括HTTP/gRPC/Thrift等,但绝大多数的开发场景仍是基于HTTP。本文对RPC的讨论,主要是基于HTTP的场景。
39 0
|
6月前
|
自然语言处理 负载均衡 安全
HTTP那么强大,RPC为啥还有用武之地?
HTTP那么强大,RPC为啥还有用武之地?
49 0
|
8月前
|
JSON 网络协议 程序员
既然有HTTP协议,为什么还要有RPC
既然有HTTP协议,为什么还要有RPC
82 0
|
9月前
|
开发框架 负载均衡 监控
既然有了HTTP,为什么还要RPC?
既然有了HTTP,为什么还要RPC?
|
10月前
|
网络协议 Dubbo Java
【远程调用框架概述 一】基于HTTP和RPC的远程调用方式
【远程调用框架概述 一】基于HTTP和RPC的远程调用方式
250 0
|
10月前
|
JSON 负载均衡 网络协议
rpc和http的区别?
rpc和http的区别?
109 0