Recolha registos da plataforma de serviços de ficheiros da Nasuni
Este documento explica como carregar registos da plataforma de serviços de ficheiros da Nasuni para o Google Security Operations através de um agente do Bindplane. O analisador extrai campos de registos SYSLOG e JSON. Usa padrões grok para analisar a mensagem inicial e, em seguida, tira partido de um filtro JSON para dados JSON incorporados, mapeando os campos extraídos para o UDM, processando vários tipos de eventos, como leituras de ficheiros, modificações e eventos genéricos, e enriquecendo os dados com informações de fornecedores e produtos. Também executa lógica condicional com base nos campos extraídos para categorizar eventos e preencher metadados do UDM.
Antes de começar
- Certifique-se de que tem uma instância do Google SecOps.
 - Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com 
systemd. - Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
 - Certifique-se de que tem acesso privilegiado ao Claroty CTD.
 
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
 - Aceda a Definições do SIEM > Agentes de recolha.
 - Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.
 
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
 - Aceda a Definições do SIEM > Perfil.
 - Copie e guarde o ID do cliente da secção Detalhes da organização.
 
Instale o agente do Bindplane
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
 Execute o seguinte 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 raiz ou sudo.
 Execute o seguinte comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalação adicionais
- Para ver opções de instalação adicionais, consulte este guia de instalação.
 
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- Localize o ficheiro 
config.yaml. Normalmente, encontra-se no diretório/etc/bindplane-agent/no Linux ou no diretório de instalação no Windows. - Abra o ficheiro com um editor de texto (por exemplo, 
nano,viou Bloco de notas). 
- Localize o ficheiro 
 Edite o ficheiro
config.yamlda 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_labelsSubstitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>pelo ID de cliente real.Atualize
/path/to/ingestion-authentication-file.jsonpara o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
Reinicie o agente do Bindplane para aplicar as alterações
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agentPara reiniciar o agente do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configure o Syslog na plataforma Nasuni File Service
- Inicie sessão na IU Web da consola Nasuni.
 - Aceda a Definições da consola > Exportações de Syslog.
 - Introduza os seguintes detalhes de configuração na secção Rede:
- Nome do anfitrião: introduza um nome único e significativo (por exemplo, syslog do Google SecOps).
 - Endereço IP: introduza o endereço IP do Bindplane.
 - Porta: introduza o número da porta de configuração do Bindplane (por exemplo, 514 para UDP).
 - Protocolo: selecione UDP (também pode selecionar TCP, consoante a configuração do Bindplane).
 - Formato: selecione SYSLOG+JSON.
 
 - Clique em Guardar.
 
Tabela de mapeamento da UDM
| Campo de registo | Mapeamento de 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 a partir do campo event_type no registo não processado. | 
gid | 
target.group.product_object_id | 
Mapeado diretamente a partir do campo gid no registo não processado, convertido em string. | 
groupname | 
target.group.group_display_name | 
Mapeado diretamente a partir do campo groupname no registo não processado. | 
host | 
principal.hostname | 
Mapeado diretamente a partir do campo host no registo não processado. | 
ipaddr | 
principal.ip | 
Mapeado diretamente a partir do campo ipaddr no registo não processado. | 
is_dir | 
additional.fields.value.string_value (em que a chave é is_dir) | 
Mapeado diretamente a partir do campo is_dir no registo não processado, convertido em string. Adicionado como um campo adicional. | 
msg | 
metadata.description | 
Preenchido quando o campo msg existe, não é JSON e ipaddr e prin_port não são extraídos do mesmo. Também usado para eventos STATUS_UPDATE. | 
newpath | 
additional.fields.value.string_value (em que a chave é newpath) | 
Mapeado diretamente a partir do campo newpath no registo não processado. Adicionado como um campo adicional. | 
offset | 
additional.fields.value.string_value (em que a chave é offset) | 
Mapeado diretamente a partir do campo offset no registo não processado, convertido em string. Adicionado como um campo adicional. | 
path | 
target.file.full_path | 
Mapeado diretamente a partir do campo path no registo não processado. | 
pid | 
target.process.pid | 
Mapeado diretamente a partir do campo pid no registo não processado, convertido em string. | 
prin_port | 
principal.port | 
Extraído do campo msg através do grok quando msg não é JSON, convertido em número inteiro. | 
proc_id | 
principal.process.pid | 
Mapeado diretamente a partir do campo proc_id no registo não processado. | 
product_log_id | 
metadata.product_log_id | 
Mapeado diretamente a partir do campo product_log_id no registo não processado. | 
proto | 
metadata.description | 
Mapeado diretamente a partir do campo proto no registo não processado. | 
resource | 
target.resource.resource_subtype | 
Mapeado diretamente a partir do campo resource no registo não processado. | 
sequence | 
additional.fields.value.string_value (em que a chave é sequence) | 
Mapeado diretamente a partir do campo sequence no registo não processado, convertido em string. Adicionado como um campo adicional. | 
sid | 
principal.user.windows_sid | 
Mapeado diretamente a partir do campo sid no registo não processado. | 
tid | 
target.resource.product_object_id | 
Mapeado diretamente a partir do campo tid no registo não processado, convertido em string. | 
time | 
metadata.event_timestamp.seconds, timestamp.seconds | 
A parte dos segundos da indicação de tempo é extraída do campo time e usada para preencher metadata.event_timestamp e timestamp de nível superior. Determinado pela 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. Codificado para NASUNI_FILE_SERVICES. Codificado para Nasuni File Services Platform. Codificado para Nasuni. | 
uid | 
additional.fields.value.string_value (em que a chave é uid) | 
Mapeado diretamente a partir do campo uid no registo não processado, convertido em string. Adicionado como um campo adicional. | 
username | 
principal.user.user_display_name | 
Mapeado diretamente a partir do campo username no registo não processado. | 
volume | 
additional.fields.value.string_value (em que a chave é volume) | 
Mapeado diretamente a partir do campo volume no registo não processado. Adicionado como um campo adicional. | 
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.