How to: Enabling MFA for Active Directory Domain Admins with Passwordless Authentication

Microsoft

 

 

 

 

Administer on premise Active Directory

Using Azure Passwordless Authentication

removing Domain Admins passwords

 

 

 

Hello Guys,

 

I am here just to demonstrate that today is technically possible (Proof of Concept):

 

  1. Configure a modern MFA solution to access on prem Windows 10 PC
  2. Use that solution to protect privileged accounts passwords
  3. Eradicate from the domain the password presence for those privileged accounts (make impossible to use a password to log on to domain to prevent some king of password attacks)
  4. Have the ability to use multiple PAWs (privileged access workstation) with same MFA credential
  5. Have only one identity with one strong credential
  6. Same credential can be used on prem and in cloud (if needed)
  7. Connect to Domain Controller thorough RDP form the PAW using SSO (Single Sign On)
  8. Obtain above with a sort of simplicity and costs control

 

I am not here to discuss if this document in any parts adhere to all principles and best practices of a secure administration environment, I just want to show a feature as a proof of concept. It’s up to you to integer this work into your security posture and evaluate impacts.

No direct or indirect guarantee is given, and this cannot be considered official documentation. The content is provided “As Is”.

 

 

Have look more deeply above points:

 

 

Chapter 1 – Enable Passwordless authentication and create your key

Enable the use of FIDO Keys for Passwordless authentication. In Azure AD \ Security \ Authentication methods, enable the use of a security key for a specific group and set the keys settings in accordance with the HW provider of the key (in my case Force Attestation and Key Restriction set to off).

Dabona_0-1633112987876.png

 

Confirm Hybrid Device Join. Confirm your Windows 10 2004+ PC are Hybrid Device Joined.

Dabona_1-1633112987899.png

 

Confirm users and all involved groups are hybrid Confirm all involved users or groups are correctly replicated by AD Connect, have Azure Active Directory properly configured and login in cloud works correctly

Dabona_2-1633112987909.png

 

Implement Kerberos Server to foster on prem SSO (Single Sign On) for on prem resources follow this guidance

Passwordless security key sign-in to on-premises resources - Azure Active Directory | Microsoft Docs

Enroll the key. Please don’t use Incognito Web Mode (sign out already connected users and use “switch to a different account”).

If during enrollment errors come up, check if any user is already signed into the browser (in the new Edge use “Browse as Guest” that is different from “Incognito Mode”).

Login to Office.com with the user you want to provide the USB KEY  and reach My Account page

Dabona_3-1633112987916.png

 

 

 

Dabona_4-1633112987928.png

 

 

In My Account page open Security Info and initialize the USB Key.

https://mysignins.microsoft.com/security-info

 

Dabona_5-1633112987935.png

 

 

If not completed before, enable MFA authentication by using a phone (SMS) or Authenticator App (in this case the user was not already provided of MFA , so the systems automatically make you enroll the authenticator app in your phone)

Dabona_6-1633112987941.png

 

Dabona_7-1633112987945.png

 

Dabona_8-1633112987948.png

 

Dabona_9-1633112987951.png

 

Now, because you have an MFA tool, you can create/enroll a security key: add method / USB Key. The browser challenges you to insert a key.. to inject your identity into it

Create a new PIN !

Confirm touching the key

Name the key

Dabona_10-1633112987955.png

 

Dabona_11-1633112987981.png

 

Dabona_12-1633112987988.png

 

Dabona_13-1633112987991.png

 

Done - security Key is enrolled with your identity

Dabona_14-1633112987993.png

 

Dabona_15-1633112987996.png

 

Perform an Office365 Passwordless Authentication

Verify you are able to sign on to O365 using the Key w/o the use of a password. Please use Microsoft Edge, if already logged click right corner and “browse as a guest”

 

 

Dabona_16-1633112988019.png

 

Please remember to click in “Sign  in Options” to trigger key authentication :

 

Dabona_17-1633112988051.png

 

Dabona_18-1633112988057.png

 

 

Dabona_19-1633112988059.png

 

Dabona_20-1633112988065.png

 

 

Dabona_21-1633112988068.png

 

 

Well done: you are logged in the cloud Passwordless!

Dabona_22-1633112988085.png

 

 

Chapter 2 – Enable on prem multifactor login

Deploy a GPO – Group Policy Object- to enable FIDO2 on prem login with Windows 10 2004+. In your on prem environment we can enable the use of USB key credential provider (Windows has multiple credential providers: password, usb key, smartcard, et.). Enable and link this setting to your Windows 10 2004+ machines. Restart involved machines.

Dabona_23-1633112988095.png

 

Now you will see a new icon to login to the PC. Clicking on sign in option you can use this new credential provides – FIDO security key - . Insert the Usb key, type the PIN…

 

On some FIDO Keys you can avoid PIN with biometric (fingerprint).

 

You can use the same identity/credential in all the PC with the FIDO credential provider enabled.

 

Remember that currently for on prem sign on only one user per key is available (you can’t have multiple identity on the same usb key).

Dabona_24-1633112988133.png

 

 

Dabona_25-1633112988180.png

 

Dabona_26-1633112988199.png

 

 

Dabona_27-1633112988213.png

 

Dabona_28-1633112988223.png

 

 

Dabona_29-1633112988239.png

 

 

Please note that this kind of authentication is recognized by Azure/O365 cloud as one already claimed MFA so when you open your preferred application the connection is in SSO (you don’t have to re-authenticate or perform another strong auth).

 

Please note that with the same key you can login to the cloud applications using MFA from external computers w/o any modifications (like kiosks, byod computers, etc).

Dabona_30-1633112988249.png

 

Please note that you have access to all on prem services because the Kerberos server we installed above is useful to foster the obtention of Kerberos tickets for on prem AD service consumption

Dabona_31-1633112988251.png

 

 

Chapter 3 – Use FIDO KEYS to protect privileged users (Domain Admins) and De-materialize their password.

 

Now we are going to enable a FIDO key for the Domain Admin or configure FIDO KEYS to work with privileged users. The default security policy doesn't grant Azure AD permission to sign high privilege accounts on to on-premises resources.

 

To unblock the accounts, use Active Directory Users and Computers to modify the msDS-NeverRevealGroup property of the Azure AD Kerberos Computer object (e.g. CN=AzureADKerberos,OU=Domain Controllers,<domain-DN>).

 

Remove all privileged groups you want to use with FIDO KEYS. Consider one user might be member of different groups, so remove all wanted user is member of. I removed all groups with the exception of Domain Controllers ..

Dabona_32-1633113197899.png

 

Dabona_33-1633113197914.png

 

Dabona_34-1633113197932.png

 

Dabona_35-1633113197937.png

 

Make the test user member of Domain Admins group

Dabona_36-1633113197940.png

 

Wait AD Connect Sync Time (normally at least of 30 min)

 

Now enroll the FIDO Usb Key for the privileged account following Chapter 1 of this guide

 

Now test the Login with the Domain Admin using the FIDO KEY and check the possibility to be authenticated to onprem services (e.g. Fileshares, MMC - ADUC Consoles, etc.). Try the high privilege like creating a new user….

Dabona_37-1633113197949.png

 

Dabona_38-1633113197964.png

 

Now that we have one alternative way to Sign In on prem and in cloud (instead of password) we can work on password eradication. Obviously, every application we want to use must not use passwords (work in SSO with AD or Azure AD). This is not a problem for a privileged accounts because these should not have any application access nut only accesses to administrative consoles  

 

We will enable SCRIL policy (Smart Card is required for interactive logons) for the privileged  user:

Smart Card is required for interactive logon = the user password is reset and made random and complex, unknown by humanity, the use of password for interactive login is disabled

Dabona_39-1633113197966.png

 

Test you can’t access with password anymore

Dabona_40-1633113197976.png

 

Dabona_41-1633113198009.png

 

To complete and strengthen the password eradication we want to prevent the use of the password also for network authentications using the NTLM protocol, so we are going to make the user member of “protected users” group

Protected Users Security Group | Microsoft Docs. This because if a bad guy reset that user’s password, he/she might use the NTLM protocol to log on using password, bypassing interactive log on. Protected Users disables the entire usability of NTLM protocol that is not needed to common AD administration.

 

Dabona_42-1633113198010.png

 

If you don’t want to disable NTLM protocol and If you have Domain Functional Level 2016 you can also enable NTLM rolling to make NTLM password hash to cycle every login and improve the password eradication

What's new in Credential Protection | Microsoft Docs (Rolling public key only user's NTLM secrets)

Probably you want to use that user to log in to privileged systems with Remote Desktop. By default, Remote Desktop Protocol requests the use of passwords …  Here we don’t have a password to write because the password is unknown by humanity….. so … how to?

Dabona_43-1633113198016.png

 

The simplest way to solve the above problem is to use Remote Credential Guard feature if you have the needed requirements (..Windows 10, version 1607 or Windows Server 2016.. or above)

What's new in Credential Protection | Microsoft Docs

To enable it on the server we want to connect to, just add this registry key using the example command

reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /d 0 /t REG_DWORD

From the client where we used the FIDO login, just run RDP with the parameter /RemoteGuard

Dabona_44-1633113198017.png

 

Now also the RDP remote authentication performs well without passwords!!!

Dabona_45-1633113198019.png

 

Dabona_46-1633113198081.png

 

Now we signed in a Domain Controller using a MFA key and is no more possible to use a password for domain administration.

 

Update1: using temporary access password might be possible to never assign even a beginning password to a Domain Admin neither need a phone authentication.

 

Configure a Temporary Access Pass in Azure AD to register Passwordless authentication methods | Micr...

 

As detailed above, create a Domain Admin on prem, immediately enable SCRIL and Protected Users, wait AD connect sync time, create a temporary password for that admin user (the temporary password can only be used to enable an MFA credential w/o using a Phone and w/o the risk of someone else accessing applications during the configuration phase).

 

We recommend to maintain Azure Global Admins and Active Directory Domain Admins identities separately, so don't make synced Domain Admins member of Azure Global Admins role.

 

Dabona_47-1633113198089.png

 

Dabona_48-1633113198092.png

 

Dabona_49-1633113198096.png

 

 

Dabona_50-1633113198098.png

 

 

 

 

 

 

 

 

 

1 Reply
Thank you for the detailed article. This is a very good starting point for us to start working on the topic.
www.000webhost.com