Monitorare ed esaminare i log per gli ambienti di Protezione password di Microsoft Entra locale

Dopo la distribuzione della protezione password di Microsoft Entra, il monitoraggio e la creazione di report sono attività essenziali. Questo articolo spiega nel dettaglio varie tecniche di monitoraggio, indicando i percorsi in cui ogni servizio registra le informazioni e illustrando come creare report sull'uso di Protezione password di Microsoft Entra.

Il monitoraggio e la creazione di report vengono effettuati tramite i messaggi del registro eventi o eseguendo i cmdlet di PowerShell. L'agente del controller di dominio e i servizi proxy registrano i messaggi del registro eventi. Tutti i cmdlet di PowerShell descritti di seguito sono disponibili solo nel server proxy (vedere il modulo AzureADPasswordProtection di PowerShell). Il software agente del controller di dominio non installa un modulo di PowerShell.

Registrazione eventi dell'agente del controller di dominio

In ogni controller di dominio il software del servizio agente del controller di dominio scrive i risultati di ogni singola operazione di convalida delle password (e altri stati) in un log eventi locale:

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

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

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

Il log degli eventi di amministrazione dell'agente del controller di dominio è la principale fonte di informazioni sul comportamento del software.

Il log di traccia è disattivato per impostazione predefinita.

Gli eventi registrati dai diversi componenti dell'agente del controller di dominio rientrano negli intervalli seguenti:

Componente Intervallo di ID evento
DLL di filtro delle password dell'agente del controller di dominio 10000-19999
Processo di hosting del servizio agente del controller di dominio 20000-29999
Logica di convalida dei criteri del servizio agente del controller di dominio 30000-39999

Log eventi di amministrazione dell'agente del controller di dominio

Eventi relativi ai risultati di convalida delle password

In ogni controller di dominio il software del servizio agente del controller di dominio scrive i risultati di ogni singola operazione di convalida delle password nel log eventi di amministrazione dell'agente stesso.

Per un'operazione di convalida delle password riuscita, in genere viene registrato un evento dalla DLL di filtro delle password dell'agente del controller di dominio. Per un'operazione di convalida delle password non riuscita, vengono in genere registrati due eventi, uno dal servizio agente del controller di dominio e uno dalla DLL di filtro delle password dell'agente del controller di dominio.

Vengono registrati eventi discreti per acquisire informazioni riguardo a queste situazioni, in base ai fattori seguenti:

  • Se una password specifica è o meno in fase di impostazione o modifica.
  • Se la convalida di una password specifica è o meno riuscita.
  • Se la convalida non è riuscita a causa dei criteri globali Microsoft, dei criteri aziendali o di una combinazione di entrambi.
  • Se la modalità di solo controllo è attualmente attivata o disattivata per i criteri password correnti.

Gli eventi principali relativi alla convalida delle password sono i seguenti:

Event Modifica della password Impostazione della password
Riuscito 10014 10015
Non riuscita (a causa dei criteri per le password del cliente) 10016, 30002 10017, 30003
Non riuscita (a causa dei criteri per le password di Microsoft) 10016, 30004 10017, 30005
Non riuscita (a causa di una combinazione dei criteri per le password di Microsoft e del cliente) 10016, 30026 10017, 30027
Esito negativo (a causa del nome utente) 10016, 30021 10017, 30022
Passaggio di solo controllo (non soddisferebbe i criteri password del cliente) 10024, 30008 10025, 30007
Passaggio di solo controllo (non soddisferebbe i criteri password Microsoft) 10024, 30010 10025, 30009
Riuscita solo a livello di controllo (non soddisferebbe la combinazione dei criteri per le password di Microsoft e del cliente) 10024, 30028 10025, 30029
Superamento del solo controllo (avrebbe avuto esito negativo a causa del nome utente) 10016, 30024 10017, 30023

I casi che si riferiscono alla combinazione di criteri, nella tabella riportata sopra, riguardano situazioni in cui è stata rilevata una password di un utente che contiene almeno un token dell'elenco di password escluse sia di Microsoft che del cliente.

I casi nella tabella precedente che fanno riferimento a "nome utente" si riferiscono a situazioni in cui è stato riscontrato che la password di un utente contenesse il nome dell'account utente e/o uno dei nomi descrittivi dell'utente. In entrambi i casi, la password dell'utente verrà rifiutata se è impostata l'imposizione del criterio oppure accettata se il criterio è in modalità di controllo.

Quando una coppia di eventi viene registrata insieme, entrambi vengono associati in modo esplicito in base allo stesso ID di correlazione.

Creazione di report di riepilogo sulla convalida delle password tramite PowerShell

È possibile usare il cmdlet Get-AzureADPasswordProtectionSummaryReport per produrre una visualizzazione di riepilogo dell'attività di convalida delle password. Di seguito viene mostrato un esempio dell'output di questo cmdlet:

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

È possibile influire sull'ambito del reporting del cmdlet usando uno dei parametri –Forest, -Domain o –DomainController. Se non si specifica un parametro, viene usato il parametro –Forest.

Nota

Se si installa l'agente del controller di dominio solo in un controller di dominio, Get-AzureADPasswordProtectionSummaryReport leggerà gli eventi solo da tale controller di dominio. Per ottenere eventi da più controller di dominio, è necessario che l'agente del controller di dominio sia installato in ogni controller di dominio.

Il cmdlet Get-AzureADPasswordProtectionSummaryReport esegue query sul log eventi dell'agente del controller di dominio e quindi conta il numero totale di eventi che corrispondono a ogni categoria di risultati visualizzata. La tabella seguente contiene i mapping tra ogni risultato e l'ID evento corrispondente:

Proprietà Get-AzureADPasswordProtectionSummaryReport ID evento corrispondente
PasswordChangesValidated 10014
PasswordSetsValidated 10015
PasswordChangesRejected 10016
PasswordSetsRejected 10017
PasswordChangeAuditOnlyFailures 10024
PasswordSetAuditOnlyFailures 10025
PasswordChangeErrors 10012
PasswordSetErrors 10013

Il cmdlet Get-AzureADPasswordProtectionSummaryReport viene fornito nel formato di script di PowerShell e, se necessario, vi si può fare riferimento direttamente al percorso seguente:

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

Nota

Questo cmdlet funziona aprendo una sessione di PowerShell per ogni controller di dominio. Per il corretto funzionamento, il supporto di sessioni remote di PowerShell deve essere abilitato in ogni controller di dominio e il client deve avere privilegi sufficienti. Per altre informazioni sui requisiti per le sessioni remote di PowerShell, eseguire 'Get-Help about_Remote_Troubleshooting' in una finestra di PowerShell.

Nota

Questo cmdlet funziona eseguendo query in modalità remota sul log eventi di amministrazione di ogni servizio agente del controller di dominio. Se i log eventi contengono un numero elevato di eventi, il completamento del cmdlet potrebbe richiedere molto tempo. Inoltre, le query di rete in blocco di grandi set di dati possono influire sulle prestazioni dei controller di dominio. Di conseguenza, questo cmdlet deve essere usato con cautela negli ambienti di produzione.

Messaggi del registro eventi di esempio

ID evento 10014 (modifica della password riuscita)

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

UserName: SomeUser
FullName: Some User

ID evento 10017 (modifica della password non riuscita):

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

ID evento 30003 (modifica della password non riuscita):

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

ID evento 10024 (password accettata perché i criteri sono in modalità di solo controllo)

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

ID evento 30008 (password accettata perché i criteri sono in modalità di solo controllo)

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

ID evento 30001 (password accettata perché non sono disponibili criteri)

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.

ID evento 30006 (imposizione di nuovi criteri)

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

ID evento 30019 (la protezione password di Microsoft Entra è disabilitata)

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

Log operativo agente del controller di dominio

Il servizio agente del controller di dominio registra anche gli eventi operativi correlati al log seguente:

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

Log di traccia agente del controller di dominio

Il servizio agente del controller di dominio può registrare anche eventi di traccia a livello di debug dettagliati nel log seguente:

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

La registrazione della traccia è disabilitata per impostazione predefinita.

Avviso

Quando è abilitato, il log di traccia riceve un numero elevato di eventi e può influire sulle prestazioni del controller di dominio. Di conseguenza, questo log avanzato deve essere abilitato solo quando un problema richiede un'indagine più approfondita e solo per un periodo di tempo minimo.

Registrazione di testo agente del controller di dominio

Il servizio agente del controller di dominio può essere configurato per scrivere in un log di testo impostando il valore del Registro di sistema seguente:

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

La registrazione di testo è disabilitata per impostazione predefinita. Per rendere effettive le modifiche, è necessario riavviare il servizio agente del controller di dominio. Quando il servizio agente del controller di dominio è abilitato, scrive in un file di log che si trova in:

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

Suggerimento

Il log di testo riceve le stesse voci a livello di debug che possono essere registrate nel log di traccia, ma è in genere in un formato più semplice da esaminare e analizzare.

Avviso

Quando è abilitato, questo log riceve un numero elevato di eventi e può influire sulle prestazioni del controller di dominio. Di conseguenza, questo log avanzato deve essere abilitato solo quando un problema richiede un'indagine più approfondita e solo per un periodo di tempo minimo.

Monitoraggio delle prestazioni dell'agente del controller di dominio

Il software del servizio agente del controller di dominio installa un oggetto contatore delle prestazioni denominato protezione password di Microsoft Entra. Sono attualmente disponibili i contatori delle prestazioni seguenti:

Nome contatore delle prestazioni Descrizione
Passwords processed (Password elaborate) Questo contatore indica il numero totale di password elaborate (accettate o rifiutate) dall'ultimo riavvio.
Passwords accepted (Password accettate) Questo contatore indica il numero totale di password accettate dall'ultimo riavvio.
Password rejected (Password rifiutate) Questo contatore indica il numero totale di password rifiutate dall'ultimo riavvio.
Password filter requests in progress (Richieste filtro password in corso) Questo contatore indica il numero di richieste di filtro delle password attualmente in corso.
Peak password filter requests (Max richieste filtro password) Questo contatore indica il numero massimo di richieste di filtro delle password simultanee dall'ultimo riavvio.
Password filter request errors (Errori richieste filtro password) Questo contatore indica il numero totale di richieste di filtro delle password non riuscite a causa di un errore dall'ultimo riavvio. Possono verificarsi errori quando il servizio agente del controller di dominio di Protezione password di Microsoft Entra non è in esecuzione.
Password filter requests/sec (Richieste filtro password al secondo) Questo contatore indica la frequenza con cui vengono elaborate le richieste.
Password filter request processing time (Tempo di elaborazione richieste filtro password) Questo contatore indica il tempo medio necessario per elaborare una richiesta di filtro delle password.
Peak password filter request processing time (Tempo di elaborazione max richieste filtro password) Questo contatore indica il tempo di elaborazione massimo delle richieste di filtro delle password dall'ultimo riavvio.
Passwords accepted due to audit mode (Password accettate a causa della modalità di controllo) Questo contatore indica il numero totale di password che verrebbero normalmente rifiutate, ma che sono state accettate perché i criteri delle password sono stati configurati come in modalità di controllo (dall'ultimo riavvio).

Individuazione dell'agente del controller di dominio

È possibile usare il cmdlet Get-AzureADPasswordProtectionDCAgent per visualizzare informazioni di base sui diversi agenti del controller di dominio in esecuzione in un dominio o una foresta. Queste informazioni vengono recuperate dagli oggetti serviceConnectionPoint registrati da uno o più servizi agente del controller di dominio in esecuzione.

Di seguito viene mostrato un esempio dell'output di questo cmdlet:

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

Le diverse proprietà vengono aggiornate da ogni servizio agente del controller di dominio all'incirca ogni ora. I dati sono comunque soggetti alla latenza di replica di Active Directory.

L'ambito della query del cmdlet può essere ulteriormente definito usando il parametro –Forest o –Domain.

Se il valore HeartbeatUTC non viene aggiornato, il problema può essere dovuto al fatto che l'agente del controller di dominio di Protezione password di Microsoft Entra in quel controller di dominio non è in esecuzione o è stato disinstallato oppure il computer è stato abbassato di livello e non è più un controller di dominio.

Se il valore PasswordPolicyDateUTC non viene aggiornato, il problema può essere dovuto al fatto che l'agente del controller di dominio di Protezione password di Microsoft Entra in quel computer non funziona correttamente.

Disponibilità versione più recente dell'agente del controller di dominio

Il servizio agente del controller di dominio registra un evento di avviso 30034 nel log operativo quando rileva che è disponibile una versione più recente del software agente del controller di dominio, ad esempio:

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

L'evento precedente non specifica la versione del software più recente. Per tali informazioni, andare al collegamento nel messaggio dell'evento.

Nota

Nonostante i riferimenti ad "autoupgrade" nel messaggio dell'evento precedente, il software agente del controller di dominio non supporta attualmente questa funzionalità.

Registrazione eventi del servizio proxy

Il servizio proxy genera un set minimo di eventi per i log eventi seguenti:

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

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

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

Il log di traccia è disattivato per impostazione predefinita.

Avviso

Quando è abilitato, il log di traccia riceve un numero elevato di eventi e può influire sulle prestazioni dell'host del proxy. Di conseguenza, questo log deve essere abilitato solo quando un problema richiede un'indagine più approfondita e solo per un periodo di tempo minimo.

Gli eventi vengono registrati dai diversi componenti proxy tramite gli intervalli seguenti:

Componente Intervallo di ID evento
Processo di hosting del servizio proxy 10000-19999
Logica di business di base del servizio proxy 20000-29999
Cmdlet di PowerShell 30000-39999

Registrazione di testo del servizio proxy

Il servizio proxy può essere configurato per scrivere in un log di testo impostando il valore del Registro di sistema seguente:

HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionProxy\Parameters!EnableTextLogging = 1 (valore REG_DWORD)

La registrazione di testo è disabilitata per impostazione predefinita. Per rendere effettive le modifiche, è necessario riavviare il servizio proxy. Quando è abilitato, il servizio proxy scrive in un file di log che si trova in:

%ProgramFiles%\Azure AD Password Protection Proxy\Logs

Suggerimento

Il log di testo riceve le stesse voci a livello di debug che possono essere registrate nel log di traccia, ma è in genere in un formato più semplice da esaminare e analizzare.

Avviso

Quando è abilitato, questo log riceve un numero elevato di eventi e può influire sulle prestazioni del computer. Di conseguenza, questo log avanzato deve essere abilitato solo quando un problema richiede un'indagine più approfondita e solo per un periodo di tempo minimo.

Registrazione di cmdlet di PowerShell

I cmdlet di PowerShell che generano una modifica dello stato (ad esempio Register-AzureADPasswordProtectionProxy) normalmente registrano un evento risultato nel log operativo.

Inoltre, la maggior parte dei cmdlet di PowerShell per la protezione password di Microsoft Entra scriverà in un log di testo che si trova in:

%ProgramFiles%\Azure AD Password Protection Proxy\Logs

Se si verifica un errore di cmdlet e la causa e/o soluzione non è immediatamente evidente, è possibile consultare anche questi log di testo.

Individuazione dei servizi proxy

È possibile usare il cmdlet Get-AzureADPasswordProtectionProxy per visualizzare informazioni di base sui vari servizi proxy di Protezione password di Microsoft Entra in esecuzione in un dominio o in una foresta di domini. Queste informazioni vengono recuperate dagli oggetti serviceConnectionPoint registrati dai servizi proxy in esecuzione.

Di seguito viene mostrato un esempio dell'output di questo cmdlet:

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

Le diverse proprietà vengono aggiornate da ogni servizio proxy all'incirca ogni ora. I dati sono comunque soggetti alla latenza di replica di Active Directory.

L'ambito della query del cmdlet può essere ulteriormente definito usando il parametro –Forest o –Domain.

Se il valore HeartbeatUTC non viene aggiornato, il problema può essere dovuto al fatto che il proxy di Protezione password di Microsoft Entra in quel computer non è in esecuzione o è stato disinstallato.

Disponibilità versione più recente dell'agente proxy

Il servizio proxy registra un evento di avviso 20002 nel log operativo quando rileva che è disponibile una versione più recente del software proxy, ad esempio:

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
.

L'evento precedente non specifica la versione del software più recente. Per tali informazioni, andare al collegamento nel messaggio dell'evento.

Questo evento verrà generato anche se l'agente proxy è configurato con autoupgrade abilitato.

Passaggi successivi

Risoluzione dei problemi relativi alla protezione password di Microsoft Entra

Per altre informazioni sugli elenchi personalizzati di password escluse, vedere l'articolo Eliminare le password non appropriate nell'organizzazione