我必须通过 RDP 向匿名用户发布单个应用程序。服务器是 Windows 2008 R2,用户连接使用 Ericom 的 WebConnect 解决方案处理。这并没有太大变化 - 对于终端服务器来说,它仍然是一个正常的 RDP 连接。
问题
Windows 2008 R2 终端服务器能否完全隔离同一用户的并行会话?还是我必须将应用程序放在某种沙盒中?
设置
为了使未知访问者能够连接到应用程序,通用域来宾用户帐户使用了命名visitor
。为了允许每个服务器有多个并行会话,我禁用了该设置Restrict each user to a single session
。
我现在希望每个访问者都能获得一个新的会话。具体来说:用户连接,配置的应用程序启动,用户使用它,进行更改(保存到注册表),关闭应用程序,然后会话被丢弃。我设置了一个组策略,以便用户只能获得一个临时配置文件,该配置文件不会通过Delete cached copies of roaming profiles
和同步回漫游配置文件Prevent Roaming Profile changes from propagating to the server
。
问题
只要visitor
一次只有一个连接到服务器,上述方法就可以正常工作。如果同时有更多用户,比如visitor #1
和,则主要问题会出现visitor #2
。这些用户共享相同的环境 - 用户的注册表等。因此,这两个实例会相互影响,这是不好的。
次要问题是最近关闭的连接可以由另一个用户恢复。这肯定是不可能的。(我仍在寻找一种方法来防止这种情况,但这不是这里的主要问题。我们可能会完全禁止重新连接。)
在这种情况下,安全性不是大问题。但我们希望确保每个用户都能看到相同的内容。
谢谢
答案1
同一用户帐户的登录之间没有安全隔离。您必须创建多个用户帐户才能实现用户登录之间的操作系统级隔离。
实现结束断开连接的会话的最佳方法是设置“设置断开连接的会话的时间限制”策略设置。据我所知,没有选项可以立即结束断开的终端服务会话,但此设置将在断开连接后 1 分钟内结束它们。