Isolate multiple Terminal Server Sessions of the same user account

remote desktopremote-desktop-servicesterminal-serverwindows-server-2008-r2

I have to publish a single application via RDP to anonymous users. The server(s) are Windows 2008 R2 and the user connection is handled using Ericom's WebConnect Solution. Which does not change much – for the Terminal Server it is still an normal RDP connection.

Question

Can a Windows 2008 R2 Terminal Server isolate parallel sessions of the same user at all? Or do I have to put the application in a sort of sandbox?

Setup

To enable a unknown visitor to connect to the application, a generic Domain Guest user account named visitor is used. To allow more than one parallel session per server I disabled the setting Restrict each user to a single session.

I now want that each visitor get's a fresh session. To be specific: The user connects, the configured applications starts, the users works with it, makes changes (saved to the registry), closes the application and the session get's discarded. I set up a group policy so that the user will only get a temporary profile that will not be synced back into the roaming profile via Delete cached copies of roaming profiles and Prevent Roaming Profile changes from propagating to the server.

Issue

The above works fine as long as there is only one visitor connected to a server at a time. The main problem rises if there are more simultaneous users, say visitor #1 and visitor #2. These share the same environment – the user's registry among other things. So the two instances affect each other, which is bad.

A secondary issue is that a recently closed connection can be resumed by another user. This must not be possible. (I'm still looking for a way to prevent this, but it's not the main question here. We will probably forbid reconnection at all.)

Security is no big concern in this scenario. But we want to make sure every user sees the same.

Thanks

Best Answer

There is no security isolation between logons for the same user account. You're going to have to create multiple user accounts to achieve OS-level isolation between the user logons.

The best method to achieve your goal of ending disconnected sessions is to set the "Set time limit for disconnected sessions" policy setting. There is no option that I'm aware of that will immediately end disconnected Terminal Services sessions, but this setting will end them within 1 minute of their disconnection.