In the last few months, the crisis with COVID19 has put organizations in a panic to enable employees to be able to work from home, to continue business productivity, keep employees safe, and keep employees on the payroll. It’s good for business, and it’s good for employees to avoid layoffs so everyone keeps their jobs.
This has put IT departments and IT professionals in a hectic position where they must roll out and deploy remote access technologies on the fly, often with little or no notice.
I’ve heard horror stories where organization leadership has made decisions without consulting IT which resulted in the inability to work, also where organizations didn’t involve their IT teams in strategizing and planning moving forward.
In this post I’m going to outline the most efficient way to rapidly deploy Remote Desktop Services (RDS) for employee remote access.
Remote Access Technologies
There’s a number of different remote access technologies and software packages available today. Some are designed to allow you to work fully remotely (providing a remote desktop to office resources), and some are designed to provide access to specific resources remotely (such as documents, files, etc).
The main technologies typically used for remote access include:
- Remote Desktop Services (RDS)
- Remote Desktop Gateway
- Virtual Desktop Infrastructure (VDI)
- Hosted Desktop Infrastructure (HDI)
- Virtual Private Network (VPN)
- Miscellaneous 3rd party packages providing remote access to desktops
The main software packages that enable a remote workforce include:
- Microsoft Office 365
- Microsoft 365
- Skype for Business
- Microsoft Teams
- Numerous other applications and cloud suites
Every technology or application has it’s purpose and is deployed depending on the business requirements, however in this specific situation we need a solution that is easy and fast to deploy.
For most small to medium sized businesses, Remote Desktop Services would be the easiest solution to roll out on such short notice.
Remote Desktop Services (RDS)
Remote Desktop Services is a server/client technology that allows the client to connect to the server, and have access to a full Windows desktop that’s actually running on the server itself.
These sessions are encrypted, secure, and essentially brings the display to the connecting client, and brings back mouse and keyboard feedback.
With Remote Desktop Services, you’re maintaining one Windows Server that provides multiple concurrent sessions for multiple concurrent users. You can install software packages (database applications, Microsoft Office 365, and other line of business applications), and make them available to the connecting users.
Even users who are accessing large files have a beautiful experience since the data never leaves your IT environment, only the sessions display is transmitted.
This works great for home users who have slow internet connections, users who are travelling, or using their cell networks LTE connection to connect.
For administrators, it provides an easy way to manage a desktop experience for multiple users by maintain a single server. There are also many additional controls you can implement to limit access and optimize the experience.
When deploying RDS, you’ll need the following:
- A dedicated Server or dedicated Virtual Machine running Microsoft Windows Server to be configured as a Remote Desktop Services server.
- Remote Desktop Services CALs (Client Access Licenses – One CAL is required for each user or device)
- A high speed internet connection (that can handle multiple RDS sessions)
- A firewall to protect the RDS Server and preferably 2FA/MFA logins
- A Static IP and DNS entries to make the server available to the internet and your users
You’ll want the RDS server to be dedicated strictly to Remote Desktop Services sessions. You will not want to run any other servers or services on this server or virtual machine.
You will need to purchase RDS CALs. A Remote Desktop Services Client access license, is required for every device or user you have connected to your RDS server. During your initial purchase of RDS CALs, you must choose between user count based licensing, or device count based licensing. If you need help with licensing Microsoft Remote Desktop Services, please feel free to reach out to me.
The connections between the server and client consist of an encrypted presentation of the display, as well as mouse/keyboard feedback, and other peripherals. For a single session it’s not much, which means your users don’t ultra fast internet connections. However, on the server side if you are running multiple sessions, the bandwidth requirements add up.
Remote Desktop Services servers are often under attack on the internet. You’ll find that the servers are subjected to scans, brute force attempts, and exploit execution. You’ll want to make sure that you have both a firewall (with intrusion prevention) and a security technology like DUO Security Two Factor Authentication configured to protect your server.
Finally, you’ll need a static IP on the internet and a friendly DNS hostname for your employees to connect to using the Remote Desktop Protocol (RDP) Client, such as “remote.companyname.com”.
Deploying RDS is easy. Here is a brief summary of the steps to rapidly deploy a Remote Desktop Services server for remote access.
- Install Windows Server on the server or virtual machine that will host RDS.
- Configure networking (static IP) and join to domain.
- Using the server manager, add the Remote Desktop Services role.
- Configure Remote Desktop Services and Remote Desktop Web Access
- Configure an SSL Certificate
- Configure user session settings
- Install user software on the RDS Server (Including Office 365, Line of Business applications, and others)
- Configure ACLs (Access Control) to secure user access.
- Test the environment
- Move to production
Even with limited to no experience with Remote Desktop Services, an IT professional will be able to deploy the first server within hours. A focus must be paid to securing the environment, performance enhancements can be made later after deployment.
Please note that special steps are required when you install Office 365 in a Remote Desktop Services Environment, and configure office 365 in a Remote Desktop Services environment.
Microsoft has a detailed deployment guide available here: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-deploy-infrastructure
As mentioned above, your RDS server will be subject to ongoing attacks. These attacks include vulnerability scans, bruteforce attempts, and targeted exploitation attempts.
- You’ll want to make sure that you have and enforce strict password policies to stop bruteforce attempts.
- A firewall should be implemented that includes an intrusion prevention system to identify and stop intrusion attempts.
- You should implement two factor authentication using a product like Duo from Duo Security.
Your new RDS server while enabling a mobile workforce, also substantially increases your security footprint. Considerations must always be made and factored in when deploying internet available services.
Below is a video demo of what Duo Security Two Facter authentication looks like when logging in to an RDP session.
There’s a fair number of optimizations which can be made in an RDS environment. I’m going to cover a few of the most widely used below.
Please note, you should also configure the RDS Group Policy Objects (GPO) as well.
While most data should be stored on network shares, we often find that users will store data and files on their Desktop and My Documents.
If you have available and extra storage, you can enable Desktop and My Documents Folder redirection. This will redirect users Desktop’s and My Document’s folders to a network share. On local computers on your network, the computers will retain a cached copy for performance.
If you deploy an RDS Server and have Folder redirection configured, the users My Documents and Desktop will be available to that user. Additionally since the server is on the same network as the share hosting the data, the RDS server will not retain a local cached copy (saving space).
If you are considering implementing and turning on Folder Redirection, I would recommend doing so before deploying an RDS Server (especially before a user logs in for the first time).
Anti-virus and Endpoint Protection
Careful consideration must be made when choosing the antivirus and endpoint protection software for your RDS environment.
First, you must make sure that your antivirus and/or endpoint protection vendor supports Remote Desktop Services, and then also deploy their recommended settings for that type of environment.
A proper endpoint protection solution should run few processes for all users, and not individual processes for each user.
For continued service delivery, your IT staff must monitor and maintain the server. This includes monitoring logs, updating it via Windows Update, and updating the various applications your users are using.
As the environment grows, you can deploy additional RDS Servers and create an RDS Farm. If you get to this point you’ll be able to deploy a load balancer and grow as more performance is required, or additional users are brought online.
When installing software on your Remote Desktop Services Server, extra steps must be taken so that the registry is properly handled for the multi-user environment.
Before launching a software installer, open a command prompt (elevated as Administrator) and run the following command:
change user /install
This will change your user session to an install mode. You can now run your software installation.
After the software installation is complete, put the RDS Server back in to execution mode with the following command:
change user /execute
Performing the above will make sure that the registry is properly handled during software installation for proper functioning of software in a multi-user RDS environment. Restarting the server will always automatically bring it back up in execute mode.
Deploying a Remote Desktop Services server is a great way to get a large number of users online and working remotely in a short amount of time. This keeps management happy, employees happy, and maintains a productive workforce.
As I mentioned, there are numerous other technologies so depending on what your company has already implemented or is using, may change what solution would be best for you.
If you have any questions or require help or assistance with deploying Remote Desktop Services for your organization, don’t hesitate to reach out to me!
Leave a comment with some feedback!