|
| 1 | +--- |
| 2 | +title: Secure remote VM access in Azure AD Domain Services | Microsoft Docs |
| 3 | +description: Learn how to secure remote access to VMs using Network Policy Server (NPS) and Azure Multi-Factor Authentication with a Remote Desktop Services deployment in an Azure Active Directory Domain Services managed domain. |
| 4 | +services: active-directory-ds |
| 5 | +author: iainfoulds |
| 6 | +manager: daveba |
| 7 | + |
| 8 | +ms.service: active-directory |
| 9 | +ms.subservice: domain-services |
| 10 | +ms.workload: identity |
| 11 | +ms.topic: conceptual |
| 12 | +ms.date: 03/30/2020 |
| 13 | +ms.author: iainfou |
| 14 | + |
| 15 | +--- |
| 16 | +# Secure remote access to virtual machines in Azure Active Directory Domain Services |
| 17 | + |
| 18 | +To secure remote access to virtual machines (VMs) that run in an Azure Active Directory Domain Services (Azure AD DS) managed domain, you can use Remote Desktop Services (RDS) and Network Policy Server (NPS). Azure AD DS authenticates users as they request access through the RDS environment. For enhanced security, you can integrate Azure Multi-Factor Authentication to provide an additional authentication prompt during sign-in events. Azure Multi-Factor Authentication uses an extension for NPS to provide this feature. |
| 19 | + |
| 20 | +> [!IMPORTANT] |
| 21 | +> The recommended way to securely connect to your VMs in an Azure AD DS managed domain is using Azure Bastion, a fully platform-managed PaaS service that you provision inside your virtual network. A bastion host provides secure and seamless Remote Desktop Protocol (RDP) connectivity to your VMs directly in the Azure portal over SSL. When you connect via a bastion host, your VMs don't need a public IP address, and you don't need to use network security groups to expose access to RDP on TCP port 3389. |
| 22 | +> |
| 23 | +> We strongly recommend that you use Azure Bastion in all regions where it's supported. In regions without Azure Bastion availability, follow the steps detailed in this article until Azure Bastion is available. Take care with assigning public IP addresses to VMs joined to Azure AD DS where all incoming RDP traffic is allowed. |
| 24 | +> |
| 25 | +> For more information, see [What is Azure Bastion?][bastion-overview]. |
| 26 | +
|
| 27 | +This article shows you how to configure RDS in Azure AD DS and optionally use the Azure Multi-Factor Authentication NPS extension. |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +## Prerequisites |
| 32 | + |
| 33 | +To complete this article, you need the following resources: |
| 34 | + |
| 35 | +* An active Azure subscription. |
| 36 | + * If you don't have an Azure subscription, [create an account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). |
| 37 | +* An Azure Active Directory tenant associated with your subscription, either synchronized with an on-premises directory or a cloud-only directory. |
| 38 | + * If needed, [create an Azure Active Directory tenant][create-azure-ad-tenant] or [associate an Azure subscription with your account][associate-azure-ad-tenant]. |
| 39 | +* An Azure Active Directory Domain Services managed domain enabled and configured in your Azure AD tenant. |
| 40 | + * If needed, [create and configure an Azure Active Directory Domain Services instance][create-azure-ad-ds-instance]. |
| 41 | +* A *workloads* subnet created in your Azure Active Directory Domain Services virtual network. |
| 42 | + * If needed, [Configure virtual networking for an Azure Active Directory Domain Services managed domain][configure-azureadds-vnet]. |
| 43 | +* A user account that's a member of the *Azure AD DC administrators* group in your Azure AD tenant. |
| 44 | + |
| 45 | +## Deploy and configure the Remote Desktop environment |
| 46 | + |
| 47 | +To get started, create a minimum of two Azure VMs that run Windows Server 2016 or Windows Server 2019. For redundancy and high availability of your Remote Desktop (RD) environment, you can add and load balance additional hosts later. |
| 48 | + |
| 49 | +A suggested RDS deployment includes the following two VMs: |
| 50 | + |
| 51 | +* *RDGVM01* - Runs the RD Connection Broker server, RD Web Access server, and RD Gateway server. |
| 52 | +* *RDSHVM01* - Runs the RD Session Host server. |
| 53 | + |
| 54 | +Make sure that VMs are deployed into a *workloads* subnet of your Azure AD DS virtual network, then join the VMs to Azure AD DS managed domain. For more information, see how to [create and join a Windows Server VM to an Azure AD DS managed domain][tutorial-create-join-vm]. |
| 55 | + |
| 56 | +The RD environment deployment contains a number of steps. The existing RD deployment guide can be used without any specific changes to use in an Azure AD DS managed domain: |
| 57 | + |
| 58 | +1. Sign in to VMs created for the RD environment with an account that's part of the *Azure AD DC Administrators* group, such as *contosoadmin*. |
| 59 | +1. To create and configure RDS, use the existing [Remote Desktop environment deployment guide][deploy-remote-desktop]. Distribute the RD server components across your Azure VMs as desired. |
| 60 | +1. If you want to provide access using a web browser, [set up the Remote Desktop web client for your users][rd-web-client]. |
| 61 | + |
| 62 | +With RD deployed into the Azure AD DS managed domain, you can manage and use the service as you would with an on-premises AD DS domain. |
| 63 | + |
| 64 | +## Deploy and configure NPS and the Azure MFA NPS extension |
| 65 | + |
| 66 | +If you want to increase the security of the user sign-in experience, you can optionally integrate the RD environment with Azure Multi-Factor Authentication. With this configuration, users receive an additional prompt during sign-in to confirm their identity. |
| 67 | + |
| 68 | +To provide this capability, an additional Network Policy Server (NPS) is installed in your environment along with the Azure Multi-Factor Authentication NPS extension. This extension integrates with Azure AD to request and return the status of multi-factor authentication prompts. |
| 69 | + |
| 70 | +Users must be [registered to use Azure Multi-Factor Authentication][user-mfa-registration], which may require additional Azure AD licenses. |
| 71 | + |
| 72 | +To integrate Azure Multi-Factor Authentication in to your Azure AD DS Remote Desktop environment, create an NPS Server and install the extension: |
| 73 | + |
| 74 | +1. Create an additional Windows Server 2016 or 2019 VM, such as *NPSVM01*, that's connected to a *workloads* subnet in your Azure AD DS virtual network. Join the VM to the Azure AD DS managed domain. |
| 75 | +1. Sign in to NPS VM as account that's part of the *Azure AD DC Administrators* group, such as *contosoadmin*. |
| 76 | +1. From **Server Manager**, select **Add Roles and Features**, then install the *Network Policy and Access Services* role. |
| 77 | +1. Use the existing how-to article to [install and configure the Azure MFA NPS extension][nps-extension]. |
| 78 | + |
| 79 | +With the NPS server and Azure Multi-Factor Authentication NPS extension installed, complete the next section to configure it for use with the RD environment. |
| 80 | + |
| 81 | +## Integrate Remote Desktop Gateway and Azure Multi-Factor Authentication |
| 82 | + |
| 83 | +To integrate the Azure Multi-Factor Authentication NPS extension, use the existing how-to article to [integrate your Remote Desktop Gateway infrastructure using the Network Policy Server (NPS) extension and Azure AD][azure-mfa-nps-integration]. |
| 84 | + |
| 85 | +The following additional configuration options are needed to integrate with an Azure AD DS managed domain: |
| 86 | + |
| 87 | +1. Don't [register the NPS server in Active Directory][register-nps-ad]. This step fails in an Azure AD DS managed domain. |
| 88 | +1. In [step 4 to configure network policy][create-nps-policy], also check the box to **Ignore user account dial-in properties**. |
| 89 | +1. If you use Windows Server 2019 for the NPS server and Azure Multi-Factor Authentication NPS extension, run the following command to update the secure channel to allow the NPS server to communicate correctly: |
| 90 | + |
| 91 | + ```powershell |
| 92 | + sc sidtype IAS unrestricted |
| 93 | + ``` |
| 94 | +
|
| 95 | +Users are now prompted for an additional authentication factor when they sign in, such as a text message or prompt in the Microsoft Authenticator app. |
| 96 | +
|
| 97 | +## Next steps |
| 98 | +
|
| 99 | +For more information on improving resiliency of your deployment, see [Remote Desktop Services - High availability][rds-high-availability]. |
| 100 | +
|
| 101 | +For more information about securing user sign-in, see [How it works: Azure Multi-Factor Authentication][concepts-mfa]. |
| 102 | +
|
| 103 | +<!-- INTERNAL LINKS --> |
| 104 | +[bastion-overview]: ../bastion/bastion-overview.md |
| 105 | +[create-azure-ad-tenant]: ../active-directory/fundamentals/sign-up-organization.md |
| 106 | +[associate-azure-ad-tenant]: ../active-directory/fundamentals/active-directory-how-subscriptions-associated-directory.md |
| 107 | +[create-azure-ad-ds-instance]: tutorial-create-instance.md |
| 108 | +[configure-azureadds-vnet]: tutorial-configure-networking.md |
| 109 | +[tutorial-create-join-vm]: join-windows-vm.md |
| 110 | +[user-mfa-registration]: ../active-directory/authentication/howto-mfa-nps-extension.md#register-users-for-mfa |
| 111 | +[nps-extension]: ../active-directory/authentication/howto-mfa-nps-extension.md |
| 112 | +[azure-mfa-nps-integration]: ../active-directory/authentication/howto-mfa-nps-extension-rdg.md |
| 113 | +[register-nps-ad]:../active-directory/authentication/howto-mfa-nps-extension-rdg.md#register-server-in-active-directory |
| 114 | +[create-nps-policy]: ../active-directory/authentication/howto-mfa-nps-extension-rdg.md#configure-network-policy |
| 115 | +[concepts-mfa]: ../active-directory/authentication/concept-mfa-howitworks.md |
| 116 | +
|
| 117 | +<!-- EXTERNAL LINKS --> |
| 118 | +[deploy-remote-desktop]: https://docs.microsoft.com/windows-server/remote/remote-desktop-services/rds-deploy-infrastructure |
| 119 | +[rd-web-client]: https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/remote-desktop-web-client-admin |
| 120 | +[rds-high-availability]: https://docs.microsoft.com/windows-server/remote/remote-desktop-services/rds-plan-high-availability |
0 commit comments