Azure Password Protection ensures that all passwords are complex and meet the required password policies. According to Microsoft, a strong password should be at least 12 characters long and contain a mix of uppercase and lowercase letters, numbers, and special characters.
To get started with Azure Password Protection, you need to enable the feature in your Azure Active Directory settings. This can be done by going to the Azure portal and navigating to the Azure AD settings page.
By enabling Azure Password Protection, you can enforce password policies, such as password expiration and account lockout, to prevent brute-force attacks.
Azure Password Protection Basics
Azure Password Protection helps prevent password-based attacks by blocking or modifying login attempts that use weak or compromised passwords.
Azure Password Protection can be enabled for Azure Active Directory (Azure AD) users and can be enforced for all users or specific groups.
Azure Password Protection can detect and block brute-force attacks, which are attempts to guess a password by trying many combinations.
Substring Matching on Specific Terms
Substring matching is a security feature that checks your password for specific terms.
It's used to check for your first and last name as well as your tenant name. However, tenant name matching isn't done when validating passwords on an AD DS domain controller for on-premises hybrid scenarios.
The feature is only enforced for names and other terms that are at least four characters long. This means that if you try to use a password with a shorter name or term, substring matching won't catch it.
Here's an example of how substring matching works:
- A user named Poll who wants to reset their password to "p0LL23fb".
- After normalization, this password would become "poll23fb".
- Substring matching finds that the password contains the user's first name "Poll".
- Even though "poll23fb" wasn't specifically on either banned password list, substring matching found "Poll" in the password.
- This password would be rejected.
Fuzzy Matching Behavior
Fuzzy matching behavior is used to identify banned passwords in Azure Password Protection. This process is based on an edit distance of one comparison.
The edit distance of one means that if a password is within one character change of a banned password, it's considered a match. For example, if the banned password is "abcdef" and a user tries to change their password to "abcefg", it's considered a match.
Here's a list of examples that illustrate this point:
- Password "abcdef" is banned.
- A user tries to change their password to one of the following:
- abcefg, bcdefg, acdefg, etc.
These examples are all considered matches to the banned password "abcdef" because they're within an edit distance of one. As a result, these passwords would be rejected.
Implementation and Configuration
To implement Azure Password Protection, you'll need to configure some settings. The Lockout threshold determines how many failed sign-ins are allowed on an account before it locks out.
You can also set the Lockout duration in seconds, which is the minimum length of each lockout. If an account locks repeatedly, this duration increases.
The Enforce custom list feature allows you to configure a list of banned passwords to prevent easy-to-guess passwords. If set to Yes, password protection is turned on for Active Directory domain controllers when the appropriate agent is installed.
Here's a summary of the configuration options:
- Lockout threshold
- Lockout duration in seconds
- Enforce custom list
- Enable password protection on Windows Server Active Directory
- Mode (Enforce or Audit)
Remember to configure the service in Audit mode before adding custom passwords to the tenant BPL.
Design Advantages
The design advantages of this hybrid solution are numerous and noteworthy. The BPL request and update process has an extremely low impact on DC operations, requiring as few as one DC per domain per hour to request the BPL.
This flexibility is made possible by the solution's ability to work with a wide range of network topologies. The DCs don't need internet connectivity, only the proxy needs internet access, and if necessary, the proxy only needs to connect to a single DC per domain via RPC.
The password check goes through normal Active Directory processes, keeping changes to core AD functionality to a minimum. This ensures that the password policy gets to all DCs in the domain via SYSVOL replication using DFSR.
The solution is designed with a "fail open" fashion, meaning that if some component is not installed or not working, the password will be allowed, but an error will be logged in the DC's event log. This approach makes it possible to pre-install the DC agent on a server you intend to promote to a DC.
Here are some key benefits of this design:
- Low impact on DC operations
- Wide range of network topologies supported
- Normal Active Directory processes used for password check
- Fail open architecture for error handling
- Pre-installation possible on DC agents
The DC agent runs the same password-checking code as the Azure service does, ensuring consistency and reliability. You don't need to deploy it on all your DCs to test it out, in fact, that's a good way to incrementally deploy it.
Deployment Steps
To begin the deployment process, determine which domain-joined computer(s) you'll install the proxy service on, and identify which DCs you want to test it against. You don't necessarily need to install it on the Azure AD Connect server or a DC, but a member server will do.
Ensure the Azure AD Password Protection service is configured in Audit mode, which is the default setting. You can also add any custom passwords to the tenant BPL if needed.
To proceed, grab the preview bits for the password policy proxy service and the DC agent from the download center. This is a crucial step, as it provides the necessary tools for the deployment.
Install the password policy proxy service on the designated server. This will kick off the rest of the deployment process.
On the proxy server, you'll need to register the proxy service with Azure AD and register the on-premises Active Directory forest with Azure AD as well. This step is essential for the proxy service to function correctly.
Next, install the DC agent(s) on the designated servers. This will enable the DC agent to communicate with the proxy service.
Finally, reboot the DCs to ensure the changes take effect. This is a critical step, as it will allow the DC agent to start communicating with the proxy service.
Configuration
Let's dive into the configuration settings for Azure AD password protection. The lockout threshold is set to prevent accounts from locking out after a certain number of failed sign-ins, with the option to increase the duration of each lockout if an account locks repeatedly.
You can configure the lockout duration in seconds to set the minimum length of each lockout, helping to prevent brute-force attacks. Enforce custom lists by adding words that users shouldn't use in their passwords to prevent easy-to-guess passwords.
To enable password protection on Windows Server Active Directory, simply set the option to "Yes" and install the appropriate agent on your domain controllers. More information can be found in the Azure AD documentation.
Here are the configuration settings in more detail:
Azure AD Recommendations
As a Modern Workplace & Security Consultant, I've seen firsthand the importance of implementing Azure AD password protection. One key recommendation is to use the global banned password list, which is constantly updated by the Microsoft Entra ID Protection team to block commonly used weak or compromised passwords.
The global banned password list is automatically applied to all users in a Microsoft Entra tenant, and it's used to validate the strength of passwords when they're changed or reset. This means that users can't set passwords that are on the banned list, making it harder for cyber-criminals to guess or crack them.
To get the most out of the global banned password list, it's essential to understand how passwords are evaluated. The algorithm checks for exact matches and 1 character differences, and it also checks for banned words in the user's first name, last name, and tenant name.
Here are some key features of the global banned password list:
- It's constantly updated by the Microsoft Entra ID Protection team
- It's automatically applied to all users in a Microsoft Entra tenant
- It's used to validate the strength of passwords when they're changed or reset
- It checks for exact matches and 1 character differences
- It checks for banned words in the user's first name, last name, and tenant name
By leveraging the global banned password list, you can improve the security of your Microsoft Entra tenant and make it harder for cyber-criminals to compromise your users' accounts.
Threats and Risks
Using common passwords can put your organization at risk of being hacked. Attacks against common passwords using "password spray" attacks have risen dramatically in the last few months, making it extremely hard to defend against with conventional security tools.
The most common passwords are surprisingly simple, such as "password" and "12345678". These passwords are easily crackable and can be used by attackers to gain unauthorized access to accounts and systems.
Bad actors use various tactics to steal passwords, including brute force attacks, credential stuffing, dictionary attacks, keylogging, malware, password spraying, and phishing. These tactics can be used to steal PINs, credit card numbers, usernames, passwords, and more.
Here are some common tactics used by attackers:
- Brute force attacks: uses trial and error to crack passwords
- Credential stuffing: automated use of stolen usernames and passwords
- Dictionary attacks: tries to break a password by entering every word in the dictionary
- Keylogging: uses software to track keyboard strokes to steal passwords
- Malware: malicious software designed to harm or exploit computer systems
- Password spraying: uses a single password against many accounts
- Phishing: tricks users into sharing their credentials with hackers
To protect against these threats, it's essential to use strong passwords on all devices and accounts, and be skeptical about links and attachments. Shielding paperwork, device screens, and keypads from view can also help prevent password theft by looking over a target's shoulder.
Frequently Asked Questions
How much does Azure AD password protection cost?
Azure AD Password Protection costs $6 per user, per month, requiring an Azure AD Premium 1 (P1) subscription. This cost is in addition to the base Azure AD subscription fee.
Does Azure have a password policy?
Azure AD has a default password policy that cannot be changed, which allows passwords to be valid indefinitely with a 30-day expiration notification. You can verify this policy using a quick PowerShell cmdlet.
What is the alternative to Azure AD password protection?
For an alternative to Azure AD password protection, consider ADSelfService Plus, which offers a comprehensive password management solution with advanced features beyond Azure AD's capabilities.
Does Azure AD password protection validate existing passwords after being installed?
No, Azure AD password protection does not validate existing passwords after installation. It only enforces password policy on new passwords during the change or set operation.
Sources
- https://www.semperis.com/blog/azure-ad-password-protection/
- https://learn.microsoft.com/en-us/entra/identity/authentication/concept-password-ban-bad
- https://www.bilalelhaddouchi.nl/index.php/2020/04/24/azure-ad-password-protection/
- https://dirteam.com/sander/2022/09/01/howto-extend-the-availability-of-azure-ad-password-protection-reporting-information/
- https://www.microsoft.com/en-us/security/business/security-101/what-is-password-protection
Featured Images: pexels.com