Raccogliere i log del controller e del punto di accesso wireless Aruba
Questo documento spiega come raccogliere i log del controller e dell'access point Aruba utilizzando Bindplane. Il parser elabora i messaggi SYSLOG, estraendo i campi relativi ai dettagli di osservatori, intermediari e punti di accesso. Poi mappa questi campi all'Unified Data Model (UDM), arricchendo i dati sugli eventi con la gravità del risultato di sicurezza e gestendo varie condizioni di errore durante il processo.
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 controller wireless Aruba.
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 di 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: ARUBA_WIRELESS 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 controller e il punto di accesso wireless Aruba
- Accedi all'interfaccia utente web del controller Aruba.
- Vai al menu in alto e seleziona Configurazione > Sistema.
- Seleziona Logging per aprire la pagina di configurazione della registrazione.
- Nella sezione Server syslog, fai clic su + Aggiungi per aggiungere un nuovo server syslog.
- Viene visualizzato un nuovo modulo in cui devi inserire i seguenti dettagli:
- Nome: inserisci un nome univoco per il server syslog, ad esempio
Google SecOps Syslog
. - Indirizzo IP: inserisci l'indirizzo IP di Bindplane.
- Porta: inserisci il numero di porta di Bindplane (in genere 514 per UDP).
- Logging Facility (Strumento di logging): seleziona local 6 dal menu (questo valore viene comunemente utilizzato per i dispositivi di rete).
- Livello di logging: seleziona Informativo per acquisire i log informativi.
- Formato: seleziona il formato bsd-standard (questo è il formato syslog predefinito utilizzato dai controller Aruba).
- Nome: inserisci un nome univoco per il server syslog, ad esempio
- Fai clic su Invia per salvare le impostazioni.
- Fai clic su Modifiche in attesa.
Fai clic su Esegui il deployment delle modifiche per applicare la nuova configurazione del server syslog.
Vai alle impostazioni del livello di logging e imposta il livello di logging su Informazioni per ciascuna delle seguenti categorie:
- Rete
- Tutti
- Cluster
- DHCP
- GP
- Difficoltà di deambulazione
- Packet-Dump
- SDN
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
Additional Info |
read_only_udm.security_result.description |
Il valore di Additional Info dal log non elaborato è mappato al campo UDM security_result.description . |
AP |
read_only_udm.target.hostname |
Se presente nel log non elaborato, il valore dopo AP: viene estratto e mappato al campo UDM target.hostname . |
BSSID |
read_only_udm.target.mac , read_only_udm.principal.resource.name (se il tipo di risorsa è BSSID) |
Il valore BSSID del log non elaborato è mappato a target.mac . Viene utilizzato anche come nome della risorsa quando principal.resource.type è BSSID . |
COMMAND |
read_only_udm.principal.process.command_line |
Il valore del comando dal log non elaborato viene mappato al campo UDM principal.process.command_line . |
Dst-MAC |
read_only_udm.target.mac |
Se presente, il valore Dst-MAC del log non elaborato viene mappato al campo UDM target.mac . |
SERVER |
read_only_udm.target.hostname |
Se presente, il nome del server dal log non elaborato viene mappato al campo UDM target.hostname . |
SERVER-IP |
read_only_udm.target.ip |
Se presente, l'indirizzo IP del server dal log non elaborato viene mappato al campo UDM target.ip . |
Src-MAC |
read_only_udm.principal.mac |
Se presente, il valore Src-MAC del log non elaborato viene mappato al campo UDM principal.mac . |
SSID |
read_only_udm.target.resource.name (se il tipo di risorsa è SSID) |
Il valore SSID del log non elaborato viene utilizzato come nome della risorsa quando target.resource.type è SSID . |
USER |
read_only_udm.target.user.userid |
Se presente, l'ID utente del log non elaborato viene mappato al campo UDM target.user.userid . |
USERIP |
read_only_udm.principal.ip , read_only_udm.observer.ip |
Se presente, l'indirizzo IP dell'utente dal log non elaborato viene mappato ai campi UDM principal.ip e observer.ip . |
USERMAC |
read_only_udm.principal.mac |
Se presente, l'indirizzo MAC dell'utente dal log non elaborato viene mappato al campo UDM principal.mac . |
USERNAME |
read_only_udm.principal.user.userid |
Se presente, il nome utente del log non elaborato viene mappato al campo UDM principal.user.userid . |
action |
read_only_udm.security_result.action |
Il valore dell'azione dal log non elaborato (ad es. permit , deny ) è mappato al campo UDM security_result.action . |
apname |
read_only_udm.target.hostname |
Se presente, il nome dell'AP dal log non elaborato viene mappato al campo UDM target.hostname . |
bssid |
read_only_udm.target.mac |
Se presente, il valore BSSID del log non elaborato viene mappato al campo UDM target.mac . |
collection_time.seconds |
read_only_udm.metadata.event_timestamp.seconds |
Il valore in secondi dell'ora di raccolta dal log non elaborato è mappato al campo UDM metadata.event_timestamp.seconds . |
device_ip |
read_only_udm.intermediary.ip |
L'indirizzo IP del dispositivo dal log non elaborato o da logstash è mappato al campo UDM intermediary.ip . |
dstip |
read_only_udm.target.ip |
Se presente, l'indirizzo IP di destinazione del log non elaborato viene mappato al campo UDM target.ip . |
dstport |
read_only_udm.target.port |
Se presente, la porta di destinazione del log non elaborato viene mappata al campo UDM target.port . |
event_id |
read_only_udm.metadata.product_event_type |
L'ID evento del log non elaborato viene utilizzato per creare il campo metadata.product_event_type nell'UDM, con il prefisso Event ID: . |
event_message |
read_only_udm.security_result.summary |
Il messaggio dell'evento dal log non elaborato è mappato al campo UDM security_result.summary . |
log.source.address |
read_only_udm.observer.ip |
L'indirizzo della sorgente del log è mappato al campo UDM observer.ip . |
log_type |
read_only_udm.metadata.log_type |
Il tipo di log dal log non elaborato è mappato al campo UDM metadata.log_type . |
logstash.collect.host |
read_only_udm.observer.ip o read_only_udm.observer.hostname |
L'host di raccolta Logstash è mappato a observer.ip se si tratta di un indirizzo IP o a observer.hostname se si tratta di un nome host. |
logstash.ingest.host |
read_only_udm.intermediary.hostname |
L'host di importazione di Logstash è mappato al campo UDM intermediary.hostname . |
logstash.process.host |
read_only_udm.intermediary.hostname |
L'host del processo Logstash è mappato al campo UDM intermediary.hostname . |
program |
read_only_udm.target.application |
Il nome del programma dal log non elaborato è mappato al campo UDM target.application . |
serverip |
read_only_udm.target.ip |
Se presente, l'indirizzo IP del server dal log non elaborato viene mappato al campo UDM target.ip . |
servername |
read_only_udm.target.hostname |
Se presente, il nome del server dal log non elaborato viene mappato al campo UDM target.hostname . |
srcip |
read_only_udm.principal.ip |
Se presente, l'indirizzo IP di origine del log non elaborato viene mappato al campo UDM principal.ip . |
srcport |
read_only_udm.principal.port |
Se presente, la porta di origine del log non elaborato viene mappata al campo UDM principal.port . |
syslog_host |
read_only_udm.intermediary.hostname |
L'host syslog dal log non elaborato è mappato al campo UDM intermediary.hostname . |
timestamp |
read_only_udm.metadata.event_timestamp |
Il timestamp del log non elaborato viene analizzato e mappato al campo UDM metadata.event_timestamp . |
userip |
read_only_udm.principal.ip , read_only_udm.observer.ip |
Se presente, l'indirizzo IP dell'utente dal log non elaborato viene mappato ai campi UDM principal.ip e observer.ip . |
usermac |
read_only_udm.principal.mac |
Se presente, l'indirizzo MAC dell'utente dal log non elaborato viene mappato al campo UDM principal.mac . |
username |
read_only_udm.principal.user.userid |
Se presente, il nome utente del log non elaborato viene mappato al campo UDM principal.user.userid . Dedotto da event_id e dalla logica all'interno dell'analizzatore. Determinato dall'analizzatore in base all'ID evento e ai contenuti del messaggio del log. Hardcoded a Wireless . Hardcoded a Aruba . Determinato dall'analizzatore in base all'ID evento e ai contenuti del messaggio del log. Determinato dall'analizzatore in base all'ID evento e ai contenuti del messaggio del log. Estratto dal messaggio del log non elaborato utilizzando regex. Determinato dall'analizzatore in base all'ID evento e ai contenuti del messaggio del log. Viene aggiunto un oggetto vuoto quando event_type è USER_LOGIN o un evento di autenticazione correlato. Determinato dall'analizzatore in base al protocollo di rete utilizzato nell'evento (ad es. TCP, UDP, ICMP, IGMP). Contiene campi aggiuntivi estratti dal log non elaborato in base a condizioni specifiche. Ad esempio, ap_name viene aggiunto come coppia chiave-valore, se presente. Impostato su BSSID quando nel contesto dell'entità principale è presente un BSSID. Impostato su SSID quando nel contesto del target è presente un SSID. Contiene coppie chiave-valore di informazioni di rilevamento pertinenti estratte dal log non elaborato, ad esempio BSSID o SSID. |
Modifiche
2024-12-27
Miglioramento:
- È stato aggiunto un pattern Grok per supportare il nuovo pattern dei log syslog.
2024-09-04
Miglioramento:
- È stato aggiunto il supporto per un nuovo pattern di log SYSLOG.
2024-08-26
Miglioramento:
- È stato aggiunto il supporto per la gestione dei log SYSLOG non analizzati.
details
è stato mappato ametadata.description
.
2024-06-18
Miglioramento:
- È stato aggiunto il supporto per la gestione dei log SYSLOG non analizzati.
2024-04-18
Miglioramento:
- È stato aggiunto un pattern Grok per estrarre un valore valido da
ap_name
. ap_name
è stato mappato aadditional.fields
.
2023-05-25
Correzione di bug:
- I log analizzati non sono riusciti a causa di un pattern di log diverso.
2022-09-15
Correzione di bug:
- Pattern Grok modificato per analizzare i log che potrebbero avere un campo della data nel timestamp del log e alcuni log potrebbero non avere la chiave
userip
nel log. - Ove possibile, il valore di
metadata.event_type
è stato modificato daGENERIC_EVENT
aSTATUS_UPDATE
.
2022-08-23
Miglioramento:
- È stata eseguita la migrazione dell'analizzatore sintattico specifico del cliente all'analizzatore sintattico predefinito.
- Mappatura modificata per "metadata.event_type" da "GENERIC_EVENT" a "USER_RESOURCE_ACCESS" dove event_id è "132053".
2022-03-30
Miglioramento:
- Sono stati aggiunti i seguenti nuovi ID evento:
124003
,126037
,126038
,199801
,235008
,235009
,304119
,306602
,326091
,326098
,326271
,326272
,326273
,326274
,326275
,326276
,326277
,326278
,326284
,341004
,350008
,351008
,358000
,393000
,399815
,520013
,522274
,541004
- Modifica di
metadata.event_type
in cuiEvent Id
è126034
,126064
,127064
,132006
,132030
,132093
,132094
,132197
daGENERIC_EVENT
aSCAN_UNCATEGORIZED
- Il valore di
metadata.event_type
è cambiato daGENERIC_EVENT
aNETWORK_CONNECTION
seEvent Id
è132207
- Il valore di
metadata.event_type
è cambiato daGENERIC_EVENT
aUSER_UNCATEGORIZED
seEvent Id
è520002
- Mappatura di
intermediary.hostname
,intermediary.mac
,intermediary.ip
,target.application
,target.process.pid
- È stata eseguita la mappatura di
logstash.irm_site
,logstash.irm_environment
,logstash.irm_region
aadditional.fields
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.