Raccogli i log di Aruba IPS
Versione parser: 3.0
Questo documento spiega come importare i log di Aruba IPS in Google Security Operations utilizzando l'agente Bindplane. Il parser estrae eventi, notifiche, AP non autorizzati e informazioni sugli AP WIDS dai log in formato JSON. Trasforma i dati dei log non elaborati in UDM mappando i campi, gestendo vari tipi di eventi (accesso/disconnessione dell'utente, eventi di rete, eventi di sicurezza) e arricchendo i dati con informazioni contestuali come canale, SSID, BSSID e gravità. Il parser esegue anche la normalizzazione dei timestamp e la gestione degli errori per i JSON non corretti.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Un host Windows 2016 o versioni successive o Linux con
systemd - Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso privilegiato alla console di gestione o alla CLI del dispositivo Aruba
Ottieni le credenziali di Google SecOps per l'agente Bindplane
Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:
- Nuovi deployment: utilizza l'API Chronicle (opzione 1).
- Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (opzione 2) fino al ritiro dell'API Ingestion il 20 luglio 2027.
Opzione 1: crea un account di servizio per l'API Chronicle (consigliata)
- Accedi alla Google Cloud console e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
- Vai a IAM e amministrazione > Service account.
- Fai clic su Crea service account.
- Fornisci i seguenti dettagli di configurazione:
- Nome service account: inserisci un nome per l'account (ad esempio
bindplane-ingest). - Descrizione del service account: inserisci una descrizione (ad esempio,
Bindplane agent log ingestion).
- Nome service account: inserisci un nome per l'account (ad esempio
- Fai clic su Crea e continua.
- Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
- Fai clic su Continua, quindi su Fine.
- Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
- Fai clic su Aggiungi chiave > Crea nuova chiave.
- Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul computer.
- Salva il file della chiave come
ingestion-auth.jsonnella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonsu Linux oC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsu Windows) oppure aggiornacreds_file_pathinconfig.yamlin modo che corrisponda al percorso in cui lo salvi. - Vai a IAM e amministrazione > Impostazioni e copia il numero di progetto. Ti servirà per la configurazione dell'esportatore.
Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'acquisizione.
- Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.
Ottieni l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.
Installa l'agente Bindplane
Installa l'agente Bindplane sul tuo sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
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 aggiuntive per l'installazione
Per ulteriori 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/opt/observiq-otel-collector/su Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano,vio Blocco note).
- Individua il file
Modifica il file
config.yamlcome segue:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: YOUR_CUSTOMER_ID_HERE endpoint: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARUBA_IPS' raw_log_field: body ingestion_labels: 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
YOUR_CUSTOMER_ID_HEREcon l'ID cliente effettivo. - Aggiorna
/path/to/ingestion-authentication-file.jsoncon il percorso del file in cui è stato salvato il file della chiave del account di servizio (opzione 1) nel passaggio 1. - Sostituisci
<LOCATION>con la regione della tua istanza Google SecOps (ad esempious,europeoasia-southeast1). L'esportatore anteponechronicle.googleapis.coma questo valore. Per l'elenco completo, consulta Endpoint regionali. - Sostituisci
<PROJECT_NUMBER>con il numero di progetto in IAM e amministrazione > Impostazioni.
Esportatore API di importazione legacy
Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco
exporterscon il seguente. Impostacreds_file_pathsul percorso del file di autenticazione dell'importazione e, se la tua istanza si trova al di fuori degli Stati Uniti, sostituiscimalachiteingestion-pa.googleapis.comcon l'endpoint regionale (ad esempio,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: YOUR_CUSTOMER_ID_HERE endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARUBA_IPS' raw_log_field: body ingestion_labels:
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart observiq-otel-collectorPer riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop observiq-otel-collector && net start observiq-otel-collector
Configurare l'inoltro di Syslog sui dispositivi Aruba
Scegli il metodo di configurazione in base al tipo di dispositivo Aruba:
Opzione A: controller Aruba (AOS-8)
Utilizzo della WebUI (consigliato per il formato CEF)
- Accedi all'interfaccia web del controller Aruba.
- Nella gerarchia dei nodi Managed Network, vai a Configuration > System > Logging > Syslog Servers.
- Per aggiungere un server di logging, fai clic su + nella sezione Syslog Servers (Server Syslog).
- Fornisci i seguenti dettagli di configurazione:
- Indirizzo IP server: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta: inserisci
514(o la porta configurata in Bindplane). - Protocollo: seleziona UDP o TCP, a seconda della configurazione dell'agente Bindplane.
- Fai clic su Applica.
- Per selezionare i tipi di messaggi che vuoi registrare, seleziona Livelli di logging.
- Seleziona la categoria o la sottocategoria da registrare.
- Per selezionare il livello di gravità per la categoria o la sottocategoria, seleziona il livello dall'elenco a discesa Livello di logging.
- Seleziona il formato di logging CEF o BSD-standard dall'elenco a discesa Formato.
- Il formato CEF (Common Event Format) di ArcSight è consigliato per la registrazione strutturata.
- Fai clic su Invia.
- Fai clic su Modifiche in attesa.
- Nella finestra Modifiche in attesa, seleziona la casella di controllo e fai clic su Esegui il deployment delle modifiche.
Opzione B: AP Aruba Instant
Utilizzo della WebUI
- Accedi all'interfaccia web di Aruba Instant.
- Nella finestra principale di Instant, fai clic sul link Sistema.
- Fai clic su Mostra opzioni avanzate per visualizzare le opzioni avanzate.
- Fai clic sulla scheda Monitoraggio.
- Vengono visualizzati i dettagli della scheda Monitoraggio.
- Nella casella di testo Server Syslog, che si trova nella sezione Server, inserisci l'indirizzo IP dell'agente Bindplane.
- Nella sezione Livelli di facility syslog, seleziona i valori richiesti per configurare i livelli di facility syslog.
- Syslog Level: log dettagliato sui livelli di syslog.
- AP-Debug: log dettagliato sul dispositivo Instant AP.
- Rete: log relativo alla modifica della rete, ad esempio quando viene aggiunto un nuovo AP istantaneo a una rete.
- Sicurezza: log sulla sicurezza di rete, ad esempio quando un client si connette utilizzando una password errata.
- Sistema: log sulla configurazione e sullo stato del sistema.
- Utente: log importanti relativi al client.
- User-Debug: log dettagliato sul client.
- Wireless: log relativi alla radio.
- Fai clic su OK per salvare la configurazione.
Utilizzo dell'interfaccia a riga di comando
- Accedi all'interfaccia a riga di comando di Aruba Instant AP.
Attiva la modalità di configurazione:
configure terminalConfigura il server Syslog e il livello:
syslog-server <BINDPLANE_IP_ADDRESS> syslog-level warnings- Sostituisci
<BINDPLANE_IP_ADDRESS>con l'indirizzo IP dell'host dell'agente Bindplane. - Modifica il livello di gravità in base alle esigenze.
- Sostituisci
Opzione C: Aruba AOS-S (switch)
- Accedi all'interfaccia a riga di comando dello switch Aruba AOS-S.
Attiva la modalità di configurazione:
configureConfigura il server syslog:
logging <BINDPLANE_IP_ADDRESS> logging severity warnings- Sostituisci
<BINDPLANE_IP_ADDRESS>con l'indirizzo IP dell'host dell'agente Bindplane. - Regola il livello di gravità in base alle esigenze.
- Sostituisci
Salva la configurazione:
write memory
Opzione D: Aruba Central (On-Premises)
- Accedi all'interfaccia web di Aruba Central.
- Vai a System (Sistema) > System Administration (Amministrazione di sistema) > Notifications (Notifiche) > Syslog Server (Server Syslog).
- Fai clic su Aggiungi o Attiva.
- Fornisci i seguenti dettagli di configurazione:
- Host: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta: inserisci
514(o la porta configurata in Bindplane). - Protocollo: seleziona UDP o TCP, a seconda della configurazione dell'agente Bindplane.
- Struttura: seleziona Local7 o in base alle esigenze.
- Gravità: seleziona il livello minimo di log (ad esempio, Avviso o Informazioni).
- Fai clic su Salva.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
notifications.created_timestamp |
metadata.event_timestamp.seconds |
Il campo del log non elaborato notifications.created_timestamp viene convertito in secondi e mappato. I nanosecondi vengono persi nella conversione. |
notifications.customer_id |
metadata.product_log_id |
Mappatura diretta. |
notifications.device_id |
principal.resource.product_object_id |
Mappatura diretta. |
notifications.group_name |
principal.group.group_display_name |
Mappatura diretta. |
notifications.id |
metadata.product_log_id |
Mappatura diretta. |
notifications.timestamp |
metadata.event_timestamp.seconds |
Il campo del log non elaborato notifications.timestamp viene convertito in secondi e mappato. |
rogue_aps.acknowledged |
security_result.detection_fields.value dove security_result.detection_fields.key è "acknowledged" |
Convertito in stringa e mappato. |
rogue_aps.containment_status |
metadata.description |
Mappatura diretta. |
rogue_aps.cust_id |
metadata.product_log_id |
Mappatura diretta. |
rogue_aps.encryption |
security_result.detection_fields.value dove security_result.detection_fields.key è "crittografia" |
Mappatura diretta. |
rogue_aps.first_det_device |
principal.resource.product_object_id |
Mappatura diretta. |
rogue_aps.first_det_device_name |
principal.hostname |
Mappatura diretta. |
rogue_aps.first_seen |
principal.domain.first_seen_time.seconds |
Analizzato come data e i secondi dall'epoca vengono mappati. |
rogue_aps.group_name |
principal.group.group_display_name |
Mappatura diretta. |
rogue_aps.id |
principal.mac |
Convertiti in minuscolo e mappati. |
rogue_aps.labels |
security_result.detection_fields.value dove security_result.detection_fields.key è "etichette" |
Mappatura diretta. |
rogue_aps.last_det_device |
security_result.about.user.product_object_id |
Mappatura diretta. |
rogue_aps.last_det_device_name |
target.hostname |
Mappatura diretta. |
rogue_aps.last_seen |
principal.domain.last_seen_time.seconds |
Analizzato come data e vengono mappati i secondi trascorsi dall'epoca. Utilizzato anche come timestamp dell'evento, se presente. |
rogue_aps.mac_vendor |
target.administrative_domain |
Mappatura diretta. |
rogue_aps.name |
target.user.userid |
Mappatura diretta. |
rogue_aps.overriden |
security_result.detection_fields.value dove security_result.detection_fields.key è "overriden" |
Convertito in stringa e mappato. |
rogue_aps.signal |
security_result.detection_fields.value dove security_result.detection_fields.key è "signal" |
Convertito in stringa e mappato. |
rogue_aps.ssid |
security_result.detection_fields.value dove security_result.detection_fields.key è "ssid" |
Mappatura diretta. |
site |
principal.location.name |
Mappatura diretta. |
wids_aps_info_list.attack_type |
metadata.description |
Mappatura diretta. |
wids_aps_info_list.detected_ap |
principal.hostname |
Mappatura diretta. |
wids_aps_info_list.description |
security_result.description |
Mappatura diretta. Utilizzato anche per estrarre diversi campi utilizzando grok. |
wids_aps_info_list.event_time |
metadata.event_timestamp.seconds |
Convertito in stringa e utilizzato come timestamp dell'evento, se presente. |
wids_aps_info_list.event_type |
metadata.product_event_type |
Mappatura diretta. |
wids_aps_info_list.macaddr |
principal.mac |
Convertiti in minuscolo e mappati. |
wids_aps_info_list.radio_band |
security_result.detection_fields.value dove security_result.detection_fields.key è "radio_band" |
Mappatura diretta. |
wids_aps_info_list.virtual_controller |
target.hostname |
Mappatura diretta. Imposta su true se notifications.severity è "Emergenza", "Avviso" o "Critico". Impostato su true se notifications.severity è "Emergenza", "Avviso" o "Critico". Determinato dai campi events.event_type o notifications.type oppure impostato su GENERIC_EVENT per impostazione predefinita. Diverse mappature derivano dalla logica: STATUS_STARTUP, STATUS_SHUTDOWN, STATUS_UPDATE, USER_LOGIN, USER_LOGOUT. Impostato sempre su "ARUBA_IPS". Impostato sempre su "ARUBA_IPS". Sempre impostato su "ARUBA". Imposta "DHCP" se events.event_type è "Client DHCP Acknowledged" o "Client DHCP Timeout". Impostato su "BOOTREPLY" se events.event_type è "Client DHCP Acknowledged" o "Client DHCP Timeout". Estratto da events.description utilizzando grok se events.event_type è "Client DHCP Acknowledged". Impostato su "ACK" se events.event_type è "Client DHCP Acknowledged" e events.description contiene un indirizzo IP. In caso contrario, imposta su "WIN_EXPIRED". Imposta su "ACCESS POINT" se events.event_type inizia con "Radio", "WLAN", "AP" o è "Security". Imposta su "DEVICE" se events.event_type inizia con "Radio", "WLAN", "AP" o è "Security". Mappato da events.client_mac per la maggior parte degli eventi client o rogue_aps.last_det_device per gli eventi AP non autorizzati. Impostato su "AUTH_VIOLATION" per valori events.event_type specifici o se notifications.description contiene "attacco DoS" o "disconnect attack". Impostato per valori events.event_type specifici. Vengono aggiunte diverse coppie chiave-valore in base ai campi estratti, come bssid, channel, previous_channel, ssid, previous bssid, acknowledged, overriden, encryption, signal, labels, radio_band. Mappato da wids_aps_info_list.description per gli eventi wids. Determinato da notifications.severity o wids_aps_info_list.level. Imposta "level: %{wids_aps_info_list.level}" per gli eventi WIDS. Imposta per valori events.event_type specifici. Mappato da rogue_aps.mac_vendor per gli eventi di AP non autorizzati. Mappato da rogue_aps.last_det_device_name per gli eventi di AP non autorizzati o da wids_aps_info_list.virtual_controller per gli eventi WIDS. Estratto da events.description utilizzando grok se events.event_type è "Security". Mappato da notifications.client_mac per gli eventi di notifica, events.client_mac per gli eventi client, target_mac estratto da wids_aps_info_list.description per gli eventi WID o rogue_aps.id per gli eventi AP non autorizzati. Imposta "CLIENTE" per la maggior parte degli eventi cliente. Imposta "DEVICE" per la maggior parte degli eventi cliente. Impostato su "ACTIVE" se events.event_type è "Security". Mappato da rogue_aps.name per gli eventi di AP non autorizzati. |
events.bssid |
security_result.detection_fields.value dove security_result.detection_fields.key è "bssid" |
Mappatura diretta. |
events.client_mac |
target.mac |
Mappatura diretta. Utilizzato anche per compilare security_result.about.user.product_object_id per gli eventi client e target.ip per gli eventi "Sicurezza". |
events.description |
metadata.description |
Mappatura diretta per eventi AP e radio. Utilizzato per estrarre diversi campi utilizzando grok per altri tipi di eventi. |
events.device_mac |
principal.mac |
Mappatura diretta. |
events.device_serial |
principal.resource.product_object_id |
Mappatura diretta. |
events.events_details.2.channel |
security_result.detection_fields.value dove security_result.detection_fields.key è "channel" |
Mappatura diretta. |
events.group_name |
principal.group.group_display_name |
Mappatura diretta. |
events.hostname |
principal.hostname |
Mappatura diretta. |
events.timestamp |
metadata.event_timestamp.seconds |
Convertito in stringa, i millisecondi vengono rimossi e poi mappati. Utilizzato anche come timestamp dell'evento, se presente. |
timestamp |
metadata.event_timestamp |
Utilizzato come timestamp dell'evento se non sono presenti altri campi di timestamp. Impostato su "ACTIVE" per la maggior parte degli eventi client e degli eventi "Security". Imposta "AUTHTYPE_UNSPECIFIED" se events.event_type è "Client 802.1x Radius Reject". Estratto da events.description utilizzando grok se events.event_type è "Security". |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.