How do I disable TLS 1.0 Remote Desktop?

Will Remote Desktop (RDP) continue to work after using IIS Crypto?

Yes. The default security layer in RDP is set to Negotiate which supports both SSL (TLS 1.0) and the RDP Security Layer. However, if you set the security layer to SSL (TLS 1.0) and disable TLS 1.0 in IIS Crypto you may be unable to connect to RDP if you are using Windows Server 2008. To check your settings, open Remote Desktop Session Host Configuration in Administrative Tools and double click RDP-Tcp under the Connections group. If it is set to SSL (TLS 1.0) and you are running Windows Server 2008 make sure that you have installed TLS 1.1 and 1.2 support.

Network Level Authentication only supports the SSL (TLS 1.0 and above) security layer.

What if you need to disable TLS 1.0 on a Windows Server 2012 R2 machine but you have Remote Desktop Services configured? You might find out when you disable TLS 1.0 that RDP will stop working and the Remote Desktop Connection Broker service will fail to start.

After googling around for an hour I found that the reason RDP stops working and the Remote Desktop Connection Broker service fails to start is because when RDS is configured without HA it uses Windows Internal Database (WID) as a back-end which does not support TLS 1.1/TLS1.2. This is a known issue as described by Microsoft here: https://support.microsoft.com/en-us/help/4036954/disabling-tls1-0-can-cause-rds-connection-broker-or-rdms-to-fail

I can promise you that anything else you find online about fixing this issue is unrelated to TLS 1.0 and enabling the Local Security Policy GPO for FIPS and setting the RDP protocol from SSL to RDP does nothing.

The solution I chose to implement was to configure RDS with HA using SQL Server 2017 Express as the database on the same server. I didn’t actually need HA, I just needed to be rid of WID so I could disable TLS 1.0 on the server. If you don’t use a connection broker you will be limited in RDS features as described here: https://support.microsoft.com/en-us/help/2833839/guidelines-for-installing-the-remote-desktop-session-host-role-service

How do I disable TLS 1.0 Remote Desktop?
Make sure to keep your current user added and add any other users who will need access to the SQL Server. I made this mistake and I didn’t have access to make any changes on the SQL server.

3. Install SQL Server Management Studio (SSMS-Setup-ENU.exe)

4. Open SQL Management Studio and connect. Expand Security > Logins, and right click on NETWORK SERVICE and select Properties. Then go to Server Roles and check the dbcreator role.

How do I disable TLS 1.0 Remote Desktop?
Without this role RDS will not be able to create the database and setup will fail.

5. Make the folder C:\RCDB, then right click on it and go to Properties > Security, Edit Permissions and add the NETWORK SERVICE user with Full Control

6. Launch SQL Server Configuration Manager and navigate to SQL Server Network Configuration > Protocols for SQLEXPRESS. Right click on TCP/IP and on switch to the IP Addresses Tab. At the bottom under IPALL set TCP Port to 1433. Hit OK, then right click on TCP/IP and click Enable. Restart SQL Server

7. Open Server Manager and navigate to Remote Desktop Services > Overview. Right click on RD Connection Broker and select Configure High Availability. Enter the following information when prompted:

Database Connection String: DRIVER=SQL Server Native Client 11.0;SERVER=localhost;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=RCDB

Folder to store database files: C:\RCDB

DNS round robin name: yourservername.yourdomain

8. If everything is successful you should be all done!

How do I disable TLS 1.0 Remote Desktop?

9. Run IISCrypto and select the PCI 3.2 template. Then re-check TLS 1.1 for Client and Server.

10. Reboot, make sure RDP still works and check that TLS 1.0 is disabled with testssl.sh (.\testssl.sh — fast myserver.mydomain:3389)

These are some common errors you may see in Event Viewer when troubleshooting the initial issue of RDS not starting if you disabled TLS 1.0 before following the above steps

The Remote Desktop Management Service fails to start with Error code: 0x88250003.

Remote Desktop Connection Broker Client failed while getting redirection packet from Connection Broker.
User : [removed]
Error: Remote Desktop Connection Broker is not ready for RPC communication.

A fatal error occurred while creating an SSL client credential. The internal error state is 10013.

  • Heres what I found and IISCrypto works the bomb

    Run IISCrypto and disable TLS 1.0, TLS 1.1 and all bad ciphers.On the Remote Desktop Services server running the gateway role, open the Local Security Policy and navigate to Security Options - System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing. Change the security setting to Enabled. Reboot for the changes to take effect.Note that in some cases (especially if using self signed certificates on Server 2012 R2), the Security Policy option Network Security: LAN Manager authentication level may need to be set to Send NTLMv2 responses only.

    Let me know if this works for you as well.   https://serverfault.com/questions/826802/how-to-disable-tls-1-0-without-breaking-remoteapps-on-serve...


    How do I disable TLS 1.0 Remote Desktop?
    Spice (7) flagReport

    4 found this helpful thumb_up thumb_down

  • Thanks Vito! 

    I'll give it a try (possibly next week due to schedule), and report back if it works or any issues. 

  • I've also been fighting this issue and still haven't found a way to completely disable TLS 1.0 without killing RDP.  Ultimately, (with registry edits) I resorted to leaving both TLS 1.0 and TLS 1.2 enabled but with only a single TLS 1.0 compatible cipher in the list (i.e. SHA1 instead of SHA256 or higher).  Being setup this way I am still pulling an 'A' rating from Quals SSL Labs with 1.0 enabled.   I'll also try it and see if Vito's solution works for me.

    How do I disable TLS 1.0 Remote Desktop?
    How do I disable TLS 1.0 Remote Desktop?

  • You're welcome! I have had my share of configuring TLS for security compliance... I am glad it worked out

  • Vito1168

    Sorry for the extremely late reply, just to say I've followed what you've mentioned and it works! Verified with Wireshark as well. 

    Many thanks for your help. 

    Spice (1) flagReport

    Was this post helpful? thumb_up thumb_down

  • X49Raven wrote:

    Vito1168

    Sorry for the extremely late reply, just to say I've followed what you've mentioned and it works! Verified with Wireshark as well. 

    Many thanks for your help. 

    Glad I could be of assistance