Мониторинг и проверка журналов в локальной среде Microsoft Entra для защиты паролей
После развертывания Защиты паролей Microsoft Entra мониторинг и отчеты являются важными задачами. В этой статье подробно объясняются различные методы мониторинга, включая, где каждый сервис регистрирует информацию, и как составлять отчеты об использовании защиты паролей Microsoft Entra.
Мониторинг и отчеты осуществляются либо через сообщения из журнала событий, либо с использованием командлетов PowerShell. Агент контроллера домена и прокси-службы оба записывают сообщения журнала событий. Все описанные ниже командлеты PowerShell доступны только на прокси-сервере (см. модуль PowerShell AzureADPasswordProtection). Программное обеспечение агента контроллера домена не устанавливает модуль PowerShell.
Ведение журнала событий агента контроллера домена
На каждом контроллере домена программное обеспечение службы агента контроллера домена записывает результаты каждой отдельной операции проверки пароля (и другого состояния) в локальный журнал событий:
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Admin
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Trace
Журнал администратора агента контроллера домена является основным источником сведений о том, как работает программное обеспечение.
Обратите внимание, что по умолчанию журнал трассировки отключен.
События, зарегистрированные различными компонентами агента DC, относятся к следующим категориям:
Компонент | Диапазон идентификаторов событий |
---|---|
Библиотека паролей фильтра dll агента контроллера домена | 10000-19999 |
Процесс хостинга службы агента DC | 20000-29999 |
Логика проверки политики службы агента контроллера домена | 30000-39999 |
Журнал событий администратора агента контроллера домена
События, связанные с результатами проверки пароля
На каждом контроллере домена программное обеспечение службы агента контроллера домена записывает результаты каждой отдельной проверки пароля в журнал событий администратора агента контроллера домена.
Для успешной операции проверки пароля обычно регистрируется одно событие из DLL-фильтра паролей агента доменного контроллера. Для операции проверки пароля, которая не удалась, обычно регистрируются два события: одно от службы агента контроллера домена и одно от DLL-фильтра паролей агента контроллера домена.
Дискретные события для записи этих ситуаций регистрируются на основе следующих факторов:
- Устанавливается или изменяется ли заданный пароль.
- Прошла ли проверка заданного пароля или нет.
- Не удалось ли выполнить проверку из-за глобальной политики Майкрософт, политики организации или сочетания.
- Включен ли в настоящий момент режим только аудита для текущей политики паролей.
Ниже приведены события, связанные с проверкой пароля.
Событие | Изменение пароля | Набор паролей |
---|---|---|
Пропуск | 10014 | 10015 |
Сбой (из-за политики паролей клиента) | 10016, 30002 | 10017, 30003 |
Сбой (из-за политики паролей Майкрософт) | 10016, 30004 | 10017, 30005 |
Сбой (из-за объединенных политик паролей Майкрософт и клиентов) | 10016, 30026 | 10017, 30027 |
Сбой (из-за имени пользователя) | 10016, 30021 | 10017, 30022 |
Пароль только для аудита (не удалось бы использовать политику паролей клиента) | 10024, 30008 | 10025, 30007 |
Пароль только для аудита (не удалось бы использовать политику паролей Майкрософт) | 10024, 30010 | 10025, 30009 |
Режим тестового аудита (не прошёл бы проверку совмещённых политик паролей Microsoft и клиента) | 10024, 30028 | 10025, 30029 |
Проверка только для аудита (бы не прошла из-за имени пользователя) | 10016, 30024 | 10017, 30023 |
Случаи в таблице выше, которые ссылаются на "комбинированные политики", относятся к ситуациям, когда в пароле пользователя найдено по крайней мере одно слово из списка запрещенных паролей как Microsoft, так и из списка, составленного клиентом.
В случаях, приведенных в таблице выше, которые относятся к "имени пользователя", подразумеваются ситуации, когда пароль пользователя содержит имя учетной записи пользователя или одно из его знакомых имен. Любой сценарий приведет к отклонению пароля пользователя, если политика задана как строгое выполнение, или принят, если политика находится в режиме аудита.
Если пара событий регистрируется вместе, оба события явно связываются с помощью одного и того же Идентификатора корреляции.
Сводка отчетов о проверке паролей с помощью PowerShell
Командлет Get-AzureADPasswordProtectionSummaryReport
может использоваться для создания сводного представления действия проверки пароля. Ниже приведен пример выходных данных этого командлета:
Get-AzureADPasswordProtectionSummaryReport -DomainController bplrootdc2
DomainController : bplrootdc2
PasswordChangesValidated : 6677
PasswordSetsValidated : 9
PasswordChangesRejected : 10868
PasswordSetsRejected : 34
PasswordChangeAuditOnlyFailures : 213
PasswordSetAuditOnlyFailures : 3
PasswordChangeErrors : 0
PasswordSetErrors : 1
Область отчетности командлета может быть определена с использованием одного из параметров –Forest, -Domain или -DomainController. Если параметр не указан, подразумевается —Лес.
Заметка
Если установить только агент контроллера домена на одном контроллере домена, Get-AzureADPasswordProtectionSummaryReport будет считывать события только из этого контроллера домена. Чтобы получить события из нескольких контроллеров домена, вам потребуется агент контроллера домена, установленный на каждом контроллере домена.
Командлет Get-AzureADPasswordProtectionSummaryReport
работает, запрашивая журнал событий администратора агента контроллера домена, а затем подсчитывая общее количество событий, соответствующих каждой отображаемой категории результатов. В следующей таблице содержатся сопоставления между каждым результатом и соответствующим идентификатором события:
свойство Get-AzureADPasswordProtectionSummaryReport | Соответствующий идентификатор события |
---|---|
Проверка изменений пароля завершена | 10014 |
Наборы паролей подтверждены | 10015 |
Отклонены изменения пароля | 10016 |
НаборыПаролейОтклонены | 10017 |
Аудит изменения пароля - только ошибки | 10024 |
АудитТолькоНеудачиУстановкиПароля | 10025 |
ОшибкиСменыПароля | 10012 |
Ошибки установки пароля | 10013 |
Обратите внимание, что командлет Get-AzureADPasswordProtectionSummaryReport
поставляется в форме скрипта PowerShell, и, если необходимо, к нему можно обратиться непосредственно в следующем расположении:
%ProgramFiles%\WindowsPowerShell\Modules\AzureADPasswordProtection\Get-AzureADPasswordProtectionSummaryReport.ps1
Заметка
Этот командлет работает путем открытия сеанса PowerShell для каждого контроллера домена. Для успешного выполнения поддержка удаленных сеансов PowerShell должна быть включена на каждом контроллере домена, а клиент должен иметь достаточные привилегии. Чтобы получить дополнительную информацию о требованиях к удаленному сеансу PowerShell, выполнитеGet-Help about_Remote_Troubleshooting в окне PowerShell.
Заметка
Этот командлет работает, удаленно запрашивая журнал событий Администратора каждой службы агента DC. Если журналы событий содержат большое количество событий, командлет может занять много времени. Кроме того, массовые сетевые запросы больших наборов данных могут повлиять на производительность контроллера домена. Поэтому этот командлет следует тщательно использовать в рабочих средах.
Примеры сообщений журнала событий
Идентификатор события 10014 (успешное изменение пароля)
The changed password for the specified user was validated as compliant with the current Azure password policy.
UserName: SomeUser
FullName: Some User
Идентификатор события 10017 (не удалось изменить пароль):
The reset password for the specified user was rejected because it did not comply with the current Azure password policy. Please see the correlated event log message for more details.
UserName: SomeUser
FullName: Some User
Идентификатор события 30003 (не удалось изменить пароль):
The reset password for the specified user was rejected because it matched at least one of the tokens present in the per-tenant banned password list of the current Azure password policy.
UserName: SomeUser
FullName: Some User
Идентификатор события 10024 (пароль принят из-за политики только в режиме аудита)
The changed password for the specified user would normally have been rejected because it did not comply with the current Azure password policy. The current Azure password policy is con-figured for audit-only mode so the password was accepted. Please see the correlated event log message for more details.
UserName: SomeUser
FullName: Some User
Идентификатор события 30008 (пароль принят из-за политики только в режиме аудита)
The changed password for the specified user would normally have been rejected because it matches at least one of the tokens present in the per-tenant banned password list of the current Azure password policy. The current Azure password policy is configured for audit-only mode so the password was accepted.
UserName: SomeUser
FullName: Some User
Идентификатор события 30001 (пароль принят из-за отсутствия политики)
The password for the specified user was accepted because an Azure password policy is not available yet
UserName: SomeUser
FullName: Some User
This condition may be caused by one or more of the following reasons:%n
1. The forest has not yet been registered with Azure.
Resolution steps: an administrator must register the forest using the Register-AzureADPasswordProtectionForest cmdlet.
2. An Azure AD password protection Proxy is not yet available on at least one machine in the current forest.
Resolution steps: an administrator must install and register a proxy using the Register-AzureADPasswordProtectionProxy cmdlet.
3. This DC does not have network connectivity to any Azure AD password protection Proxy instances.
Resolution steps: ensure network connectivity exists to at least one Azure AD password protection Proxy instance.
4. This DC does not have connectivity to other domain controllers in the domain.
Resolution steps: ensure network connectivity exists to the domain.
Идентификатор события 30006 (новая политика применяется)
The service is now enforcing the following Azure password policy.
Enabled: 1
AuditOnly: 1
Global policy date: 2018-05-15T00:00:00.000000000Z
Tenant policy date: 2018-06-10T20:15:24.432457600Z
Enforce tenant policy: 1
Идентификатор события 30019 (защита паролей Microsoft Entra отключена)
The most recently obtained Azure password policy was configured to be disabled. All passwords submitted for validation from this point on will automatically be considered compliant with no processing performed.
No further events will be logged until the policy is changed.%n
Операционный журнал агента контроллера домена
Служба агента контроллера домена также регистрирует события, связанные с операцией, в следующий журнал:
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational
Журнал трассировки агента DC
Служба агента контроллера домена также может записывать подробные события трассировки на уровне отладки в следующий журнал:
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Trace
Ведение журнала трассировки по умолчанию отключено.
Предупреждение
При включении журнал трассировки получает большой объем событий и может повлиять на производительность контроллера домена. Таким образом, этот расширенный журнал должен быть включен только в том случае, если проблема требует более глубокого исследования, а затем только в течение минимального периода времени.
Ведение журнала текста DC Agent
Службу агента контроллера домена можно настроить для записи в текстовый журнал, задав следующее значение реестра:
HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionDCAgent\Parameters!EnableTextLogging = 1 (REG_DWORD value)
Ведение журнала текста по умолчанию отключено. Перезапуск службы агентa DC требуется, чтобы изменения этого значения вступили в силу. Когда служба агента контроллера домена включена, она будет записывать данные в файл журнала, расположенный по адресу:
%ProgramFiles%\Azure AD Password Protection DC Agent\Logs
Совет
Текстовый журнал получает те же записи уровня отладки, которые могут быть записаны в журнал трассировки, но обычно в более удобном формате для просмотра и анализа.
Предупреждение
Если этот журнал включен, он получает большое количество событий и может повлиять на производительность контроллера домена. Таким образом, этот расширенный журнал должен быть включен только в том случае, если проблема требует более глубокого исследования, а затем только в течение минимального периода времени.
Мониторинг работы агентa контроллера домена
Программное обеспечение службы агента DC устанавливает объект счетчика производительности с именем Microsoft Entra Password Protection. В настоящее время доступны следующие счетчики perf:
Имя счетчика производительности | Описание |
---|---|
Обработанные пароли | Этот счетчик отображает общее количество обработанных паролей (принятых или отклоненных) с момента последнего перезапуска. |
Принятые пароли | Этот счетчик отображает общее количество паролей, принятых с момента последнего перезапуска. |
Пароли отклонены | Этот счетчик отображает общее количество паролей, отклоненных с момента последнего перезапуска. |
Запросы фильтра паролей выполняются | Этот счетчик отображает количество запросов фильтра паролей, выполняемых в настоящее время. |
Пиковые запросы фильтра паролей | Этот счетчик отображает пиковое число одновременных запросов фильтра паролей с момента последнего перезапуска. |
Ошибки запроса фильтра паролей | Этот счетчик отображает общее количество запросов фильтра паролей, которые завершилось сбоем из-за ошибки с момента последнего перезапуска. Ошибки могут возникать, когда служба агента контроллера домена Microsoft Entra Защита паролей не работает. |
Запросы на фильтрацию паролей в секунду | Этот счетчик отображает скорость обработки паролей. |
Время обработки запроса фильтра паролей | Этот счетчик отображает среднее время, необходимое для обработки запроса фильтра паролей. |
Пиковое время обработки запросов фильтра паролей | Этот счетчик отображает время обработки запроса на пиковый фильтр паролей с момента последнего перезапуска. |
Пароли принимаются в режиме аудита | Этот счетчик отображает общее количество паролей, которые обычно были отклонены, но были приняты, так как политика паролей настроена в режиме аудита (с момента последнего перезапуска). |
Обнаружение DC агента
Командлет Get-AzureADPasswordProtectionDCAgent
может использоваться для отображения основных сведений о различных агентах контроллера домена, работающих в домене или лесу. Эти сведения извлекаются из объектов ServiceConnectionPoint, зарегистрированных запущенными службами агента контроллера домена.
Ниже приведен пример выходных данных этого командлета:
Get-AzureADPasswordProtectionDCAgent
ServerFQDN : bplChildDC2.bplchild.bplRootDomain.com
Domain : bplchild.bplRootDomain.com
Forest : bplRootDomain.com
PasswordPolicyDateUTC : 2/16/2018 8:35:01 AM
HeartbeatUTC : 2/16/2018 8:35:02 AM
Различные свойства обновляются службой агента контроллера домена приблизительно каждый час. Данные по-прежнему подвергаются задержке репликации Active Directory.
На область запроса командлета может влиять использование параметров -Forest или -Domain.
Если значение HeartbeatUTC становится устаревшим, это может свидетельствовать о том, что агент защитника паролей Microsoft Entra на этом контроллере домена не работает, был удален, или компьютеру был присвоен более низкий уровень доверия и он больше не является контроллером домена.
Если значение PasswordPolicyDateUTC становится устаревшим, это может быть признаком того, что агент контроллера домена защиты паролей Microsoft Entra на этом компьютере не работает должным образом.
Доступна новая версия DC-агента
Служба агента контроллера домена регистрирует событие предупреждения 30034 в операционный журнал после обнаружения того, что доступна более новая версия программного обеспечения агента контроллера домена, например:
An update for Azure AD Password Protection DC Agent is available.
If autoupgrade is enabled, this message may be ignored.
If autoupgrade is disabled, refer to the following link for the latest version available:
https://aka.ms/AzureADPasswordProtectionAgentSoftwareVersions
Current version: 1.2.116.0
Приведенное выше событие не указывает версию нового программного обеспечения. Чтобы получить эту информацию, перейдите по ссылке в сообщении о событии.
Заметка
Несмотря на ссылки на "autoupgrade" в приведенном выше сообщении о событии, программное обеспечение агента CD ныне не поддерживает эту функцию.
Ведение журнала событий службы прокси-сервера
Служба прокси-сервера выдает минимальный набор событий в следующие журналы событий:
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Admin
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Operational
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Trace
Обратите внимание, что по умолчанию журнал трассировки отключен.
Предупреждение
При включении журнал трассировки получает большой объем событий, и это может повлиять на производительность узла прокси-сервера. Таким образом, этот журнал должен быть включен только в том случае, если проблема требует более глубокого исследования, а затем только в течение минимального периода времени.
События регистрируются различными компонентами прокси-сервера с помощью следующих диапазонов:
Компонент | Диапазон идентификаторов событий |
---|---|
Процесс размещения прокси-службы | 10000-19999 |
Бизнес-логика ядра прокси-службы | 20000-29999 |
Командлеты PowerShell | 30000-39999 |
Ведение журнала текста службы прокси-сервера
Служба прокси-сервера может быть настроена для записи в текстовый журнал, задав следующее значение реестра:
HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionProxy\Parameters!EnableTextLogging = 1 (значение REG_DWORD)
Ведение журнала текста по умолчанию отключено. Чтобы изменения этого значения вступили в силу, требуется перезапуск службы прокси-сервера. Когда служба прокси-сервера включена, будет записываться в файл журнала, расположенный в разделе:
%ProgramFiles%\Azure AD Password Protection Proxy\Logs
Совет
Текстовый журнал получает те же записи уровня отладки, которые могут быть записаны в журнал трассировки, но обычно в более удобном формате для просмотра и анализа.
Предупреждение
При включении этот журнал получает большое количество событий и может повлиять на производительность компьютера. Таким образом, этот расширенный журнал должен быть включен только в том случае, если проблема требует более глубокого исследования, а затем только в течение минимального периода времени.
Ведение журнала командлетов PowerShell
Командлеты PowerShell, которые приводят к изменению состояния (например, Register-AzureADPasswordProtectionProxy) обычно регистрируют событие результата в операционный журнал.
Кроме того, большинство командлетов PowerShell Microsoft Entra Password Protection будут записываться в текстовый журнал, расположенный в следующем каталоге:
%ProgramFiles%\Azure AD Password Protection Proxy\Logs
Если возникает ошибка командлета, и причина и/или решение не очевидны, эти текстовые журналы также могут быть полезными.
Обнаружение прокси-сервера
Командлет Get-AzureADPasswordProtectionProxy
может использоваться для отображения основных сведений о различных службах прокси защиты паролей Microsoft Entra, работающих в домене или в лесу. Эти сведения извлекаются из объектов ServiceConnectionPoint, зарегистрированных запущенными службами прокси-сервера.
Ниже приведен пример выходных данных этого командлета:
Get-AzureADPasswordProtectionProxy
ServerFQDN : bplProxy.bplchild2.bplRootDomain.com
Domain : bplchild2.bplRootDomain.com
Forest : bplRootDomain.com
HeartbeatUTC : 12/25/2018 6:35:02 AM
Различные свойства обновляются каждой службой прокси-сервера примерно почасовой основе. Данные по-прежнему подвергаются задержке репликации Active Directory.
Область запроса командлета может быть изменена с помощью параметров -Forest или -Domain.
Если значение HeartbeatUTC становится устаревшим, это может быть признаком того, что прокси-сервер защиты паролей Microsoft Entra на этом компьютере не запущен или удален.
Доступна более новая версия агента прокси-сервера
Служба прокси-сервера регистрирует событие предупреждения 20002 в операционный журнал при обнаружении доступности более новой версии прокси-программного обеспечения, например:
An update for Azure AD Password Protection Proxy is available.
If autoupgrade is enabled, this message may be ignored.
If autoupgrade is disabled, refer to the following link for the latest version available:
https://aka.ms/AzureADPasswordProtectionAgentSoftwareVersions
Current version: 1.2.116.0
.
Приведенное выше событие не указывает версию нового программного обеспечения. Чтобы получить эту информацию, перейдите по ссылке в сообщении о событии.
Это событие будет выдаваться, даже если агент прокси-сервера настроен с включенным автоматическим обновлением.
Дальнейшие действия
Устранение неполадок для защиты паролей Microsoft Entra
Дополнительные сведения о глобальных и настраиваемых списках запрещенных паролей см. в статье Запрет недопустимых паролей