Raccogliere i log di Thinkst Canary
Questo parser normalizza i messaggi di log non elaborati del software Thinkst Canary pulendo le interruzioni di riga e tentando di analizzare il messaggio come JSON. Poi, in base alla presenza di campi specifici ("Description" per il formato chiave-valore o "summary" per JSON), determina il formato del log e include la logica di analisi appropriata da file di configurazione separati per mappare i dati nel modello dei dati unificato.
Prima di iniziare
Assicurati di disporre dei seguenti prerequisiti:
- Istanza Google SecOps.
- Accesso con privilegi a Thinkst Canary.
Configurare l'API REST in Thinkst Canary
- Accedi alla console di gestione di Thinkst Canary.
- Fai clic sull'icona a forma di ingranaggio > Impostazioni globali.
- Fai clic su API.
- Fai clic su Abilita API.
- Fai clic su + per aggiungere un'API.
- Assegna all'API un nome descrittivo.
- Copia l'hash del dominio e il token di autenticazione.
Configurare i feed
Per configurare un feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Thinkst Canary Logs.
- Seleziona API di terze parti come Tipo di origine.
- Seleziona Thinkst Canary come Tipo di log.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- Intestazione HTTP di autenticazione:il token generato in precedenza in formato
auth_token:<TOKEN>(ad esempio, auth_token:AAAABBBBCCCC111122223333). - Nome host API:il nome di dominio completo (FQDN) dell'endpoint API REST di Think Canary (ad esempio
myinstance.canary.tools). - Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- Intestazione HTTP di autenticazione:il token generato in precedenza in formato
- Fai clic su Avanti.
- Rivedi la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
| AUDITACTION | read_only_udm.metadata.product_event_type | Il valore viene estratto dal campo della descrizione se il formato è JSON, altrimenti viene determinato dal campo eventid. |
| CanaryIP | read_only_udm.target.ip | |
| CanaryName | read_only_udm.target.hostname | |
| CanaryPort | read_only_udm.target.port | |
| COOKIE | read_only_udm.security_result.about.resource.attribute.labels.value | |
| creato | read_only_udm.metadata.event_timestamp.seconds | |
| created_std | read_only_udm.metadata.event_timestamp.seconds | |
| DATI | ||
| description | read_only_udm.metadata.product_event_type | Il valore viene estratto dal campo della descrizione se il formato è JSON, altrimenti viene determinato dal campo eventid. |
| Descrizione | read_only_udm.metadata.product_event_type | Il valore viene estratto dal campo della descrizione se il formato è JSON, altrimenti viene determinato dal campo eventid. |
| DOMAIN | read_only_udm.target.administrative_domain | |
| dst_host | read_only_udm.target.ip | |
| dst_port | read_only_udm.target.port | |
| eventid | read_only_udm.metadata.product_event_type | Il valore viene estratto dal campo della descrizione se il formato è JSON, altrimenti viene determinato dal campo eventid. |
| events_count | read_only_udm.security_result.detection_fields.value | |
| FILENAME | read_only_udm.target.file.full_path | |
| FIN | read_only_udm.security_result.detection_fields.value | |
| flock_id | read_only_udm.principal.resource.attribute.labels.value | |
| flock_name | read_only_udm.principal.resource.attribute.labels.value | |
| FunctionData | ||
| FunctionName | ||
| HEADERS | read_only_udm.security_result.about.resource.attribute.labels | |
| HOST | read_only_udm.target.hostname | |
| HOSTNAME | read_only_udm.target.hostname | |
| ID | read_only_udm.metadata.product_log_id | |
| ID | read_only_udm.security_result.detection_fields.value | |
| IN | read_only_udm.security_result.detection_fields.value | |
| ip_address | ||
| KEY | ||
| LEN | read_only_udm.security_result.detection_fields.value | |
| LOCALNAME | read_only_udm.target.hostname | |
| LOCALVERSION | read_only_udm.target.platform_version | |
| logtype | read_only_udm.security_result.detection_fields.value | |
| LOGINTYPE | ||
| MAC | read_only_udm.principal.mac | |
| matched_annotations | ||
| METODO | read_only_udm.network.http.method | |
| MODALITÀ | ||
| ms_macro_ip | read_only_udm.principal.ip | |
| ms_macro_username | read_only_udm.principal.user.user_display_name | |
| nome | read_only_udm.target.hostname | |
| node_id | read_only_udm.principal.resource.attribute.labels.value | |
| OFFSET | ||
| OPCODE | ||
| OUT | read_only_udm.security_result.detection_fields.value | |
| PASSWORD | ||
| PERCORSO | read_only_udm.target.url | |
| porte | read_only_udm.target.labels.value | |
| PREC | read_only_udm.security_result.detection_fields.value | |
| PreviousIP | read_only_udm.principal.ip | |
| PROTO | read_only_udm.network.ip_protocol | |
| PSH | read_only_udm.security_result.detection_fields.value | |
| REALM | read_only_udm.target.administrative_domain | |
| REMOTENAME | read_only_udm.principal.hostname | |
| REMOTEVERSION | read_only_udm.principal.platform_version | |
| REPO | read_only_udm.target.resource.attribute.labels.value | |
| RISPOSTA | read_only_udm.network.http.response_code | |
| ReverseDNS | ||
| Impostazioni | read_only_udm.target.labels | |
| SHARENAME | ||
| SIZE | ||
| SKIN | ||
| SMBARCH | ||
| SMBREPEATEVENTMSG | ||
| SMBVER | ||
| SNAME | ||
| SourceIP | read_only_udm.principal.ip | |
| src_host | read_only_udm.principal.ip | |
| src_host_reverse | read_only_udm.principal.hostname | |
| src_port | read_only_udm.principal.port | |
| STATO | ||
| riepilogo | read_only_udm.metadata.product_event_type | Il valore viene estratto dal campo della descrizione se il formato è JSON, altrimenti viene determinato dal campo eventid. |
| SYN | read_only_udm.security_result.detection_fields.value | |
| TCPBannerID | ||
| TERMSIZE | ||
| TERMTYPE | ||
| timestamp | read_only_udm.metadata.event_timestamp.seconds | |
| timestamp_std | read_only_udm.metadata.event_timestamp.seconds | |
| Timestamp | read_only_udm.metadata.event_timestamp.seconds | |
| TKTVNO | read_only_udm.security_result.detection_fields.value | |
| TOS | read_only_udm.security_result.detection_fields.value | |
| TTL | read_only_udm.security_result.detection_fields.value | |
| TIPO | ||
| UTENTE | read_only_udm.principal.user.user_display_name | |
| USERAGENT | read_only_udm.network.http.user_agent | |
| NOME UTENTE | read_only_udm.target.user.user_display_name | |
| URG | read_only_udm.security_result.detection_fields.value | |
| URGP | read_only_udm.security_result.detection_fields.value | |
| WINDOW | read_only_udm.security_result.detection_fields.value | |
| windows_desktopini_access_domain | read_only_udm.principal.group.group_display_name | |
| windows_desktopini_access_username | read_only_udm.principal.user.user_display_name | |
| read_only_udm.metadata.log_type | THINKST_CANARY - Hardcoded value | |
| read_only_udm.metadata.vendor_name | Thinkst - Hardcoded value | |
| read_only_udm.metadata.product_name | Canary - Hardcoded value | |
| read_only_udm.security_result.severity | CRITICA - Valore hardcoded | |
| read_only_udm.network.application_protocol | Determinato dalla porta e da product_event_type | |
| read_only_udm.extensions.auth.mechanism | Determinato dal metodo di autenticazione utilizzato nell'evento |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.