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