# Protect all users with MFA

## Problem description:

Most companies started an MFA registration campaign to make sure that all users use MFA when signing in. Many have also trained their end-users in how to detect phishing and so on.

One big problem is to handle all the inactive users, service accounts, resources and such. It's common to allow end-user to register MFA from anywhere. The password is then the only protection of those accounts. These accounts are then vulnerable for password sprays.

If the account to your previous CFO that left the company 7 years ago wasn't deleted due to issues in the offboarding routine, is that account protected with registered MFA?

Token theft is also popular amongst the evil ones. Helping your end-users to protect themselves by providing phishing resistant MFA or passwordless sign-in would prevent tokens being stolen by fake/malicious websites and other phishing attacks. Adopting a passwordless and phishing resistant strategy is easier than you might think. Jonathan Edwards created a great video for inspiration/demo on how to achieve [Phishing Resistant MFA for New Users in Microsoft 365](https://www.youtube.com/watch?v=7nMKPPLaN7o).

MFA is the fundament in securing your environment, and we encourage everyone to spend an hour watching John Savill explaining [Protecting Against Credential and Token Theft](https://www.youtube.com/watch?v=toytJf1rmV4) &#x20;

## General considerations:

Normal user accounts should be protected from time of creation, meaning you should ensure no one else than the person/service account was created for could start using the account by guessing the correct username and password.

Some organisations choose to create the users with extremely long and complex passwords, some creates them as disabled and end-users needs contact support to get them enabled and some preregister an authentication method like phone or sms.

Using Temporary Access Pass (TAP) in combination with MFA requirement to register security information could be a great way of enhancing your [process on onboarding new users](https://learn.microsoft.com/en-us/entra/id-governance/tutorial-onboard-custom-workflow-portal)&#x20;

Many accounts like meeting rooms, shared resources and service accounts doesn't support a traditional two factor. You should protect these accounts by creating  specific conditional access rules to protect the usage of these accounts.&#x20;

[Bsure Insights - Security - Authentication Methods](https://docs.bsure.io/user-guides/security/authentiation-methods) report will list all accounts available for everyone guessing the correct username and password:

<figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/tFRnUjGTLw7PD8mQyz0j/image.png" alt=""><figcaption><p>It is common to find many accounts with this status. These users are normally accounts that hasn't been used in many years, and service accounts etc.</p></figcaption></figure>

## Bsure recommendations:

### Require MFA for all users:

Create conditional access rule to [enforce MFA in your organization](https://learn.microsoft.com/en-gb/entra/identity/conditional-access/howto-conditional-access-policy-all-users-mfa)

* Require that all users register MFA regardless of location
* Provide only the [MFA methods you want to support](https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-getstarted)
* Exceptions only for service accounts and location based users. Create specific network locations and create separate conditional access rules to allow usage of these accounts from specific ip&#x20;

### Protect registration of security information

Ensure that the security information registration page is protected. Guessing correct username and password will then not be sufficient to take over an unused identity within your Entra ID.

Create a conditional access policy to require MFA ever time user want to register security information. <https://learn.microsoft.com/en-gb/entra/identity/conditional-access/howto-conditional-access-policy-registration>

* Under session - add sign-in frequency = Every time
* Make sure you exclude all guest accounts (already taken care of if you use the [securing security information template](https://portal.azure.com/?feature.msaljs=true#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView) provided)

### Change the process on how you onboard new users.

*Requires that users are allowed to change their password in Entra ID if passwords are needed.*

Create new users as you always done but with a crazy long and complex password that you just forget.

Create and provide a temporary access pass when the user or manager requests it.

<figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/ngfaSBujYtzUWITnpguy/image.png" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/9XlCwthC3ix4NbUDT47k/image.png" alt=""><figcaption></figcaption></figure></div>

End-user goes to <https://aka.ms/mysecurityinfo> and type in username and gets asked for temporary access pass:

<div align="left"><figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/7cxQjcHgXZtifKf5AMkL/image.png" alt=""><figcaption></figcaption></figure></div>

Sign in and follow wizard to register security information

<div align="left"><figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/yvkxAcI2E1mSSKx4efBp/image.png" alt=""><figcaption></figcaption></figure></div>

When done, user should set a new password if needed using the link provided on <https://mysignins.microsoft.com/security-info>

<figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/VdM3VywkJZ2uCMnlPPqn/image.png" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/qlbtPmPqeHmqoIE1AGaI/image.png" alt=""><figcaption></figcaption></figure></div>

Follow the self service password reset instructions

<div align="left"><figure><img src="https://content.gitbook.com/content/ygloFyyKhIYtV62dMZJc/blobs/cHNLgZkZSCzRimYVAGSj/image.png" alt=""><figcaption></figcaption></figure></div>

This way you ensure that inactive accounts without MFA registration completed can't be taken over by attackers.
