Monitorowanie i przeglądanie dzienników dla środowisk lokalnej ochrony haseł w usłudze Microsoft Entra

Po wdrożeniu usługi Microsoft Entra Password Protection monitorowanie i raportowanie są podstawowymi zadaniami. W tym artykule szczegółowo opisano różne techniki monitorowania, w tym informacje o tym, gdzie każda usługa rejestruje informacje i jak raportować korzystanie z usługi Microsoft Entra Password Protection.

Monitorowanie i raportowanie odbywa się za pomocą komunikatów dziennika zdarzeń lub uruchamiania poleceń cmdlet programu PowerShell. Agent kontrolera domeny i usługi proxy usługi rejestrują komunikaty dziennika zdarzeń. Wszystkie opisane poniżej polecenia cmdlet programu PowerShell są dostępne tylko na serwerze proxy (zobacz moduł AzureADPasswordProtection programu PowerShell). Oprogramowanie agenta kontrolera domeny nie instaluje modułu programu PowerShell.

Rejestrowanie zdarzeń agenta kontrolera domeny

Na każdym kontrolerze domeny oprogramowanie usługi agenta kontrolera domeny zapisuje wyniki każdej operacji weryfikacji hasła (i innego stanu) do lokalnego dziennika zdarzeń:

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Admin

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Trace

Dziennik agenta kontrolera domeny Administracja jest podstawowym źródłem informacji dotyczących zachowania oprogramowania.

Pamiętaj, że dziennik śledzenia jest domyślnie wyłączony.

Zdarzenia rejestrowane przez różne składniki agenta kontrolera domeny należą do następujących zakresów:

Składnik Zakres identyfikatorów zdarzeń
Biblioteka dll filtru haseł agenta kontrolera domeny 10000-19999
Proces hostingu usługi agenta kontrolera domeny 20000-29999
Logika walidacji zasad agenta kontrolera domeny 30000-39999

Dziennik zdarzeń agenta kontrolera domeny Administracja

Zdarzenia wyniku weryfikacji hasła

Na każdym kontrolerze domeny oprogramowanie usługi agenta kontrolera domeny zapisuje wyniki każdej weryfikacji poszczególnych haseł w dzienniku zdarzeń administratora agenta kontrolera domeny.

W przypadku pomyślnej operacji sprawdzania poprawności hasła występuje zazwyczaj jedno zdarzenie rejestrowane z biblioteki dll filtru haseł agenta kontrolera domeny. W przypadku nieudanej operacji sprawdzania poprawności hasła są zwykle rejestrowane dwa zdarzenia: jeden z usługi agenta kontrolera domeny i jeden z biblioteki dll filtru haseł agenta kontrolera domeny.

Zdarzenia dyskretne w celu przechwycenia tych sytuacji są rejestrowane na podstawie następujących czynników:

  • Określa, czy dane hasło jest ustawiane, czy zmieniane.
  • Czy weryfikacja danego hasła została przekazana, czy nie powiodła się.
  • Sprawdzanie poprawności nie powiodło się z powodu zasad globalnych firmy Microsoft, zasad organizacyjnych lub kombinacji.
  • Czy tryb tylko inspekcji jest obecnie włączony, czy wyłączony dla bieżących zasad haseł.

Zdarzenia związane z weryfikacją hasła klucza są następujące:

Zdarzenie Zmiana hasła Zestaw haseł
Powodzenie 10014 10015
Niepowodzenie (z powodu zasad haseł klienta) 10016, 30002 10017, 30003
Niepowodzenie (z powodu zasad haseł firmy Microsoft) 10016, 30004 10017, 30005
Niepowodzenie (z powodu połączonych zasad firmy Microsoft i haseł klientów) 10016, 30026 10017, 30027
Niepowodzenie (z powodu nazwy użytkownika) 10016, 30021 10017, 30022
Dostęp tylko do inspekcji (zasady haseł klientów zakończyłyby się niepowodzeniem) 10024, 30008 10025, 30007
Dostęp próbny tylko do inspekcji (zasady haseł firmy Microsoft zakończyłyby się niepowodzeniem) 10024, 30010 10025, 30009
Dostęp tylko do inspekcji (połączone zasady firmy Microsoft i hasła klientów zakończyłyby się niepowodzeniem) 10024, 30028 10025, 30029
Przepustka tylko do inspekcji (nie powiodłaby się z powodu nazwy użytkownika) 10016, 30024 10017, 30023

Przypadki przedstawione w powyższej tabeli odwołujące się do "połączonych zasad" odnoszą się do sytuacji, w których znaleziono hasło użytkownika zawierające co najmniej jeden token z listy haseł zabronionych przez firmę Microsoft i listę haseł zabronionych przez klienta.

Przypadki w powyższej tabeli odwołujące się do "nazwy użytkownika" odnoszą się do sytuacji, w których znaleziono hasło użytkownika zawierające nazwę konta użytkownika i/lub jedną z przyjaznych nazw użytkownika. W obu scenariuszach hasło użytkownika zostanie odrzucone, gdy zasady zostaną ustawione na wymuszanie lub zostaną przekazane, jeśli zasady są w trybie inspekcji.

Gdy para zdarzeń jest rejestrowana razem, oba zdarzenia są jawnie skojarzone z tym samym identyfikatorem CorrelationId.

Raportowanie podsumowania weryfikacji hasła za pomocą programu PowerShell

Polecenie Get-AzureADPasswordProtectionSummaryReport cmdlet może służyć do utworzenia widoku podsumowania działania sprawdzania poprawności hasła. Przykładowe dane wyjściowe tego polecenia cmdlet są następujące:

Get-AzureADPasswordProtectionSummaryReport -DomainController bplrootdc2
DomainController                : bplrootdc2
PasswordChangesValidated        : 6677
PasswordSetsValidated           : 9
PasswordChangesRejected         : 10868
PasswordSetsRejected            : 34
PasswordChangeAuditOnlyFailures : 213
PasswordSetAuditOnlyFailures    : 3
PasswordChangeErrors            : 0
PasswordSetErrors               : 1

Zakres raportowania polecenia cmdlet może mieć wpływ na użycie jednego z parametrów –Forest, -Domain lub –DomainController. Nie określono parametru oznacza –Forest.

Uwaga

Jeśli tylko zainstalujesz agenta kontrolera domeny na jednym kontrolerze domeny, polecenie Get-AzureADPasswordProtectionSummaryReport odczytuje zdarzenia tylko z tego kontrolera domeny. Aby uzyskać zdarzenia z wielu kontrolerów domeny, musisz zainstalować agenta kontrolera domeny na każdym kontrolerze domeny.

Polecenie Get-AzureADPasswordProtectionSummaryReport cmdlet działa, wysyłając zapytanie do dziennika zdarzeń administratora agenta kontrolera domeny, a następnie zliczając łączną liczbę zdarzeń odpowiadających każdej wyświetlanej kategorii wyników. Poniższa tabela zawiera mapowania między każdym wynikiem a odpowiadającym mu identyfikatorem zdarzenia:

Właściwość Get-AzureADPasswordProtectionSummaryReport Odpowiadający identyfikator zdarzenia
PasswordChangesValidated 10014
PasswordSetsValidated 10015
PasswordChangesRejected 10016
PasswordSetsRejected 10017
PasswordChangeAuditOnlyFailures 10024
PasswordSetAuditOnlyFailures 10025
PasswordChangeErrors 10012
PasswordSetErrors 10013

Pamiętaj, że Get-AzureADPasswordProtectionSummaryReport polecenie cmdlet jest dostarczane w formularzu skryptu programu PowerShell i w razie potrzeby może być przywoływane bezpośrednio w następującej lokalizacji:

%ProgramFiles%\WindowsPowerShell\Modules\AzureADPasswordProtection\Get-AzureADPasswordProtectionSummaryReport.ps1

Uwaga

To polecenie cmdlet działa przez otwarcie sesji programu PowerShell dla każdego kontrolera domeny. Aby można było pomyślnie, obsługa sesji zdalnej programu PowerShell musi być włączona na każdym kontrolerze domeny, a klient musi mieć wystarczające uprawnienia. Aby uzyskać więcej informacji na temat wymagań dotyczących sesji zdalnej programu PowerShell, uruchom polecenie "Get-Help about_Remote_Troubleshooting" w oknie programu PowerShell.

Uwaga

To polecenie cmdlet działa przez zdalne wykonywanie zapytań dotyczących Administracja dziennika zdarzeń usługi agenta kontrolera domeny. Jeśli dzienniki zdarzeń zawierają dużą liczbę zdarzeń, wykonanie polecenia cmdlet może zająć dużo czasu. Ponadto zbiorcze zapytania sieciowe dużych zestawów danych mogą mieć wpływ na wydajność kontrolera domeny. W związku z tym to polecenie cmdlet powinno być starannie używane w środowiskach produkcyjnych.

Przykładowe komunikaty dziennika zdarzeń

Identyfikator zdarzenia 10014 (pomyślna zmiana hasła)

The changed password for the specified user was validated as compliant with the current Azure password policy.

UserName: SomeUser
FullName: Some User

Identyfikator zdarzenia 10017 (Nieudana zmiana hasła):

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

Identyfikator zdarzenia 30003 (Zmiana hasła nie powiodła się):

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

Identyfikator zdarzenia 10024 (Hasło zaakceptowane z powodu zasad w trybie tylko inspekcji)

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

Identyfikator zdarzenia 30008 (Hasło zaakceptowane z powodu zasad w trybie tylko inspekcji)

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

Identyfikator zdarzenia 30001 (Hasło zaakceptowane z powodu braku dostępnych zasad)

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.

Identyfikator zdarzenia 30006 (wymuszane są nowe zasady)

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

Identyfikator zdarzenia 30019 (ochrona haseł firmy Microsoft jest wyłączona)

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

Dziennik operacyjny agenta kontrolera domeny

Usługa agenta kontrolera domeny będzie również rejestrować zdarzenia związane z operacjami w następującym dzienniku:

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational

Dziennik śledzenia agenta kontrolera domeny

Usługa agenta kontrolera domeny może również rejestrować pełne zdarzenia śledzenia na poziomie debugowania w następującym dzienniku:

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Trace

Rejestrowanie śledzenia jest domyślnie wyłączone.

Ostrzeżenie

Po włączeniu dziennik śledzenia odbiera dużą liczbę zdarzeń i może mieć wpływ na wydajność kontrolera domeny. W związku z tym ten rozszerzony dziennik powinien być włączony tylko wtedy, gdy problem wymaga dokładniejszego zbadania, a następnie tylko przez minimalny czas.

Rejestrowanie tekstu agenta kontrolera domeny

Usługę agenta kontrolera domeny można skonfigurować do zapisywania w dzienniku tekstowym, ustawiając następującą wartość rejestru:

HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionDCAgent\Parameters!EnableTextLogging = 1 (REG_DWORD value)

Rejestrowanie tekstu jest domyślnie wyłączone. Aby zmiany tej wartości zaczęły obowiązywać, wymagane jest ponowne uruchomienie usługi agenta kontrolera domeny. Po włączeniu usługi agenta kontrolera domeny usługa zapisze w pliku dziennika znajdującym się poniżej:

%ProgramFiles%\Azure AD Password Protection DC Agent\Logs

Napiwek

Dziennik tekstu otrzymuje te same wpisy na poziomie debugowania, które mogą być rejestrowane w dzienniku śledzenia, ale ogólnie jest w łatwiejszym formacie do przeglądania i analizowania.

Ostrzeżenie

Po włączeniu ten dziennik odbiera dużą liczbę zdarzeń i może mieć wpływ na wydajność kontrolera domeny. W związku z tym ten rozszerzony dziennik powinien być włączony tylko wtedy, gdy problem wymaga dokładniejszego zbadania, a następnie tylko przez minimalny czas.

Monitorowanie wydajności agenta kontrolera domeny

Oprogramowanie usługi agenta kontrolera domeny instaluje obiekt licznika wydajności o nazwie Microsoft Entra Password Protection. Obecnie są dostępne następujące liczniki wydajności:

Nazwa licznika wydajności opis
Przetworzone hasła Ten licznik wyświetla łączną liczbę przetworzonych haseł (zaakceptowanych lub odrzuconych) od czasu ostatniego ponownego uruchomienia.
Zaakceptowane hasła Ten licznik wyświetla łączną liczbę haseł, które zostały zaakceptowane od czasu ostatniego ponownego uruchomienia.
Odrzucone hasła Ten licznik wyświetla łączną liczbę haseł, które zostały odrzucone od czasu ostatniego ponownego uruchomienia.
Żądania filtrowania haseł w toku Ten licznik wyświetla liczbę aktualnie w toku żądań filtru haseł.
Szczytowe żądania filtru haseł Ten licznik wyświetla maksymalną liczbę współbieżnych żądań filtrowania haseł od czasu ostatniego ponownego uruchomienia.
Błędy żądania filtru haseł Ten licznik wyświetla łączną liczbę żądań filtru haseł, które zakończyły się niepowodzeniem z powodu błędu od ostatniego ponownego uruchomienia. Błędy mogą wystąpić, gdy usługa agenta DC ochrony haseł firmy Microsoft nie jest uruchomiona.
Żądania filtrowania haseł na sekundę Ten licznik wyświetla szybkość przetwarzania haseł.
Czas przetwarzania żądania filtru haseł Ten licznik wyświetla średni czas wymagany do przetworzenia żądania filtru hasła.
Szczytowy czas przetwarzania żądań filtru haseł Ten licznik wyświetla czas przetwarzania żądań filtrowania szczytowego filtru haseł od czasu ostatniego ponownego uruchomienia.
Hasła zaakceptowane z powodu trybu inspekcji Ten licznik wyświetla łączną liczbę haseł, które normalnie zostałyby odrzucone, ale zostały zaakceptowane, ponieważ zasady haseł zostały skonfigurowane w trybie inspekcji (od ostatniego ponownego uruchomienia).

Odnajdywanie agenta kontrolera domeny

Polecenie Get-AzureADPasswordProtectionDCAgent cmdlet może służyć do wyświetlania podstawowych informacji o różnych agentach kontrolera domeny uruchomionych w domenie lub lesie. Te informacje są pobierane z usług Połączenie ionPoint zarejestrowanych przez uruchomione usługi agenta kontrolera domeny.

Przykładowe dane wyjściowe tego polecenia cmdlet są następujące:

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

Różne właściwości są aktualizowane przez każdą usługę agenta kontrolera domeny w przybliżeniu co godzinę. Dane nadal podlegają opóźnieniu replikacji usługi Active Directory.

Zakres zapytania polecenia cmdlet może mieć wpływ na parametry –Forest lub –Domain.

Jeśli wartość HeartbeatUTC jest nieaktualna, może to być objaw, że agent dc ochrony haseł firmy Microsoft na tym kontrolerze domeny nie jest uruchomiony lub został odinstalowany albo maszyna została zdegradowana i nie jest już kontrolerem domeny.

Jeśli wartość PasswordPolicyDateUTC jest nieaktualna, może to być objaw, że agent dc ochrony haseł firmy Microsoft na tej maszynie nie działa prawidłowo.

Dostępna nowsza wersja agenta kontrolera domeny

Usługa agenta kontrolera domeny zarejestruje zdarzenie ostrzegawcze 30034 w dzienniku operacyjnym po wykryciu, że dostępna jest nowsza wersja oprogramowania agenta kontrolera domeny, na przykład:

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

Powyższe zdarzenie nie określa wersji nowszego oprogramowania. Aby uzyskać te informacje, przejdź do linku w komunikacie o zdarzeniu.

Uwaga

Pomimo odwołań do "autoupgrade" w powyższym komunikacie zdarzenia oprogramowanie agenta kontrolera domeny nie obsługuje obecnie tej funkcji.

Rejestrowanie zdarzeń usługi proxy

Usługa serwera proxy emituje minimalny zestaw zdarzeń do następujących dzienników zdarzeń:

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Admin

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Operational

\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Trace

Pamiętaj, że dziennik śledzenia jest domyślnie wyłączony.

Ostrzeżenie

Po włączeniu dziennik śledzenia odbiera dużą liczbę zdarzeń i może to mieć wpływ na wydajność hosta serwera proxy. W związku z tym ten dziennik powinien być włączony tylko wtedy, gdy problem wymaga dokładniejszego zbadania, a następnie tylko przez minimalny czas.

Zdarzenia są rejestrowane przez różne składniki serwera proxy przy użyciu następujących zakresów:

Składnik Zakres identyfikatorów zdarzeń
Proces hostingu usługi proxy 10000-19999
Podstawowa logika biznesowa usługi serwera proxy 20000-29999
Polecenia cmdlet programu PowerShell 30000-39999

Rejestrowanie tekstu usługi proxy

Usługę serwera proxy można skonfigurować do zapisywania w dzienniku tekstowym, ustawiając następującą wartość rejestru:

HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionProxy\Parameters! EnableTextLogging = 1 (wartość REG_DWORD)

Rejestrowanie tekstu jest domyślnie wyłączone. Aby zmiany tej wartości zaczęły obowiązywać, wymagane jest ponowne uruchomienie usługi proxy. Po włączeniu usługi proxy usługa zapisze w pliku dziennika znajdującym się poniżej:

%ProgramFiles%\Azure AD Password Protection Proxy\Logs

Napiwek

Dziennik tekstu otrzymuje te same wpisy na poziomie debugowania, które mogą być rejestrowane w dzienniku śledzenia, ale ogólnie jest w łatwiejszym formacie do przeglądania i analizowania.

Ostrzeżenie

Po włączeniu ten dziennik odbiera dużą liczbę zdarzeń i może mieć wpływ na wydajność maszyny. W związku z tym ten rozszerzony dziennik powinien być włączony tylko wtedy, gdy problem wymaga dokładniejszego zbadania, a następnie tylko przez minimalny czas.

Rejestrowanie poleceń cmdlet programu PowerShell

Polecenia cmdlet programu PowerShell, które powodują zmianę stanu (na przykład Register-AzureADPasswordProtectionProxy) zwykle rejestrują zdarzenie wyniku w dzienniku operacyjnym.

Ponadto większość poleceń cmdlet programu PowerShell ochrony haseł firmy Microsoft zapisze w dzienniku tekstowym znajdującym się poniżej:

%ProgramFiles%\Azure AD Password Protection Proxy\Logs

Jeśli wystąpi błąd polecenia cmdlet, a przyczyna i\lub rozwiązanie nie jest łatwo widoczne, te dzienniki tekstowe mogą być również konsultowane.

Odnajdywanie serwera proxy

Polecenie Get-AzureADPasswordProtectionProxy cmdlet może służyć do wyświetlania podstawowych informacji o różnych usługach serwera proxy ochrony haseł firmy Microsoft działających w domenie lub lesie. Te informacje są pobierane z usługi Połączenie ionPoint obiektów zarejestrowanych przez uruchomione usługi proxy.

Przykładowe dane wyjściowe tego polecenia cmdlet są następujące:

Get-AzureADPasswordProtectionProxy
ServerFQDN            : bplProxy.bplchild2.bplRootDomain.com
Domain                : bplchild2.bplRootDomain.com
Forest                : bplRootDomain.com
HeartbeatUTC          : 12/25/2018 6:35:02 AM

Różne właściwości są aktualizowane przez każdą usługę serwera proxy w przybliżonej godzinie. Dane nadal podlegają opóźnieniu replikacji usługi Active Directory.

Zakres zapytania polecenia cmdlet może mieć wpływ na parametry –Forest lub –Domain.

Jeśli wartość HeartbeatUTC jest nieaktualna, może to być objaw, że serwer proxy ochrony haseł firmy Microsoft na tym komputerze nie jest uruchomiony lub został odinstalowany.

Nowsza wersja agenta serwera proxy

Usługa proxy zarejestruje zdarzenie ostrzegawcze 20002 w dzienniku operacyjnym po wykryciu, że jest dostępna nowsza wersja oprogramowania proxy, na przykład:

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
.

Powyższe zdarzenie nie określa wersji nowszego oprogramowania. Aby uzyskać te informacje, przejdź do linku w komunikacie o zdarzeniu.

To zdarzenie będzie emitowane nawet wtedy, gdy agent proxy jest skonfigurowany z włączoną funkcją automatycznego zwiększania poziomu.

Następne kroki

Rozwiązywanie problemów z ochroną haseł w usłudze Microsoft Entra

Aby uzyskać więcej informacji na temat globalnych i niestandardowych list zakazanych haseł, zobacz artykuł Zakaz złych haseł