认证管理是VDI部署过程中一个容易被忽略的部分。尽管数字认证并不是强制需求,但是有时候虚拟桌面的内部和外部都需要使用它。
在虚拟桌面基础设施(VDI)中,哪些方面可以使用数字认证来加强安全性呢?对于数字认证的使用,每个组织的需求都不尽相同。在主要使用Windows的组织当中,最好确保虚拟桌面对于使用SSL加密的应用服务器保持信任。并且建议对于组织当中的任何远程桌面协议(RDP)文件进行数字签名。
基于Web的应用程序
除非你居住在山洞之中,否则你一定知道现在IT领域最大的趋势之一就是许多应用程序正在向云中迁移。即使你在本地运行所有的应用程序,这些应用中的大部分也很有可能是支持Web的,这样就可以通过Web浏览器来访问它们了。
大多数应用程序Web接口使用安全套接字层(SSL)加密方式来加强敏感数据的安全性。SSL加密是基于认证的,但是加密过程中需要使用的X.509认证是安装在运行应用程序的Web服务器上,而不是客户端电脑或者虚拟桌面上的。但是,这并不意味着对于虚拟桌面不需要进行认证。
当浏览器尝试和Web服务器进行SSL连接时,浏览器会检查服务器端认证是否可用、没有过期和来自可信源。如果认证已经过期或者来自可疑源,那么当用户尝试访问加密页面时,浏览器会显示错误信息。
Windows桌面操作系统已经提前配置了信任所有知名的商业(公开)认证中心。然而,并非所有使用认证的Web应用程序都是通过广泛信任的组织进行发布。对于在本地运行的应用程序来说具有更大的可能性。
比如,Exchange服务器提供了一个称为Outlook Web App的web接口。最新版本的Exchange服务器默认都使用了自签名认证,但是自签名认证并不能通过虚拟机的信任。对于这种情况,微软推荐使用公共认证中心或者企业认证中心发布的认证替代自签名认证。
一些组织选择使用Windows服务器作为企业认证中心。这样做可以获得更多的自由度,根据需求来发布认证,而不用为从公共认证中心购买认证支付费用。但是,就像使用自签名认证一样,由企业认证中心发布的认证不能通过虚拟桌面的信任。下面是解决这个问题的方法:
▲图1. 必须要将认证中心的认证添加到虚拟桌面的信任根认证中心里
从企业认证中心下载一个CA认证,将其加入到虚拟桌面的信任根认证中心列表(如图1所示)。作为替代方案,也可以使用参加微软根认证项目会员的公共认证中心对内部的认证进行共同签名。
使用认证进行连接
在微软的VDI环境中,RDP文件用于将Windows客户端和虚拟桌面或RemoteApp应用程序进行连接。尽管RDP文件在没有认证的情况下仍然可以工作,但是微软推荐使用认证来对所有RDP文件进行数字签名。这可以确凿地证明RDP文件是由组织发布的,而不是用来连接到恶意主机的伪造文件。
尽管使用数字签名的RDP文件是个不错的方法,但是仍然有一些限制值得注意。首先,只有Windows客户端可以使用RDP文件。其次,用户只能在6.1以及更高版本的设备,或者在微软远程桌面客户端平台上使用数字签名的RDP文件来连接到远程桌面。
▲图2. 使用组策略强制Windows客户端检查RDP文件的数字签名
如果想要检测对RDP文件进行数字签名过程中可能遇到的问题,那么最好配置远程桌面客户端来寻找签名。如果客户端机器已经加入到域中,可以使用组策略来完成操作。如果没有在域中,可以更改本地安全策略。
控制安全设定策略位于Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Connection Client。“使用指定SHA1特征指定可信RDP发行商” 设定可以用于指定特殊的RDP文件信任源(如图2所示)你还需要禁止“允许未知发行商的.RDP文件”设定。
需要注意的是在BYOD环境中更改本地安全策略可能会很复杂。