Oct 01 2021 11:42 AM - edited Oct 07 2021 12:56 AM
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):
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:
"...SCRIL setting for a user on Active Directory Users and Computers.
When you configure a user account for SCRIL, Active Directory changes the affected user's password to a random 128 bits of data. Additionally, domain controllers hosting the user account do not allow the user to sign-in interactively with a password. Also, users will no longer be troubled with needing to change their password when it expires, because passwords for SCRIL users in domains with a Windows Server 2012 R2 or early domain functional level do not expire. The users are effectively passwordless because:
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). |
|
Confirm Hybrid Device Join. Confirm your Windows 10 2004+ PC are Hybrid Device Joined. |
|
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 |
|
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 |
|
In My Account page open Security Info and initialize the USB Key. |
https://mysignins.microsoft.com/security-info
|
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) |
|
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 |
|
Done - security Key is enrolled with your identity |
|
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” |
|
Please remember to click in “Sign in Options” to trigger key authentication :
|
|
Well done: you are logged in the cloud Passwordless! |
|
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. |
|
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). |
|
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). |
|
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 |
|
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 .. |
|
Make the test user member of Domain Admins group |
|
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…. |
|
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 |
|
Test you can’t access with password anymore |
|
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.
|
|
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? |
|
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) |
|
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 |
|
Now also the RDP remote authentication performs well without passwords!!! |
|
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.
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.
|
|
Nov 12 2021 04:28 AM
Dec 05 2021 03:18 PM
Feb 11 2022 02:35 AM
Feb 22 2022 08:52 AM
Excellent article!
If anyone reading this is looking for step-by-step guidance on how to enable multi-factor authorization (MFA), be sure to review the MFA setup guide in the Microsoft 365 admin center.
The setup guide is used to efficiently identify which MFA option is best for the organization as well as set up the application. This integration provides an additional layer of security and accounts are 99.9% less likely to be compromised.
Note: If you don't have Microsoft 365 admin permissions, open the guide in a test or POC tenant to get instructions.
Mar 10 2022 05:34 AM
Mar 10 2022 05:53 AM
Mar 24 2022 09:27 AM
Mar 24 2022 10:45 AM
Mar 25 2022 01:19 AM
@Stefano Colombo currently authenticator app passwordless can be used only for cloud/azure login , not onprem
Mar 25 2022 01:28 AM
Mar 25 2022 03:07 AM
Mar 25 2022 03:24 AM
Mar 25 2022 03:30 AM
Mar 25 2022 03:45 AM
hello as per the windows 10 client, after updating it, I see the option.
Right now I have a fido key registered for the test user, I'm able to login to O365 with it, but when I'm tryin to use it on the PC I got the error below .
I should say I'm using a virtual PC, as I cannot do it differently right now.
So is not possible to use fido keys to RDP to windows servers as we use normal USB Token with certificate ?
Mar 28 2022 05:51 AM
Apr 20 2023 02:53 AM - edited Apr 20 2023 02:56 AM
Smart job and very detailed article! I have recognized your footprint...
Very prone to try it in a lab.
Thank you for sharing.