Coletar registros da plataforma de serviços de arquivos da Nasuni
Neste documento, explicamos como ingerir registros da plataforma de serviços de arquivos da Nasuni no Google Security Operations usando um agente do Bindplane. O analisador extrai campos de registros SYSLOG e JSON. Ele usa padrões grok para analisar a mensagem inicial e aproveita um filtro JSON para dados JSON incorporados, mapeando campos extraídos para a UDM, processando vários tipos de eventos, como leituras e modificações de arquivos e eventos genéricos, e enriquecendo os dados com informações de fornecedor e produto. Ele também realiza uma lógica condicional com base nos campos extraídos para categorizar eventos e preencher metadados da UDM.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Use o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado ao Claroty CTD.
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.
Receber o ID do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Outros recursos de instalação
- Para mais opções de instalação, consulte este guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele fica no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yaml
da seguinte forma: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: NASUNI_FILE_SERVICES raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>
pelo ID do cliente real.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog na plataforma Nasuni File Service
- Faça login na UI da Web do Nasuni Console.
- Acesse Configurações do console > Exportações do Syslog.
- Insira os seguintes detalhes de configuração na seção "Rede":
- Nome do host: insira um nome exclusivo e significativo (por exemplo, Syslog do Google SecOps).
- Endereço IP: insira o endereço IP do Bindplane.
- Porta: insira o número da porta de configuração do BindPlane (por exemplo, 514 para UDP).
- Protocolo: selecione UDP. Também é possível selecionar TCP, dependendo da configuração do Bindplane.
- Formato: selecione SYSLOG+JSON.
- Clique em Salvar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
application |
target.application |
Preenchido quando o campo msg existe e não é JSON, e o campo application não está vazio. |
event_type |
metadata.product_event_type |
Mapeado diretamente do campo event_type no registro bruto. |
gid |
target.group.product_object_id |
Mapeado diretamente do campo gid no registro bruto e convertido em string. |
groupname |
target.group.group_display_name |
Mapeado diretamente do campo groupname no registro bruto. |
host |
principal.hostname |
Mapeado diretamente do campo host no registro bruto. |
ipaddr |
principal.ip |
Mapeado diretamente do campo ipaddr no registro bruto. |
is_dir |
additional.fields.value.string_value (em que a chave é is_dir ) |
Mapeado diretamente do campo is_dir no registro bruto e convertido em string. Adicionado como um campo extra. |
msg |
metadata.description |
Preenchido quando o campo msg existe, não é JSON e ipaddr e prin_port não são extraídos dele. Também usado para eventos STATUS_UPDATE. |
newpath |
additional.fields.value.string_value (em que a chave é newpath ) |
Mapeado diretamente do campo newpath no registro bruto. Adicionado como um campo extra. |
offset |
additional.fields.value.string_value (em que a chave é offset ) |
Mapeado diretamente do campo offset no registro bruto e convertido em string. Adicionado como um campo extra. |
path |
target.file.full_path |
Mapeado diretamente do campo path no registro bruto. |
pid |
target.process.pid |
Mapeado diretamente do campo pid no registro bruto e convertido em string. |
prin_port |
principal.port |
Extraído do campo msg usando grok quando msg não é JSON, convertido em número inteiro. |
proc_id |
principal.process.pid |
Mapeado diretamente do campo proc_id no registro bruto. |
product_log_id |
metadata.product_log_id |
Mapeado diretamente do campo product_log_id no registro bruto. |
proto |
metadata.description |
Mapeado diretamente do campo proto no registro bruto. |
resource |
target.resource.resource_subtype |
Mapeado diretamente do campo resource no registro bruto. |
sequence |
additional.fields.value.string_value (em que a chave é sequence ) |
Mapeado diretamente do campo sequence no registro bruto e convertido em string. Adicionado como um campo extra. |
sid |
principal.user.windows_sid |
Mapeado diretamente do campo sid no registro bruto. |
tid |
target.resource.product_object_id |
Mapeado diretamente do campo tid no registro bruto e convertido em string. |
time |
metadata.event_timestamp.seconds , timestamp.seconds |
A parte de segundos do carimbo de data/hora é extraída do campo time e usada para preencher metadata.event_timestamp e timestamp de nível superior. Determinado por uma lógica com base nos valores de ipaddr , path e event_type . Pode ser FILE_READ , FILE_MODIFICATION , FILE_UNCATEGORIZED , STATUS_UPDATE ou GENERIC_EVENT . Fixado no código como NASUNI_FILE_SERVICES . Fixado no código como Nasuni File Services Platform . Fixado no código como Nasuni . |
uid |
additional.fields.value.string_value (em que a chave é uid ) |
Mapeado diretamente do campo uid no registro bruto e convertido em string. Adicionado como um campo extra. |
username |
principal.user.user_display_name |
Mapeado diretamente do campo username no registro bruto. |
volume |
additional.fields.value.string_value (em que a chave é volume ) |
Mapeado diretamente do campo volume no registro bruto. Adicionado como um campo extra. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.