Skip navigation

Duo Security is now a part of Cisco

About Cisco

Documentation

Duo Authentication for Microsoft Remote Desktop Web and Remote Desktop Gateway on Windows 2008 R2

Last Updated: April 3rd, 2019

Duo integrates with Remote Desktop Web Access (previously Terminal Services) and Remote Desktop Gateway to add two-factor authentication to RD Web and RD Gateway logons.

Overview

Duo Authentication for Microsoft Remote Desktop Web Access adds two-factor authentication protection to RD Web portal browser logons. When logging on to the RD Web portal, users receive the Duo enrollment or authentication page after primary authentication.

Duo Authentication for Remote Desktop Gateway adds two-factor authentication to your RemoteApp connections launched from RD Web, and blocks any connections to your Remote Desktop Gateway server(s) from users who have not completed two-factor authentication when all connection requests are proxied through a Remote Desktop Gateway. This configuration does not support passcodes or inline self-enrollment.

Users need to perform Duo 2FA authentication at the RD Web server when logging on via the browser, and then approve another Duo request when launching the first RemoteApp of that session. Subsequent RemoteApp launches do not require additional Duo authentication during the same session.

RD Web and RD Gateway Architecture

Remote applications may no longer be launched from the "RemoteApp and Desktop Connections" app feed after Duo is installed on your RD Web server.

Installing Duo's RD Gateway plugin disables Remote Desktop Connection Authorization Policies (RD CAP) and Resource Authorization Policies (RD RAP). The CAPs and RAPs become inaccessible from the Remote Desktop Gateway Manager and previously configured policy settings are ignored by Remote Desktop Gateway.

If you want to enforce two-factor authentication for all your clients, you should ensure that they must connect through RD Web Access with Duo and/or RD Gateway with Duo. If clients can establish a direct connection to your RD Connection Broker and/or Session Host(s), then they may be able to bypass two­-factor authentication. Block direct RDP access to these hosts to mitigate the potential for bypass.

Deployment Tip

Set your application's "New user policy" to "Allow Access" while testing. Enrolled users receive the Duo authentication prompt, while all other users are transparently let through.

Then (when you're ready) change the "New user policy" to "Require Enrollment." This forces all your users to authenticate to Duo (or enroll) after RD Web logon.

Prerequisites

Make sure to complete these requirements before installing Duo Authentication for RD Web.

  1. Check your server versions. This supports RD Web and RD Gateway on Windows Server 2008 R2 only. If you are running Windows 2012 or later, see the RD Web and RD Gateway 2012 and later instructions.

  2. Download and install .NET Framework 4 if not already present on your RD Web and RD Gateway server(s).

  3. Install ASP.NET 3.5 support on your RD Web and RD Gateway server(s) if not already present at Web ServerAdd Role ServicesWeb ServerApplication DevelopmentASP.NET.

    You can also do this from PowerShell when run as an administrator:

    import-module servermanager
    add-windowsfeature Web-Asp-Net
    
  4. Install the "IIS Management Scripts and Tools" feature on your RD Web server(s) if not already present at Web ServerAdd Role ServicesWeb ServerManagement ToolsIIS Management Scripts and Tools.

    You can also do this from PowerShell when run as an administrator:

    import-module servermanager
    add-windowsfeature Web-Scripting-Tools
    

Connectivity Requirements

This application communicates with Duo's service on TCP port 443. Firewall configurations that restrict outbound access to Duo's service with rules using destination IP addresses or IP address ranges aren't recommended, since these may change over time to maintain our service's high availability. If your organization requires IP-based rules, please review this Duo KB article.

First Steps

  1. Sign up for a Duo account.
  2. Log in to the Duo Admin Panel and navigate to Applications.
  3. Click Protect an Application and locate Microsoft RD Web in the applications list. Click Protect this Application to get your RD Web integration key, secret key, and API hostname. (See Getting Started for help.)
  4. Click Protect an Application again, but this time locate Microsoft RD Gateway in the applications list. Click Protect this Application to get your RD Gateway integration key, secret key, and API hostname.
  5. Download the Duo Authentication for Remote Desktop Web Installer Package.
  6. Download the Duo Authentication for Remote Desktop Gateway Installer Package.

View checksums for Duo downloads here.

Treat your secret key like a password

The security of your Duo application is tied to the security of your secret key (skey). Secure it as you would any sensitive credential. Don't share it with unauthorized individuals or email it to anyone under any circumstances!

RD Web Installation

  1. On the server(s) running the RD Web role, launch the Duo Security RD Web installer MSI from an elevated command prompt (right-click "Command Prompt" and select the "Run as Administrator" option). Accept the license agreement and continue.

  2. Enter the integration key, secret key, and API hostname from the properties page of the "Microsoft RD Web" application you created earlier.

    Enter Duo Information

    If you leave the "Bypass Duo authentication when offline" box in the Duo installer checked, then your users will be able to logon without completing two-factor authentication if the Duo Security cloud service is unreachable. If that box is unchecked then all RD Gateway login attempts will be denied if there is a problem contacting the Duo service.

    Duo for RD Web sends a user's Windows sAMAccountName to Duo's service by default. To send the userPrincipalName to Duo instead, check the Use UPN username format box.

    If you enable the UPN username format option, you must also change the properties of your RD Web application in the Duo Admin Panel to change the "Username normalization" setting to None. Otherwise, Duo drops the domain suffix from the username sent from RD Web to our service, which may cause user mismatches or duplicate enrollment.

    When you install Duo on both your RDW and RDG server, be sure to make the same username format selection and use the same normalization setting for both.

  3. If you only have one Windows Server instance running the Remote Desktop Web Access role, select the option to automatically generate a new key. However, if you have multiple servers running RD Web Access role then you should manually generate a random string at least 40 characters long, and use the same string as the session key during installation on each of the servers.

    Create Session Key

    For example, you could use the following PowerShell commands to generate a suitable session key:

    $bytes = new-object "System.Byte[]" 30
    (new-object System.Security.Cryptography.RNGCryptoServiceProvider).GetBytes($bytes)
    [Convert]::ToBase64String($bytes)
    
  4. Complete the Duo installation steps.

  5. Continue to RD Gateway setup.

RD Gateway Installation

  1. On the server(s) running the RD Gateway role, launch the Duo Security RD Gateway installer MSI from an elevated command prompt (right-click "Command Prompt" and select the "Run as Administrator" option). Accept the license agreement and continue.

  2. Enter the integration key, secret key, and API hostname from the properties page of the "Microsoft RD Gateway" application you created earlier.

    Enter Duo Information

    If you leave the "Bypass Duo authentication when offline" box in the Duo installer checked, then your users will be able to logon without completing two-factor authentication if the Duo Security cloud service is unreachable. If that box is unchecked then all RD Gateway login attempts will be denied if there is a problem contacting the Duo service.

    Duo for RD Gateway sends a user's Windows sAMAccountName to Duo's service by default. To send the userPrincipalName to Duo instead, check the Use UPN username format box.

    If you enable the UPN username format option, you must also change the properties of your RD Gateway application in the Duo Admin Panel to change the "Username normalization" setting to None. Otherwise, Duo drops the domain suffix from the username sent from RD Gateway to our service, which may cause user mismatches or duplicate enrollment.

    When you install Duo on both your RDW and RDG server, be sure to make the same username format selection and use the same normalization setting for both.

  3. Complete the Duo installation.

Test Your Setup

With Duo protection installed on both RD Web and RD Gateway, users perform Duo authentication at both RD Web and RD Gateway logon.

To test your setup, log into Remote Desktop Web Access. Duo's enrollment or login prompt appears after you enter your username and password:

RD Web Duo Authentication Prompt

Complete Duo two-factor authentication in the browser to access RD Web.

Once logged in to RD Web, launch a RemoteApp. Enter your primary Windows credentials if prompted to do so by the Remote Desktop client. You'll receive an additional Duo authentication request via push or phone call.

Troubleshooting

Need some help? Take a look at the RDS Frequently Asked Questions (FAQ) page or try searching our RDS Knowledge Base articles or Community discussions. For further assistance, contact Support.