RPC协议是否安全?

之前服务过的一家公司昨天打电话给我,想了解下当前部署的邮件系统是否安全。大家知道自打Exchange2013开始,即便是内部的Outlook也不通过RPC协议直接调取服务器的IS进程,而是将RPC报文封装在HTTP(S)报文中,这样可以定向开放服务器的端口80(443),并且可以在公网上传输。

Exchange 2007之前,这个封装协议微软直言不讳地称之为RPC over HTTP。在Exchange 2010之后,他有了个高大上的名字叫Outlook Anywhere。微软的Office365也是用的这个协议,只是国内版和国际版连接的URL不一样。

国际版(Yellowstone)连的是https://outlook.office365.com

0

国内版(Gallatin)连的是https://partner.outlook.cn的地址。

1

 

但相同的是两者都使用了SSL证书以确保传输的安全性。但是这家企业并没有启用SSL,开放的是80端口的http协议。那么问题来了,如果公网传输未加密,解封装之后的RPC协议是否安全呢?

答案依旧是肯定的。从RPC协议的特点我们可以看到:

  1. 首先,客户端向服务器的Kernel发起服务请求;
  2. 服务器验证客户端是否授权(Exchange会将验证工作交给AD),然后将请求缓存在Kernel Buffer中,在处理器空闲时把请求传递给相应进程。
  3. 当进程处理完请求后,应用程序会将结果传回Kernel Buffer。
  4. 在处理器空闲时,Kernel Buffer会将处理结果传回客户端,至此完成了完整的RPC流程。

2

小编以为,从安全性上讲,首先服务端需要验证RPC的发起方授权信息,即是否有权限调用邮箱存储服务;其次Exchange服务器上RPC组件自动关联有Kernel中的SSPI动态链接库,为RPC提供了安全的访问接口



Exchange中文站10周年庆,全网首发Exchange2016中文视频教程促销中,喜欢的童鞋可进入“精选文章”–>“Exchange视频教程”购买。

3

发布于: 浏览:5083 次

还没有评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据