Raccogliere i dati di Microsoft Windows AD
Questo documento include le seguenti informazioni:
- Architettura di deployment e passaggi di installazione, oltre a qualsiasi configurazione richiesta che produca log supportati dall'analizzatore sintattico di Chronicle per gli eventi di Active Directory di Microsoft Windows. Per una panoramica dell'importazione dei dati di Chronicle, consulta la sezione Importazione dei dati su Chronicle.
- Informazioni su come l'analizzatore sintattico mappa i campi nel log originale ai campi del modello di dati unificati Chronicle.
Le informazioni contenute in questo documento si applicano all'analizzatore sintattico con l'etichetta di importazione WINDOWS_AD. L'etichetta di importazione identifica quale analizzatore sintattico normalizza i dati di log non elaborati nel formato UDM strutturato.
Prima di iniziare
Esamina l'architettura di deployment consigliata
Questo diagramma illustra i componenti di base consigliati in un'architettura di deployment per raccogliere e inviare eventi di Microsoft Windows a Chronicle. Confronta queste informazioni con il tuo ambiente per assicurarti che questi componenti siano installati. Il deployment di ciascun cliente sarà diverso da quello indicato e potrebbe essere più complesso. È obbligatorio:
- Tutti i sistemi nell'architettura di deployment sono configurati con il fuso orario UTC.
- Lo script di PowerShell viene creato e configurato su ogni server AD di Microsoft Windows per raccogliere i dati USER_CONTEXT e ASSET_CONTEXT.
- NXLog viene installato su ogni server Microsoft Windows AD per l'invio di dati al server Microsoft Windows o Linux centrale.
L'inoltro di Chronicle è installato sul server centrale di Microsoft Windows o Linux per inoltrare i dati di log a Chronicle.
Esamina le versioni e i dispositivi supportati
L'analizzatore sintattico di Chronicle supporta i log delle seguenti versioni di server Microsoft Windows. Microsoft Windows Server è disponibile con le seguenti versioni: Foundation, Essentials, Standard e Datacenter. Lo schema di log generato da ogni versione non è diverso.
- Microsoft Windows Server 2019
- Microsoft Windows Server 2016
- Microsoft Windows Server 2012
L'analizzatore sintattico di Chronicle supporta i log raccolti da NXLog Community o Enterprise Edition.
Esamina i tipi di log supportati
L'analizzatore sintattico di Chronicle analizza e normalizza i dati recuperati da User Context e Asset Context. Supporta i log generati con testo in lingua inglese e non è supportato con i log generati in lingue diverse dall'inglese.
Configurare i server di Microsoft Windows AD
Per configurare i server AD di Microsoft Windows nell'architettura di deployment:
- Configura tutti i sistemi con il fuso orario UTC.
- Su ogni server Active Directory di Microsoft Windows, crea e configura uno script di PowerShell per raccogliere i dati del log in un file di output. NXLog legge il file di output e invia i dati al server centrale di Microsoft Windows o Linux.
Crea lo script di PowerShell. Vedi l'esempio di seguito. Modifica il valore di
$OUTPUT_FILENAME
nella posizione in cui deve essere scritto il file di output. Questo file verrà letto da NXLog. I dati devono essere archiviati in formato JSON. Imposta la codifica su utf8. Utilizza il parametro-Filter
anziché il parametro-LDAPFilter
durante la chiamata ai cmdletGet-ADUser
eGet-ADComputer
.# Set the location where the log file will be written $OUTPUT_FILENAME="<Path_of_the_output_file>" If (Test-Path -Path $OUTPUT_FILENAME) { Remove-Item -path $OUTPUT_FILENAME -ErrorAction SilentlyContinue} # USER_CONTEXT: Gets all Active Directory users and their properties. Get-ADUser -Filter * -properties samAccountName | % { Get-ADUser $_.SamAccountName -properties * | ConvertTo-JSON -compress | Out-File -encoding utf8 $OUTPUT_FILENAME -Append } # ASSET_CONTEXT: Gets all Active Directory assets and their properties. Get-ADComputer -Filter * -properties samAccountName | % { Get-ADComputer $_.SamAccountName -properties * | ConvertTo-JSON -compress | Out-File -encoding utf8 $OUTPUT_FILENAME -Append }
Crea un'attività ricorrente che esegue lo script per recuperare e scrivere dati nel file di output.
- Apri l'applicazione del programma di pianificazione attività.
- Fai clic su "Crea attività" nel riquadro a destra.
- Inserisci il nome e la descrizione dell'attività,
Seleziona la casella di controllo"Esegui con privilegi più elevati"per assicurarti che tutti i dati vengano recuperati.
Nella scheda "Attivatori", definisci quando vuoi ripetere l'attività.
Nella scheda "Azione", aggiungi una nuova azione e fornisci il percorso del file in cui è archiviato lo script.
Installa l'agente NXLog su ogni server Microsoft Windows Active Directory. Questa applicazione inoltra i log al server Microsoft Windows o Linux centrale. Segui la documentazione di NXLog.
Crea un file di configurazione per ogni istanza NXLog. Utilizza il modulo NXLog im_file per leggere dal file e analizzare le righe nei campi. Utilizza il modulo om_tcp per inoltrare i dati al server Microsoft Windows o Linux centrale.
Di seguito è riportata una configurazione di esempio di NXLog. Sostituisci i valori
<hostname>
e<port>
con le informazioni sul server Microsoft Windows o Linux centrale di destinazione. Nella sezione<Input in_adcontext>
e nella proprietàFile
, aggiungi il percorso del file di log dell'output scritto dallo script di PowerShell. Imposta sempreDirCheckInterval
ePollInterval
. Se non sono definiti, NXLog esegue il polling dei file ogni 1 secondo.define ROOT C:\Program Files\nxlog define ADCONTEXT_OUTPUT_DESTINATION_ADDRESS <hostname> define ADCONTEXT_OUTPUT_DESTINATION_PORT <port> Moduledir %ROOT%\modules CacheDir %ROOT%\data Pidfile %ROOT%\data\nxlog.pid SpoolDir %ROOT%\data LogFile %ROOT%\data\nxlog.log <Input in_adcontext> Module im_file File "<Path_of_the_output_file>" DirCheckInterval 3600 PollInterval 3600 </Input> <Output out_chronicle_adcontext> Module om_tcp Host %ADCONTEXT_OUTPUT_DESTINATION_ADDRESS% Port %ADCONTEXT_OUTPUT_DESTINATION_PORT% </Output> <Route ad_context_to_chronicle> Path in_adcontext => out_chronicle_adcontext </Route>
Avvia il servizio NXLog in ciascun sistema.
Configurare il server centrale di Microsoft Windows o Linux
Per informazioni sull'installazione e la configurazione dell'inoltro, consulta Installare e configurare lo strumento di inoltro su Linux o Installare e configurare lo strumento di inoltro su Microsoft Windows.
- Configura il sistema utilizzando il fuso orario UTC.
- Installa lo strumento di inoltro Chronicle sul server centrale di Microsoft Windows o Linux.
Configura lo strumento di inoltro di Chronicle per inviare i log a Chronicle. Ecco una configurazione di esempio dell'inoltro.
- syslog: common: enabled: true data_type: WINDOWS_AD batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10518 connection_timeout_sec: 60
Riferimento per la mappatura dei campi: campi dei log del dispositivo nei campi UDM
In questa sezione viene descritto in che modo l'analizzatore sintattico mappa i campi di log originali ai campi Unified Data Model.
Log di contesto utente
Campo NXLog | Campo UDM |
---|---|
Nome | entity.entity.user.first_name |
Cognome | entity.entity.user.last_name |
NomeAccount Sama | entity.entity.user.id |
ValoreSID. | entity.entity.user.windows_sid |
ObjectClass | Se il valore è "user", entity.metadata.entity_type è impostato su USER |
ObjectGuid | entità.entity.user.product_object_id |
DataScadenzaAccount | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
BadPwdCount | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
Nome canonico | entity.enitity.administrative_domain (dominio_amministrativo) |
City (Città) | entity.entity.user.personal_address.city |
Azienda | entità.entity.user.company_name |
Paese | entità.entity.user.personal_address.country_or_region |
Dipartimento | entity.entity.user.department |
Descrizione | entity.metadata.description |
DisplayName | entità.entity.user.user_display_name |
EmailAddress | entity.entity.user.email_addresses |
ID dipendente | entità.entity.user.employee_id |
Home directory | entità.entity.file.full_path |
Home page | entity.entity.url |
Telefono (casa) | entità.entity.phone_numbers |
LastBadPasswordTry | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
ultimo logoff | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
ultimo logon | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
Data accesso ultimo log | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
Manager | Valori per GUID, SAMAccountname, SID, tutti mappati a diversi campi UDM: - SID viene memorizzato in manager.windows_sid - Il nome distinto (ovvero il valore nel primo CN) viene memorizzato in manager.user_display_name - GUID, SamAccountName viene memorizzato in manager.userid |
Membro di | I seguenti campi nella prima occorrenza di CN sono impostati: entity.relations.entity.group.group_display_name entity.relations.entity_type è impostato su GROUP entity.relations.relationship impostato su T0 MEMBER entity.relations.direction impostato su UNIDIRECTIONAL |
Telefono cellulare | entità.entity.phone_numbers |
Ufficio | entity.entity.user.office_address.name |
Password scaduta | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
PasswordLastSet | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
Password mai scaduta | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
Password non obbligatoria | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
GruppoPrincipale | Sono stati impostati i seguenti campi: - entity.relations.entity.group.group_display_name - entity.relations.entity_type è impostato su GROUP - entity.relations.relationship impostato su MEMBER - entity.relations.direction impostato su UNIDIRECTIONAL |
NomiEntità servizio | Archiviato come coppia entity.entity.user.attribute.label.key/value. |
Stato | entity.entity.user.personal_address.state |
Indirizzo | entity.entity.user.personal_address.name |
Titolo | entity.entity.user.title |
quando creato | entity.user.attribute.creation_time |
Log di contesto asset
Campo NXLog | Campo UDM |
---|---|
NomeHost DNS | nome.entità.asset.nomehost |
NomeAccount Sama | entity.entity.asset.asset_id |
ValoreSID. | entity.entity.user.windows_sid |
ObjectClass | Se il valore è "computer", entity.metadata.entity_type è impostato su ASSET |
ObjectGuid | entity.entity.asset.product_object_id |
DataScadenzaAccount | entity.entity.asset.attribute.label.key/value |
BadPwdCount | entity.entity.asset.attribute.label.key/value |
Nome canonico | entity.entity.administrative_domain |
codice paese | entity.entity.asset.location.country_or_region |
Descrizione | entity.entity.metadata.description |
Home page | entity.entity.url |
Indirizzo IPv4 | entity.entity.asset.ip |
Indirizzo IPv6 | entity.entity.asset.ip |
LastBadPasswordTry | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
ultimo logoff | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
ultimo logon | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
Data accesso ultimo log | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
Località | entity.entity.asset.location.name |
Gestito da | Sono impostati i seguenti campi: entity.entity.user.user_display_name entity.relations.entity_type è impostato su USER entity.relations.relationship impostato su ADMINISTERS entity.relations.direction impostato su UNIDIRECTIONAL |
Categoria | entità.entity.category |
Sistema operativo | Se il nome contiene "Windows", il campo entity.entity.platform_software.platform è impostato su WINDOWS. |
OperatingSystemServicePack | entity.entity.platform_software.platform.patch_level |
Versione sistema operativo | L'entità del campo entity.entity.platform_software.platform_version è impostata su {7}OperatingSystem} - {9/}OperatingSystemVersion} |
Password scaduta | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
PasswordLastSet | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
Password mai scaduta | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
Password non obbligatoria | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
GruppoPrincipale | Sono impostati i seguenti campi: - entity.relations.entity.group.group_display_name - entity.relations.entity_type è impostato su GROUP - entity.relations.relationship impostato su MEMBER - entity.relations.direction impostato su UNIDIRECTIONAL |
NomiEntità servizio | Archiviato come coppia di entità.entity.asset.attribute.label.key/value. |
quandoCambiato | entity.entity.asset.attribute.last_update_time |
quando creato | entity.entity.asset.attribute.creation_time |