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ł