如何允许基于客户端证书的RDP访问

我怎样才能限制(RDP)访问Windows服务器不仅通过用户名/密码,而且还与客户端证书

想象一下,创build一个证书并将其复制到我想从中访问服务器的所有计算机。

这不会像基于IP的规则那样受到限制,反而会增加一些灵活性,因为不是每个电脑/笔记本电脑都处于某个域或修复IP范围。

您可以在受影响的机器上设置IPSEC证书,可能与NAP一起使用,并使用Windows防火墙过滤未encryption的RDPstream量 。

以下是与您的请求类似但使用预共享密钥而不是证书的场景的演练 。

但请记住,“创build证书并将其复制到所有计算机”本身就是一个坏主意 – 显然,您应该为每个客户端创build一个证书,并相应地设置您的访问规则。 这样可以确保连接的机密性,并可以在证书丢失/泄露的情况下撤消证书,而不会中断其他机器的连接。

编辑:看起来很诱人的事情是设置一个远程桌面网关 (基本上是一个RDP的HTTPS隧道网关),并通过IIS属性build立SSL连接时要求客户端证书身份validation(网关在IIS中作为ASP.NET应用程序实现) 。 但是,这似乎不被远程桌面客户端支持 – 没有办法为代理连接提供客户端证书。

一种方法是实施智能卡解决scheme。 由于成本和痛苦的门槛,可能不是你要找的东西,但是很多智能卡实际上就是这样的(基于硬件的证书具有强大的私钥保护),远程桌面集成是无缝的。