Современная проверки подлинности (Modern Authentication) сейчас по умолчанию включена для всех новых тенантов Microsoft 365/ Azure. Это протокол аутентификации более безопасный, чем устаревший Basic Authentication. Во второй половине 2021 года Microsoft планирует полностью запретить использовать Basic Authentication для всех клиентов Microsoft 365. В этой статье мы рассмотрим особенности включения/отключения Modern и Basic Authentication в Microsoft 365.
Базовая и современная аутентификация
Microsoft сейчас поддерживает следующие виды аутентификации для Office 365:
- Базовую аутентификацию (Basic Authentication) – этот тип аутентификации знаком всем пользователям Windows. Для выполнения basic auth используется простое окно Windows Security, в котором запрашивается имя и пароль пользователя и есть предложение сохранить пароль в диспетчер учетных записей Windows (Credential Manager). Такой тип аутентификации не поддерживает мультифакторную аутентификацию и не стоек к атакам перебора паролей. Приложения при этом хранят и используют для аутентификации имя и пароль пользователя в явном виде.
- Современная проверка подлинности (Modern Authentication) основана на протоколах (Active Directory Authentication Library) и OAuth 2.0. Приложения не хранят и не используют креденшаналы пользователей, а аутентификация основана на токенах с ограниченным сроком действия. Modern Auth поддерживает дополнительные факторы аутентификации (мультифакторную аутентификацию – MFA). Окно для ввода имени пользователя и пароля при выполнении современной аутентфикации выглядит так. Оно будет появляться при подключении к сервисам Microsoft 365, или подключению к Azure (в том числе через PowerShell).
Поиск приложений Microsoft 365, использующих Basic Authentication
Прежде чем включать современную проверку подлинности и отключать basic authentication, проверьте какие протоколы аутентификации используют ваши пользователи и приложения Microsoft 365.
- Откройте портал управления Azure;
- Перейдите Azure Active Directory -> Sign-in logs;
- Выберите диапазон Last 1 month;
- Добавьте фильтр по полую Client App;
- Выберите для данного фильтра все Legacy Authentication Clients.
Это позволит вам найти пользователей и приложения, которые все еще используют basic аутентификацию. Вам нужно мигрировать найденные приложения на протокол современной аутентификации (в моем случае большинство события были связаны с нативными почтовыми клиентами на смартфонах, их нужно мигрировать на Outlook App).
Microsoft анонсировала, что будет автоматически отключать Basic Auth для тенантов, где он не используется.
Как включить Modern Authentication для тенанта Microsoft 365?
Вы можете включить современную проверку подлинности через Microsoft 365 Admin Center.
- Перейдите в https://admin.microsoft.com
- Перейдите в Settings -> Org Settings -> Modern authentication
- Включите опцию Turn on modern authentication for Outlook 2013 for Windows and later;
- Сохраните изменения.
Your organization has security defaults enabled, which means modern authentication to Exchange Online is required, and basic authentication connections are blocked. You must turn off security defaults in the Azure portal before you can change any settings here.
Включить поддержку Basic Auth для тенанта можно из портала Azure (Azure Active Directory -> Properties -> Manage Security defaults -> Enable Security defaults =
No
).
Обратите внимание на ряд опций в секции Allow access to basic authentication protocols. Здесь перечислены различные приложения, для которых вы можете разрешить использовать Basic Authentication.
- Outlook client
- Exchange ActiveSync (EAS)
- Autodiscover
- IMAP4
- POP3
- Authenticated SMTP (пример SMTP аутентификации из telnet)
- Exchange Online PowerShell — (для современного модуля Exchange Online PowerShell V2 — EXOv2, базовая аутентификация не поддерживается)
Отключите Basic Auth для всех приложений, для которых она точно не нужна.
Если у вас в тенанте Office 365 настроены политики аутентификации, можно вывести текущие настройки и протоколы, для которых разрешено использование Basic Authentication с помощью PowerShell:
Get-AuthenticationPolicy
В нашем случае у нас всего одна политикиа и BasicAuth запрещена для всех приложений.
AllowBasicAuthActiveSync : False AllowBasicAuthAutodiscover : False AllowBasicAuthImap : False AllowBasicAuthMapi : False AllowBasicAuthOfflineAddressBook : False AllowBasicAuthOutlookService : False AllowBasicAuthPop : False AllowBasicAuthReportingWebServices : False AllowBasicAuthRest : False AllowBasicAuthRpc : False AllowBasicAuthSmtp : False AllowBasicAuthWebServices : False AllowBasicAuthPowershell : False
В целях обеспечения безопасности вы можете создать отдельную политику с разными разрешениями Basic Auth для определенных протоколов и привязать ее к пользователям, которые используют legacy приложения. В данном примере мы разрешим пользователю подключение к Exchange Online через удалённую сессию PowerShell с базовой аутентификацией:
Set-AuthenticationPolicy -Identity "BasicAuthAllowPoSh" -AllowBasicAuthPowershell:$true
Set-User -Identity kbuldogov -AuthenticationPolicy "BasicAuthAllowPoSh"
При этом политика по умолчанию будет блокировать устаревшие протоколы:
New-AuthenticationPolicy -Name "BasicAuthBlock"
Set-OrganizationConfig -DefaultAuthenticationPolicy "Block Legacy Authentication"
Кроме того, обратите внимание что в настройках организации есть еще одна опция OAuth2ClientProfileEnabled, которая определяет включена ли Modern Auth для тенанта:
Get-OrganizationConfig | ft OAuth*
Если OAuth2ClientProfileEnabled = False, значит современная проверка подлинности отключена.
Поддержка Modern Authentication в разных версиях Outlook
Обратите внимание на специфику поддержки современной проверки подлинности в разных версиях Outlook:
- Outlook 2010 и ранее – не поддерживают Modern Auth. Если в настройках тенанта отключена Basic Auth, такие версии Outlook не смогут подключиться к Exchange Online в Microsoft 365;
- Outlook 2013 – для поддержки OAuth нужно установить два параметра в реестре в ветке
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Common\Identity
(EnableADAL = 1
иVersion = 1
; - Outlook 365, 2019, 2016 – современная аутентификация поддерживается по-умолчанию. Чтобы всегда использовать сначаа Modern Auth, установите параметр
AlwaysUseMSOAuthForAutoDiscover = 1
в веткеHKEY_CURRENT_USER\Software\Microsoft\Exchange
(если этот параметр не включен, Outlook может постоянно запрашивать пароль для подключения, или может быть другая проблема с пустым окном входа в Outlook/Teams );
Вы можете проверить, что клиент Outlook использует Modern Authentication для подключения к почтовому серверу. Зажмите
Ctrl
и щелкните по значку Outlook в трее. Убедитесь, что в поле Authn указано Bearer*. Это означает, что клиент использует современную аутентификацию.