Raccogli i log di Aruba ClearPass
Questo documento spiega come raccogliere i log di Aruba ClearPass utilizzando Bindplane. Il parser tenta di ripulire e strutturare i log in arrivo rimuovendo i campi estranei e standardizzando il formato dei messaggi. Poi, a seconda che il log segua il formato CEF o una struttura diversa, il codice utilizza una combinazione di pattern Grok, estrazioni chiave-valore e logica condizionale per mappare i campi pertinenti al modello di dati unificato (UDM), classificando infine ogni evento in un tipo di evento di sicurezza specifico.
Prima di iniziare
- Assicurati di avere un'istanza Google Security Operations.
- Assicurati di utilizzare Windows 2016 o versioni successive o un host Linux con
systemd
. - Se il servizio è eseguito dietro un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso privilegiato a un'istanza Aruba ClearPass.
Ottenere il file di autenticazione di importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Ottenere l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Installa l'agente Bindplane
Installazione di Windows
- Apri il prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installazione di Linux
- Apri un terminale con privilegi root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Risorse di installazione aggiuntive
- Per altre opzioni di installazione, consulta questa guida all'installazione.
Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps
Accedi al file di configurazione:
- Individua il file
config.yaml
. In genere si trova nella directory/etc/bindplane-agent/
su Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano
,vi
o Blocco note).
- Individua il file
Modifica il file
config.yaml
come segue:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: CLEARPASS raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Sostituisci la porta e l'indirizzo IP come richiesto nella tua infrastruttura.
Sostituisci
<customer_id>
con l'ID cliente effettivo.Aggiorna
/path/to/ingestion-authentication-file.json
con il percorso in cui è stato salvato il file di autenticazione nella sezione Ottenere il file di autenticazione per l'importazione di Google SecOps.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui il seguente comando:
sudo systemctl restart bindplane-agent
Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configura il server syslog Aruba ClearPass
- Accedi alla console di ClearPass Policy Manager.
- Seleziona Amministrazione > Server esterni > Destinazioni Syslog.
- Fai clic su Aggiungi.
- Nella finestra Aggiungi target syslog visualizzata, specifica i seguenti dettagli:
- Indirizzo host: inserisci l'indirizzo IP di Bindplane.
- Porta server: inserisci il numero di porta di Bindplane.
- Protocollo: seleziona UDP (puoi anche selezionare TCP, a seconda della configurazione di Bindplane).
- Fai clic su Salva.
Configurare i filtri di esportazione di syslog
- Vai ad Amministrazione > Server esterni > Filtri di esportazione syslog.
- Fai clic su Aggiungi.
- Nella finestra Aggiungi filtri Syslog visualizzata, specifica quanto segue nella scheda Generale:
- Nome: inserisci il nome del filtro di esportazione di syslog in base alla tabella in Elementi del modello di esportazione.
- Modello di esportazione: seleziona il modello di esportazione appropriato in base alla tabella in Elementi del modello di esportazione.
- Tipo di formato dell'evento di esportazione: seleziona Standard.
- Server syslog: seleziona l'indirizzo IP di Bindplane.
- Nell'elenco Modello di esportazione, quando selezioni i modelli di esportazione Sessione o Approfondimenti, la scheda Filtri e colonne viene attivata. Completa i seguenti passaggi:
- Fai clic sulla scheda Filtri e colonne.
- Filtro dati: assicurati che sia selezionato il valore predefinito Tutte le richieste.
- Selezione delle colonne: seleziona il gruppo di campi predefinito in base alla tabella in Esporta elementi del modello.
- Colonne selezionate: verifica che i campi compilati automaticamente corrispondano alla tabella in Esportare gli elementi del modello.
- Fai clic sulla scheda Riepilogo.
- Fai clic su Salva.
- Nell'elenco Modello di esportazione, quando selezioni i modelli di esportazione Eventi di sistema e Record di controllo, la scheda Filtri e colonne non è attivata. Vai alla scheda Riepilogo e fai clic su Salva.
- Ripeti i passaggi per aggiungere i filtri di esportazione di syslog per tutti i modelli di esportazione di Sessione, Approfondimenti, Record di controllo ed Eventi di sistema in base ai dettagli della tabella in Riepilogo degli elementi del modello di esportazione.
Esportare gli elementi del modello
La tabella seguente descrive gli elementi da configurare per ogni modello di esportazione. I campi predefiniti elencati in Colonne selezionate sono supportati per l'analisi degli eventi. Assicurati che tutti i campi menzionati nella tabella in Colonne selezionate (predefinito) siano presenti e nello stesso ordine. Assicurati di creare i modelli di filtro di esportazione syslog esattamente come indicato nella tabella, incluso il nome sensibile alle maiuscole del filtro.
Nome del filtro di esportazione Syslog (sensibile alle maiuscole) | Modello di esportazione | Gruppi di campi predefiniti | Colonne selezionate (valore predefinito) |
---|---|---|---|
ACPPM_radauth | Log di Insight | Autenticazioni Radius | Auth.Username Auth.Host-MAC-Address Auth.Protocol Auth.NAS-IP-Address CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_radfailedauth | Log di Insight | Autenticazioni Radius non riuscite | Auth.Username Auth.Host-MAC-Address Auth.NAS-IP-Address CppmNode.CPPM-Node Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_radacct | Log di Insight | RADIUS Accounting | Radius.Username Radius.Calling-Station-Id Radius.Framed-IP-Address Radius.NAS-IP-Address Radius.Start-Time Radius.End-Time Radius.Duration Radius.Input-bytes Radius.Output-bytes |
ACPPM_tacauth | Log di Insight | Autenticazione TACACS | tacacs.Username tacacs.Remote-Address tacacs.Request-Type tacacs.NAS-IP-Address tacacs.Service tacacs.Auth-Source tacacs.Roles tacacs.Enforcement-Profiles tacacs.Privilege-Level |
ACPPM_tacfailedauth | Log di Insight | Autenticazione tacacs non riuscita | tacacs.Username tacacs.Remote-Address tacacs.Request-Type tacacs.NAS-IP-Address tacacs.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_webauth | Log di Insight | WEBAUTH | Auth.Username Auth.Host-MAC-Address Auth.Host-IP-Address Auth.Protocol Auth.System-Posture-Token CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_webfailedauth | Log di Insight | Autenticazioni WEBAUTH non riuscite | Auth.Username Auth.Host-MAC-Address Auth.Host-IP-Address Auth.Protocol Auth.System-Posture-Token CppmNode.CPPM-Node Auth.Login-Status Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_appauth | Log di Insight | Autenticazione delle applicazioni | Auth.Username Auth.Host-IP-Address Auth.Protocol CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_failedappauth | Log di Insight | Autenticazione dell'applicazione non riuscita | Auth.Username Auth.Host-IP-Address Auth.Protocol CppmNode.CPPM-Node Auth.Login-Status Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_endpoints | Log di Insight | Endpoint | Endpoint.MAC-Address Endpoint.MAC-Vendor Endpoint.IP-Address Endpoint.Username Endpoint.Device-Category Endpoint.Device-Family Endpoint.Device-Name Endpoint.Conflict Endpoint.Status Endpoint.Added-At Endpoint.Updated-At |
ACPPM_cpguest | Log di Insight | Clearpass Guest | Guest.Username Guest.MAC-Address Guest.Visitor-Name Guest.Visitor-Company Guest.Role-Name Guest.Enabled Guest.Created-At Guest.Starts-At Guest.Expires-At |
ACPPM_onbenroll | Log di Insight | Registrazione dell'onboarding | OnboardEnrollment.Username OnboardEnrollment.Device-Name OnboardEnrollment.MAC-Address OnboardEnrollment.Device-Product OnboardEnrollment.Device-Version OnboardEnrollment.Added-At OnboardEnrollment.Updated-At |
ACPPM_onbcert | Log di Insight | Certificato di onboarding | OnboardCert.Username OnboardCert.Mac-Address OnboardCert.Subject OnboardCert.Issuer OnboardCert.Valid-From OnboardCert.Valid-To OnboardCert.Revoked-At |
ACPPM_onboscp | Log di Insight | Esegui l'onboarding di OCSP | OnboardOCSP.Remote-Address OnboardOCSP.Response-Status-Name OnboardOCSP.Timestamp |
ACPPM_cpsysevent | Log di Insight | Eventi di sistema Clearpass | CppmNode.CPPM-Node CppmSystemEvent.Source CppmSystemEvent.Level CppmSystemEvent.Category CppmSystemEvent.Action CppmSystemEvent.Timestamp |
ACPPM_cpconfaudit | Log di Insight | Controllo della configurazione di Clearpass | CppmConfigAudit.Name CppmConfigAudit.Action CppmConfigAudit.Category CppmConfigAudit.Updated-By CppmConfigAudit.Updated-At |
ACPPM_possummary | Log di Insight | Riepilogo della postura | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Posture-Healthy Endpoint.Posture-Unhealthy |
ACPPM_posfwsummary | Log di Insight | Riepilogo del firewall di Posture | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Firewall-APT Endpoint.Firewall-Input Endpoint.Firewall-Output |
ACPPM_poavsummary | Log di Insight | Riepilogo della Postura Antivirus | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Antivirus-APT Endpoint.Antivirus-Input Endpoint.Antivirus-Output |
ACPPM_posassummary | Log di Insight | Riepilogo della postura antispyware | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Antispyware-APT Endpoint.Antispyware-Input Endpoint.Antispyware-Output |
ACPPM_posdskencrpsummary | Log di Insight | Riepilogo della Postura DiskEncryption | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.DiskEncryption-APT Endpoint.DiskEncryption-Input Endpoint.DiskEncryption-Output |
ACPPM_loggedusers | Log di sessione | Utenti che hanno eseguito l'accesso | Common.Username Common.Service Common.Roles Common.Host-MAC-Address RADIUS.Acct-Framed-IP-Address Common.NAS-IP-Address Common.Request-Timestamp |
ACPPM_failedauth | Log di sessione | Autenticazioni non riuscite | Common.Username Common.Service Common.Roles RADIUS.Auth-Source RADIUS.Auth-Method Common.System-Posture-Token Common.Enforcement-Profiles Common.Host-MAC-Address Common.NAS-IP-Address Common.Error-Code Common.Alerts Common.Request-Timestamp |
ACPPM_radacctsession | Log di sessione | RADIUS Accounting | RADIUS.Acct-Username RADIUS.Acct-NAS-IP-Address RADIUS.Acct-NAS-Port RADIUS.Acct-NAS-Port-Type RADIUS.Acct-Calling-Station-Id RADIUS.Acct-Framed-IP-Address RADIUS.Acct-Session-Id RADIUS.Acct-Session-Time RADIUS.Acct-Output-Pkts RADIUS.Acct-Input-Pkts RADIUS.Acct-Output-Octets RADIUS.Acct-Input.Octets RADIUS.Acct-Service-Name RADIUS.Acct-Timestamp |
ACPPM_tacadmin | Log di sessione | Amministrazione TACACS+ | Common.Username Common.Service tacacs.Remote-Address tacacs.Privilege.Level Common.Request-Timestamp |
ACPPM_tacacct | Log di sessione | Contabilità TACACS+ | Common.Username Common.Service tacacs.Remote-Address tacacs.Acct-Flags tacacs.Privilege.Level Common.Request-Timestamp |
ACPPM_webauthsession | Log di sessione | Autenticazione web | Common.Username Common.Host-MAC-Address WEBAUTH.Host-IP-Address Common.Roles Common.System-Posture-Token Common.Enforcement-Profiles Common.Request-Timestamp |
ACPPM_guestacc | Log di sessione | Accesso ospite | Common.Username RADIUS.Auth-Method Common.Host-MAC-Address Common.Roles Common.System-Posture-Token Common.Enforcement-Profiles Common.Request-Timestamp |
ACPPM_auditrecords | Record di controllo | Non applicabile | Non applicabile |
ACPPM_systemevents | Eventi di sistema | Non applicabile | Non applicabile |
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
Azione | security_result.action | Il valore viene mappato dal campo "Azione" se il valore è "ALLOW" o "BLOCK" |
Auth.Enforcement-Profiles | security_result.detection_fields.value | Il valore è mappato dal campo "Auth.Enforcement-Profiles" |
Auth.Host-MAC-Address | principal.mac | Il valore viene mappato dal campo "Auth.Host-MAC-Address" dopo averlo convertito in formato indirizzo MAC separato da due punti |
Auth.Login-Status | security_result.detection_fields.value | Il valore è mappato dal campo "Auth.Login-Status" |
Auth.NAS-IP-Address | target.ip | Il valore è mappato dal campo "Auth.NAS-IP-Address" |
Auth.Protocol | intermediary.application | Il valore è mappato dal campo "Auth.Protocol" |
Auth.Service | security_result.detection_fields.value | Il valore è mappato dal campo "Auth.Service" |
Auth.Source | principal.hostname | Il valore viene mappato dal campo "Auth.Source" dopo aver rimosso eventuali spazi e caratteri alfanumerici iniziali |
Auth.Username | principal.user.user_display_name | Il valore è mappato dal campo "Auth.Username" |
Categoria | metadata.event_type | Se il valore è "Accesso eseguito", il campo UDM è impostato su "USER_LOGIN". Se il valore è "Uscito", il campo UDM è impostato su "USER_LOGOUT" |
Common.Alerts | security_result.description | Il valore è mappato dal campo "Common.Alerts" |
Common.Enforcement-Profiles | security_result.detection_fields.value | Il valore è mappato dal campo "Common.Enforcement-Profiles" |
Common.Login-Status | security_result.detection_fields.value | Il valore è mappato dal campo "Common.Login-Status" |
Common.NAS-IP-Address | target.ip | Il valore è mappato dal campo "Common.NAS-IP-Address" |
Common.Roles | principal.user.group_identifiers | Il valore è mappato dal campo "Common.Roles" |
Common.Service | security_result.detection_fields.value | Il valore è mappato dal campo "Common.Service" |
Common.Username | principal.user.userid | Il valore è mappato dal campo "Common.Username" |
Componente | intermediary.application | Il valore è mappato dal campo "Componente" |
Descrizione | metadata.description | Il valore viene mappato dal campo "Descrizione" dopo aver sostituito i caratteri di nuova riga con il simbolo della barra verticale. Se il campo "Descrizione" contiene "Utente", "Indirizzo" e "Ruolo", viene analizzato come coppie chiave-valore e mappato ai campi UDM corrispondenti. Se il campo "Descrizione" contiene "Impossibile connettersi a", il nome host di destinazione viene estratto e mappato a "target.hostname" |
EntityName | principal.hostname | Il valore è mappato dal campo "EntityName" |
InterIP | target.ip | Il valore è mappato dal campo "InterIP" |
Livello | security_result.severity | Se il valore è "ERROR" o "FATAL", il campo UDM è impostato su "HIGH". Se il valore è "WARN", il campo UDM è impostato su "MEDIUM". Se il valore è "INFO" o "DEBUG", il campo UDM è impostato su "LOW" |
LogNumber | metadata.product_log_id | Il valore è mappato dal campo "LogNumber" |
RADIUS.Acct-Framed-IP-Address | principal.ip | Il valore è mappato dal campo "RADIUS.Acct-Framed-IP-Address" |
Timestamp | metadata.event_timestamp | Il valore viene mappato dal campo "Timestamp" dopo averlo convertito in UTC e averlo analizzato come timestamp |
Utente | principal.user.userid | Il valore è mappato dal campo "Utente" |
agent_ip | principal.ip, principal.asset.ip | Il valore è mappato dal campo "agent_ip" |
community | additional.fields.value.string_value | Il valore è mappato dal campo "community" |
descr | metadata.description | Il valore è mappato dal campo "descr" |
enterprise | additional.fields.value.string_value | Il valore è mappato dal campo "enterprise" |
eventDescription | metadata.description | Il valore viene mappato dal campo "eventDescription" dopo la rimozione delle virgolette |
generic_num | additional.fields.value.string_value | Il valore è mappato dal campo "generic_num" |
prin_mac | principal.mac | Il valore viene mappato dal campo "prin_mac" dopo averlo convertito in formato indirizzo MAC separato da due punti |
prin_port | principal.port | Il valore viene mappato dal campo "prin_port" e convertito in numero intero |
specificTrap_name | additional.fields.value.string_value | Il valore è mappato dal campo "specificTrap_name" |
specificTrap_num | additional.fields.value.string_value | Il valore è mappato dal campo "specificTrap_num" |
uptime | additional.fields.value.string_value | Il valore è mappato dal campo "uptime" |
versione | metadata.product_version | Il valore è mappato dal campo "version" |
extensions.auth.type | Il valore è impostato su "SSO" | |
metadata.event_type | Il valore viene determinato in base a vari campi di log e alla logica del parser. Per maggiori dettagli, consulta il codice del parser | |
metadata.log_type | Il valore è impostato su "CLEARPASS" | |
metadata.product_name | Il valore è impostato su "ClearPass" | |
metadata.vendor_name | Il valore è impostato su "ArubaNetworks" |
Modifiche
2024-09-12
Miglioramento:
- È stato aggiunto il supporto per l'analisi del nuovo formato dei log SYSLOG e JSON.
2024-08-08
Miglioramento:
Acct-NAS-IP-Address
è stato mappato aprincipal.ip
.Acct-Username
è stato mappato aprincipal.user.userid
.Acct-Calling-Station-Id
è stato mappato aprincipal.user.product_object_id
.
2024-05-05
Miglioramento:
- È stata gestita l'analisi non in batch dei log in formato SYSLOG.
prin_port
è stato mappato aprincipal.port
.agent_ip
è stato mappato aprincipal.ip
eprincipal.asset.ip
.descr
eeventDescription
sono stati mappati ametadata.description
.version
è stato mappato ametadata.product_version
.- Sono stati mappati
specificTrap_name
,uptime
,enterprise
,generic_num
,specificTrap_num
ecommunity
aadditional.fields
.
2024-01-11
Miglioramento:
Common.NAS-IP-Address
è stato mappato atarget.ip
.Common.Service
,Common.Enforcement-Profiles
eCommon.Login-Status
sono stati mappati asecurity_result.detection_fields
.
2022-08-18
Miglioramento:
- Sono stati gestiti i log eliminati in formato CEF e i log non analizzati per migliorare la percentuale di analisi.
metadata.event_type
è stato mappato aSTATUS_UPDATE
seprincipal.hostname/principal.ip
non è nullo, altrimenti è stato mappato comeGENERIC_EVENT
.
2022-07-08
Miglioramento:
- Mappatura modificata per
_target_user_groupid
datarget.user.groupid
atarget.user.group_identifiers
. - Mappatura modificata per
Common.Roles
daprincipal.user.groupid
aprincipal.user.group_identifiers
.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.