Coletar registros do Thinkst Canary
Esse analisador normaliza mensagens de registro brutas do software Thinkst Canary limpando quebras de linha e tentando analisar a mensagem como JSON. Em seguida, com base na presença de campos específicos ("Description" para formato de chave-valor ou "summary" para JSON), ele determina o formato do registro e inclui a lógica de análise adequada de arquivos de configuração separados para mapear os dados no modelo de dados unificado.
Antes de começar
Verifique se você atende aos seguintes pré-requisitos:
- Instância do Google SecOps.
- Acesso privilegiado ao Thinkst Canary.
Configurar a API REST no Thinkst Canary
- Faça login no console de gerenciamento do Thinkst Canary.
- Clique no ícone de engrenagem > Configurações globais.
- Clique em API.
- Clique em Ativar API.
- Clique em + para adicionar uma API.
- Dê um nome descritivo à API.
- Copie o Hash do domínio e o Token de autenticação.
Configurar feeds
Para configurar um feed, siga estas etapas:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed, por exemplo, Registros do Thinkst Canary.
- Selecione API de terceiros como o Tipo de origem.
- Selecione Thinkst Canary como o Tipo de registro.
- Clique em Próxima.
- Especifique valores para os seguintes parâmetros de entrada:
- Cabeçalho HTTP de autenticação:o token gerado anteriormente em um formato
auth_token:<TOKEN>(por exemplo, auth_token:AAAABBBBCCCC111122223333). - Nome do host da API:o FQDN (nome de domínio totalmente qualificado) do endpoint de API REST do Thinks Canary (por exemplo,
myinstance.canary.tools). - Namespace do recurso: o namespace do recurso.
- Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
- Cabeçalho HTTP de autenticação:o token gerado anteriormente em um formato
- Clique em Próxima.
- Revise a configuração do feed na tela Finalizar e clique em Enviar.
Mapeamento do UDM
| Campo de registro | Mapeamento da UDM | Lógica |
|---|---|---|
| AUDITACTION | read_only_udm.metadata.product_event_type | O valor é extraído do campo "description" se o formato for JSON. Caso contrário, ele é determinado pelo 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 | |
| created | read_only_udm.metadata.event_timestamp.seconds | |
| created_std | read_only_udm.metadata.event_timestamp.seconds | |
| DADOS | ||
| description | read_only_udm.metadata.product_event_type | O valor é extraído do campo "description" se o formato for JSON. Caso contrário, ele é determinado pelo campo "eventid". |
| Descrição | read_only_udm.metadata.product_event_type | O valor é extraído do campo "description" se o formato for JSON. Caso contrário, ele é determinado pelo 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 | O valor é extraído do campo "description" se o formato for JSON. Caso contrário, ele é determinado pelo 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 | ||
| CABEÇALHOS | 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 | ||
| CHAVE | ||
| 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 | ||
| MÉTODO | read_only_udm.network.http.method | |
| MODO | ||
| 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 | ||
| SAIR | read_only_udm.security_result.detection_fields.value | |
| SENHA | ||
| PATH | read_only_udm.target.url | |
| portas | 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 | |
| RESPOSTA | read_only_udm.network.http.response_code | |
| ReverseDNS | ||
| Configurações | 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 | |
| STATUS | ||
| resumo | read_only_udm.metadata.product_event_type | O valor é extraído do campo "description" se o formato for JSON. Caso contrário, ele é determinado pelo 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 | |
| Carimbo de data/hora | 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 | ||
| USUÁRIO | read_only_udm.principal.user.user_display_name | |
| USERAGENT | read_only_udm.network.http.user_agent | |
| NOME DE USUÁRIO | 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: valor codificado | |
| read_only_udm.metadata.vendor_name | Thinkst: valor codificado | |
| read_only_udm.metadata.product_name | Canary: valor codificado | |
| read_only_udm.security_result.severity | CRÍTICA - Valor codificado | |
| read_only_udm.network.application_protocol | Determinado pela porta e pelo product_event_type | |
| read_only_udm.extensions.auth.mechanism | Determinado pelo método de autenticação usado no evento |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.