In September 2018 the FBI issued a public service announcement regarding risks and hacking attempts again the RDP protocol. See the announcement here which includes some suggestions (with additional considerations below) https://www.ic3.gov/media/2018/180927.aspx
Considerations For Securing your Windows Server / RDP Terminal Server
Here is a list of various actions to consider to help secure your remote server environment:
After applying any of the actions above, make sure to test whether they are working properly. You can open multiple RDP sessions using different user names initiated from one PC which can be useful for testing.
The information provided in this document/post is intended to provide general information only and is not a complete listing of available considerations. The content is provided AS IS without any express or implied warranties of any kind with respect to the accuracy, correctness, reliability, or fitness for a particular purpose. You should be discussing all security policies and related procedures, configurations, monitoring and other server management functions with your IT staff or consultants. Riptide Hosting does not provide managed services and is not a substitute for you maintaining your own IT staff/consultants.
Using the Remote Desktop Gateway Role (RDGW) provides additional security by forcing RDP traffic over https/port 443 (requires SSL certificate) instead of port 3389.
General steps to install the RDGW role on Windows Server 2016: (we have a more detailed post on this too)
Install RDGW role which will also install IIS
In RD Gateway Manager, create CAP and RAP policies for who can login to the gateway and what resources they can access.
For initial testing/deployment, you can create a self-signed certification and change the certificate name to IP address in the name field. Using a self-signed certificate will require you to install the certificate on each client device. Using a SSL cert issued by a certificate authority is preferred and can only be issued in the domain name, not IP address).
Confirm that all items in the RD Gateway Manager have green checkmarks.
From the RD Connection Client on your local PC, go to more options, advanced tab, enter gateway settings before connecting.
Turn off port 3389 to the outside on the Windows Firewall on the server to force traffic to use port 443.
Lockout Policies (based on username attempts, not IP addresses):
To lock out an account for a period of time after a number of incorrect login attempts (to create delay with recurring failed logins), you can set up Account Lockout Policies in Windows. It does NOT apply to the Administrator account (so you may want to disable the Administrator account and create a different account with administrator rights – see previous suggestion). Lockout policies can be useful to prevent brute-force password guessing attacks but can cause your accounts to be locked out without you being able to access the server (so plan accordingly).
Local Security Policy (secpol.msc) -> Security Policies -> Account Policies -> Account Lockout Policy, set values for the three options, OR
Gpedit.msc -> Local Computer Policy -> Computer Configuration -> Windows Settings -> Security Policies -> Account Policies -> Account Lockout Policy, set values for the three options
To unlock an account, (if a legit user is locked out) login under an active account (with administrator properties), go to the locked out user’s properties, and uncheck the box by “account is locked out”.
You can see detailed status of a user account by opening the command prompt and typing “net user [username]”
By default, all users in the “Administrators group” have RDP access rights. And, of course, all users in the “Remote Desktop Users group” have RDP access rights too. If you only want some members of the Administrators group to have RDP access, you can adjust this in Local Security Settings as follows: by removing the “administrators group” and then making sure all required remote users are part of the “Remote Desktop Users group”.
Local Security Policy (secpol.msc) -> Security Settings -> Local Policies -> User Rights Assignment -> Allow Logon Through Remote Desktop Services, change settings to remove “Administrators group” (but make sure any users you want to have RDP access are already part of the “Remote Desktop Users Group” especially the one you are currently logged in with).
RDP Intrusion Prevention Software (Host based Intrusion Detection/Prevention) – RDP IP blockers (software for brute force protection against Windows RDP based on failed attempts from various IP addresses; some products also have geolocation blocking to block IPs assigned to certain countries.)
There are several third-party software products available that will lock out IP addresses after X number of failed attempts such as Syspeace, RdpGuard, TSPlus RDS-Knight, LF Intrusion Detection and more. Syspeace ($73/year or $0.20 per day with minimum $15 purchase) has a global blacklist feature as well as a geolocation feature to block IP address by location/county. During a test with the Syspeace software, we noted a majority of failed login attempts were geocoded to Russia and Ukraine. Another observation was when we changed the RDP port to something other than 3389, the failed attempts dropped to zero, although automated bots may have eventually found the changed port (we didn’t try it that way for very long).
Using a VPN with RDP is more secure because it provides two steps to access your network. You could require clients to connect with a VPN first before being able to RDP to the server. Unless you are using our Dedicated Server Hosting offering where you can have a hardware vpn device, you will need to install a software VPN on the server. One option is using the free built-in Windows VPN role service. Other software VPN options available have been Hamachi (acquired by LogMeIn), Zerotier which provides software defined networking capabilities, and other options.
WINDOWS SERVER BUILT-IN VPN ROLE:
If you are interested in setting up the built-in VPN role on Windows Server 2016 and then limiting RDP access to private IPs after VPN is connected, contact Riptide Hosting for a post we wrote on how to set this up. PPTP VPN using Windows Authentication is password based so strong/complex passwords are still very important. Other VPN protocols, certificate authentication, may provide stronger security depending on your needs and environment. You can use the built-in Windows VPN to setup a L2TP VPN with preshared keys too.
General steps to install the (free) built-in VPN role on Windows Server 2016:
Add “Remote Access” server role with “DirectAccess and VPN (RAS)” role service.
Open the Getting Started Wizard, select “Deploy VPN only”, “Configure and Enable Routing and Remote Access”, Select “Custom Configuration”, Select “VPN access” only. Start Service. Reboot
Go into “Routing and Remote Access” properties, IPv4 tab to add static IP address pool with private IPs
Change Network Adapter settings, IPv4, to add secondary IP from private IP range above
Adjust User Properties for each user on the Dial-In tab to Allow “Network Access Permission”
Setup VPN Connection on each user PC (may need to uncheck “use default gateway on remote network” if having internet issues on the PC)
Adjust Server Firewall rules to disable RDP access on port 3389
Test deployment (verify you can’t RDP without using VPN first, etc.)
Our steps generally follow the steps in these links with a few additional items noted
Advantages to using Riptide Hosting SPLA Microsoft Licenses
Most customers use our Microsoft licensing (Windows Server, Office, SQL Server, Remote Desktop Services – RDS) provided under the SPLA program (Service Provider Licensing Agreement) on a monthly basis rather than purchasing their own MS Volume Licenses. (Windows Server CAL licenses are not required with our SPLA licensing which are required under regular MS Volume Licensing).
Using our Microsoft SPLA licensing eliminates upfront fees and makes it easy to increase and decrease licenses each month.
If you own Microsoft Volume Licenses, you can use our Dedicated Hardware Server offering and transfer your own licenses but depending on which licenses you own and how many users you have, it may still be cheaper to utilize our virtual servers/VMs with our SPLA licenses. Contact us to review options and pricing. We discuss the advantages to using SPLA licenses below.
SPLA LICENSES — Advantages to using our MS Licensing under SPLA:
Pay monthly with no commitment (versus Volume Licenses which may be 1-3 year term)
Pay for exactly the number of licenses you need today, not more (for user based licensing (i.e. RDS SALs/user licenses, Office SALs), we can increase the number of licenses easily so you can only license what is needed)
For Windows Server under SPLA, no additional Windows Server CALs are needed (you still need RDS SALs if applicable).
Upgrade rights (similar to software assurance) are included– You can upgrade to the latest version.
No large upfront payment like if you purchase perpetual MS Volume Licenses.
No minimum purchase – Can increase user licenses in increments of one user. (Some volume licensing programs have a minimum purchase or minimum points)
You cannot install or use your own licenses for SQL Server, RDS, Office or Office 365 on our Virtual Servers due to Microsoft licensing restrictions.
Windows Server licensing is included in our base server cost
RDS user licenses are $8.99 per user per month
SQL Server Standard is $316/mo per 4 cores versus retail pricing of approx. $7,500 per 4 cores plus add Software Assurance annually.
VOLUME LICENSES — Advantages to using/purchasing your own Volume Licensing
If measuring over a long-term period, perpetual volume license may cost less than monthly SPLA license (but you have a long-term agreement with large upfront fee, plus you have to purchase Software Assurance separately, as well as Windows CALs on top of Windows Server). **If you end up needing fewer licenses you will still pay for all the licenses you purchased.
SQL Server Standard and Enterprise can be very expensive (often times as much as the underlying server cost!) and if you have already purchased these licenses you may want to use them to save money, although you are required to use our Dedicated Hardware Server hosting to use your own licensing.
If you have a large number of users and already have your own Office licensing (or Office 365 plan that will work on a server or terminal server), then you may want to use them to save money, although you are required to use our Dedicated Hardware Server hosting to use your own licensing.
VIRTUAL SERVER HOSTING — Virtual Server Environment at Riptide Hosting:
SPLA licenses only. You must license SQL Server, RDS and Office through us (SPLA) in our VM environment. You cannot use your own licensing of SQL Server, RDS, Office, or Office 365 on our VMs.
Lower entry costs, VMs start at $100/month
Best for VMs with fewer resources (less than 25 users, less than 200 GB space, less than 8g RAM and 4vCPU)
Less expensive full image backup options with quick restores
May be less expensive to use our SPLA licenses on a VM with full image backup, even in scenarios where you have your own licensing.
DEDICATED SERVER HOSTING — Dedicated Hardware Server Environment at Riptide Hosting:
You can use our SPLA licenses or use your own Volume Licenses. Where the server hardware is fully dedicated to you, the outsourcing language within Microsoft Product Terms applies.
Best when you need significant resources (greater than 25 users, more than 200 GB disk space, more than 8g RAM and 4vCPU).
Our Dedicated Servers start around $300/month. Compare this to AWS Dedicated Instances or AWS Dedicated Hosts that start at over $1k per month and you have to bring all your own licensing.
Requires more expensive full server image backup options due to much higher disk space provided.
Only hosting offering we provide that allows you to use your own SQL Server, RDS, Office, or Office 365 licenses. Even if you have your own licensing, make sure it can be use on a remote hosted server. For example, Office 365 Business Plans won’t work on a Windows Server with Remote Desktop Services because Office 365 Business doesn’t include Pro Plus.
We get asked a lot of questions about RDS licenses and here are some of our most common discussions.
Many hosting providers don’t even offer the ability to license RDS SALs through them and require you to have your own licenses. If you are using Remote Desktop Services (RDS), make sure you understand whether your hosting provider can provide the required licenses or not. **If you can only login with two accounts then they did not provide you licensing for RDS access other than for maintenance.
The RDS CALs/SALs are not part of the Windows Server OS licensing and are applied separately. Riptide Hosting provides RDS SALs on a monthly basis (with no long-term commitment) at $8.99 per user. For example, AWS doesn’t offer RDS user licensing. You have to buy them from MS and then bring them to AWS via License Mobility which requires that you maintain active Software Assurance on the RDS CALs and go through a MS license verification process.
Microsoft only provides RDS user licenses on a per-unique-end-user basis. There is no concurrent licensing model available from Microsoft for RDS. All users, regardless of actual usage, require a license.
Windows Server and SQL Server Licensing Notes:
SQL Server is licensed per core but with a minimum of 4 cores per VM or per processor.
Windows Server is also now licensed per core (starting with Windows Server 2016)
SQL Server comes in multiple editions: Express (free), Web (through SPLA only; for publicly accessible web pages, etc.), Standard, Enterprise. Contact us for differences and monthly SPLA pricing.
Update for Windows Server 2016 – Windows Defender is built-in to Windows Server 2016 and is provided at no charge. If you have Windows Server 2012 R2, we can install MS System Center Endpoint Protection on your server for a nominal monthly fee (Windows Defender does not exist for Windows Server 2012r2). You are always free to install and use your own AV / malware / security software product as you see fit. Before installing software, you should verify it is supported on the Windows Server OS you have as well as on a RDS/Terminal Server if that role is installed.
Original Blog Post – Appropriate security measures should be taken on all hosted servers of which one component is using an anti-virus program. If you have a RDP hosted server with users who surf and download from the web, anti-virus is a must. Having the server backed up is another key to ensure you keep all your data safe.
You can also choose to use your own anti-virus software which you may have more familiarity with or already own licenses for. You should verify that the software will work with the Windows Server OS that you have as well as with the remote desktop services (RDS) / terminal services role if installed (and any configuration changes necessary for install on a RDS / terminal server). Also, remember to install programs on a remote desktop server (terminal server) through control panel, install programs on remote desktop server.
If you would like to utilize our licensing for MS Endpoint Protection and have us install it on your server, please let us know.
Other AV offerings that you can research for pricing, compatibility and specifications include: eset, avg, malewarebytes, and many more.