APP下载

工作组环境配置RDS证书

2017-11-08

网络安全和信息化 2017年12期
关键词:远程桌面工作组页面

使 用RDS(Remote Desktop Service,远程桌面服务)服务,可以实现最基本的远程控制操作,让网管员可以轻松实现远控操作。RDS可以为每个远控用户提供独立的操作进。实际上,在Windows Server 2012中,RDS服务属于微软桌面虚拟化的基础技术,并由此实现了桌面虚拟化和应用程序虚拟化,因此,RDS和RemoteAPP以及VDI是存在紧密联系的。RDS服务可以在工作组或者域环境下运作,但是在两种环境中,证书的配置是存在很大不同的。

与RDS服务相关的组件

为了更好地使用RDS服务,这里先简单介绍一下RDS服务的相关组件。在Windows Server 2012中,RDS服务是由RD Web访问、RD网关、RD授权、RD连接代理、RD虚拟化主机、RD会话主机等组件构成,其中的RD会话主机指的是承载应用程序或者远程桌面程序的服务器,RD连接代理可以记录客户端的连接信息,RD Web访问组件可以提供一个访问接口,RD网关其实是一个反向代理。

在多台RD会话主机的场景中,当客户端访问某台RD会话主机上的程序时,如果出现中途异常断开的情况,该用户再次连接时,RD代理服务器会从自身的数据库中查找该用户上次的连接信息,将其自动导向之前连接的RD会话主机。这样,可以保证该客户端可以继续操作RemoteAPP程序。在Windows Server 2012中已经取消了直接让客户端连接到RD会话主机的模式,只允许用户通过RD Web访问这一接口,来访问RemoteAPP程序或者VDI远程桌面。

在默认情况下,客户端通过TCP 3389端口来访问远程桌面。存在多台会话主机的情况下,客户端会先访问RD Web节后,之后再转向目标RD会话主机。这就出现了一个问题,即单个3389端口处理多个Remote APP程序的映射比较繁琐。RD网关的出现,有效解决了该问题,当客户端访问RemoteAPP程序时。首先连接RD网关,之后由其引导用户连接到合适的RD会话主机,让用户顺利访问RemoteAPP程序,并由其处理客户端和RD 会话主机的映射关系。当然,这会使用到TCP 443等端口。

工作组环境中RDS证书问题

在RDS服务中,证书是一个非常重要的对象。使用证书有两个目的,不仅可以对用户的远程登录进行认证,而且可以对数据的传输进行加密。对于RDS服务器来说,希望客户端执行的是安全的连接。在工作组环境中,即RDS服务器和客户端是独立的,当客户端执行“mstsc.exe”程序,输入RDS服务器地址,连接完成后,在远程桌面连接窗口中会显示“无法验证此远程计算机的身份,是否仍要连接?”的提示,说明证书来自不信任的证书验证机构。

以上情况说明,RDS服务器会创建自签名证书,但自签名证书默认是不受信任的,即在工作组环境中,证书的安全实际上没有得到有效保证。但在域环境中情况则截然不同。例如,在域环境中,当客户端登录RDS服务器时,却不会出现无法验证连接者身份的警告窗口,在远程桌面窗口顶部点击锁型按钮,在弹出窗口中显示“已使用Kerberos验证远程计算机的身份”信息。Kerberos是Windows活动目录架构中用于身份验证的加密协议,这说明该RDS连接是安全的。

申请所需证书

如何在工作组环境中也能实现安全连接呢?在域中某服务器(例如名为“CAsrv“”)上打开服务器管理器,点击“添加角色和功能”项,在向导界面中的角色列表中选择“Active Directory证书服务”项,在下一步窗口中选择“证书颁发机构”和“证书颁发机构Web注册”项,当安装该角色后,按照向导提示进行AD证书服务的配置操作,例如,修改CA的公用名称等,一般来说采取默认值即可。打开证书颁发机构窗口,在左侧选择CA公用名称,在其属性窗口中的“扩展”面板中选择以“https://”起始的一行,选择“包括在CRL中。客户端用它来寻找增量的位置”,“包含在颁发的证书的CDP扩展中”,“包含在已发布的CRL的IDP扩展中”项,点击应用按钮,重启AD证书服务。

在左侧的“吊销的证书”项的右键菜单上点击“所有任务→吊销发布”项,点击确定按钮。在RDS服务器上打开浏览器,访问“http://CAsrv.xxx.com/certsrv”,输入合适的域账户名和密码,在欢迎页面中点击“下载CA证书,证书链或CRL”链接,在打开页面中点击“下载证书链”链接,将后缀为“.p7b”的文件保存到本地,假设为名“xinren.p7b”,这是一张信任证书。

信任根证书颁发机构

打开MMC控制台,点击“Ctrl+M”键,在打开窗口左侧选择“证书”项,点击添加按钮,选择“计算机账户”项,在控制台左侧选择“证书→受信任的证书颁发机构→证书”项,在右键菜单上点击“所有任务→导入”项,在向导界面中选择上述“xinren.p7b”文件,依次点击“下一步”和“完成”按钮,将其添加到收信人的根证书颁发机构列表中。在客户端执行同样的操作,使其信任根证书颁发机构。当信任了证书颁发机构后,接下来需要申请证书。

在RDS服务器安装好IIS之后,在IIS管理器中打开服务器证书窗口,因为是在工作组环境中申请证书,所以点击“创建证书申请”链接,在操作向导(如图1)中输入证书的通用名称(输入 RDS主机名)、组织、组织单元、城市/地点、省/市/自治区、国家/地区等信息,点击“下一步”按钮,选择加密服务提供程序和位长信息,一般来说保持默认即可。在下一步窗口中点击浏览按钮,选择申请文件保存路径,点击“完成”按钮,就得到了所需的申请文件。这其实是一个文本文件,使用记事本可以查看其内容,并将其内容完整复制到剪切板中。

创建证书操作

之后打开浏览器,访问“http://CAsrv.xxx.com/certsrv”,在弹出页面中点击“申请证书”链接,之后点击“高级证书申请”链接,在打开页面中点击“使用Base64编码的CMC或PKCS#10文件提交 一个证书,或使用Base64编码的PKCS#7续订证书申请”链接,在打开页面中的“保存的申请”栏中粘贴申请文件内容,在“证书模板”列表中选择“Web服务器”。点击“提交”按钮,在证书已颁发页面中点击“下载证书”链接,将证书文件下载到本地。之后,在IIS管理器中的“服务器证书”窗口右侧点击“完成证书申请”链接,在弹出窗口中的“包含证书颁发机构相应的文件名”栏点击“浏览”按钮,选择上述证书文件,设置易于记忆的名称,选择证书存储位置,点击“确定”按钮,就完成了该证书的创建操作。

图1 申请证书

图2 查看证书的指纹信息

对证书进行绑定

如何将该证书绑定到RDS服务上呢?这需要使用命令行实现。打开申请到的证书的属性窗口,在“详细信息”面板(如图2)中点击“指纹”项,可以看到指纹信息。在CMD窗口中执行“wmic /namespace:\rootcimv2TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="xxxxxxxxx"”命令,当出现“属性更细成功”的提示,说明完成证书的绑定操作。其中的“xxxxxxxxx”表示证书的指纹信息。这样,在工作组环境中,当客户端连接RDS服务器时,就可以利用该证书实现安全连接了。

客户端需要使用RDS服务器名进行连接,才可以依靠证书实现安全连接。可以在客户端打开“C:WindowsSystem32DriversEtc”目录,编辑其中的“hosts”文件,在其中添加RDS名称和IP对应关系,实现简单的DNS解析功能,就可以使用RDS名称连接RDS服务器了。但是,如果使用RDS服务器的IP进行连接,就会出现上述无法信任的问题。因为证书是和RDS主机名绑定的,这是证书的特点之一。应该说同域环境相比,在工作组中环境中配置和管理证书是比较繁琐的。

猜你喜欢

远程桌面工作组页面
刷新生活的页面
答案
肖幼率工作组赴戴家湖涵指导抢险
实战Windows Server 2008 R2远程桌面服务
RemoteApp客户端连接管理
32个工作组印迹 >
安装远程桌面服务
磁县政协专题听取委员工作组2015年工作汇报
百项能效标准推进工程联合工作组会议在京召开
限制远程桌面登录IP的方法