Rpc(远程过程调用协议), 此协议提供了一种进程间通信机制,通过这一机制在一台计算机上运行的程序可以顺畅的执行某个远程系统上的代码。但是RPC处理通过TCP/IP的消息交换的部分有一个漏洞,说一下RPC守候在135端口。利用此漏洞,攻击者可能利用RPC,向远程计算机上的135端口发送精心编造的请求能力,从而对计算机造成威胁。
由于RPC病毒的造成的威胁,电信部门可能会在公网上封锁RPC协议,所以RPC over HTTPS是把Rpc协议封装成HTTPS格式,通过公网后,在服务器端在解封装成RPC。这样就可以完成RPC数据的传递。
实验拓扑图如下。
实验过程如下:
一 安装 HTTP代理上的RPC
二 申请证书
三 设置验证方式
四 在客户机上进行封装配置
打开outlook后,按住ctrl 键,然后右击右下角的outlook图标,点击连接状态后,可以查看是什么连接,下图中连接是TCP/IPl。
一 在exchange服务器berlin上安装“HTTP代理上的RPC”。这样Exchange服务器受到http格式的RPC数据包时具有解封装的能力。在控制面板-添加或删除程序-添加/删除Windows组件中,选择网络服务,勾选“HTTP代理上的RPC”。
安装完后,可以检查IIS,这时发现IIS的默认站点中多了一个RPC虚拟目录,虚拟目录中有一个rpcproxy.dll的动态链接库,其实就是这个文件具有解封装的功能,客户端也会把封装好的RPC数据按照约定发到Exchange的RPC虚拟目录下。
然后开始配置“HTTP代理上的rpc”.由于代理的RPC协议端口范围在100-5000。而exchange服务器使用的rpc端口超过6000.所以我们需要在注册表上修改设置,
运行regedit,打开注册表。
找到注册表中的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy\ValidPorts这里的100-7000扩大了端口范围,而BERLIN.EXCHTEST.COM是为了和用户访问exchange服务器的域名相匹配,同时要和下面的申请的证书相匹配,因此很重要。
二 申请证书。那么在申请之前要做的是创建证书服务器,我们在域控制器上搭建CA服务器,在组件中选择证书服务,选择是。
CA的类型选择企业根,企业根和活动目录的集成,这样相对来说创建企业根将很方便。
写下CA的名称,然后下一步。
提示你要安装完成,internet信息服务将要停止。问你是否停止,选择是,停止服务。
安装完成后,可以在berlin 和frienze上刷新组策略,输入gpupdate /force,这样使它快点生效。
在berlin上运行框中输入mmc,打开控制台,添加证书模板,在受信任的根证书本法机构中查看证书,可以看到刚刚创建的CA服务器。
然后在IIS中。右击网站属性,在安全目录中,选服务器证书,
开始申请证书。
选择新建。
立即发送到证书颁发机构,
默认可以。
写入单位,部门。
这里公用名称很重要,在上面提过,写入公用名称berlin.exchtest.com,要和访问的域名相同。
写入地理信息
使用默认的端口就行了。
在这选择CA机构。
安装完成。
安装完后可以查看证书,
三 在exchange服务器berlin上IIS中,网站的rpc属性中,选择目录安全性,编辑身份验证和访问控制,
只选择基本身份验证,虽然是明文验证,但我们还要用SSL加密。
四 在客户机frienze上控制面板上,邮件设置,选择电子邮件帐户,
选择查看和修改电子邮件帐户。
选择更改,
在其它设置中选择连接。
这里勾选使用HTTP连接到我的Exchange邮箱,然后选择Exchange代理服务设置,
输入代理服务器,berlin.exchtest.com ,同时选择 基本身份验证。然后确定,重新登入。
和开始一样 按住ctrl键,查看状态,这时连接变成HTTPS连接。说明试验成功,
仔细想想其实发布 RPC OVER HTTPS 并不复杂,就是创建一个rpc虚拟目录。稍有点麻烦就是搭建RPC OVER HTTPS的实验环境,