Coletar registros da plataforma de serviços de arquivos da Nasuni
Neste documento, explicamos como transferir os registros da plataforma Nasuni File Services para o Google Security Operations usando um agente do Bindplane. O analisador extrai campos dos registros SYSLOG e JSON. Ele usa padrões grok para analisar a mensagem inicial e, em seguida, aproveita um filtro JSON para dados JSON incorporados, mapeando campos extraídos para o UDM, processando vários tipos de eventos, como leituras de arquivos, modificações e eventos genéricos, e enriquecendo os dados com informações do fornecedor e do produto. Ele também executa a lógica condicional com base nos campos extraídos para categorizar eventos e preencher os metadados do UDM.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado ao CTD do Claroty.
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.
- Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança no sistema em que o BindPlane será instalado.
Receber o ID de 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 raiz 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 processar o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele está 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 Notepad).
- 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 real do cliente.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber o arquivo de autenticação de transferência 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 Services ou digite o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog na plataforma do Nasuni File Service
- Faça login na UI da Web do console da Nasuni.
- Acesse Configurações do console > Exportações de syslog.
- Insira os seguintes detalhes de configuração na seção "Rede":
- Nome do host: insira um nome exclusivo e significativo (por exemplo, Google SecOps syslog).
- Endereço IP: insira o endereço IP do Bindplane.
- Porta: digite 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, 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 (chave is_dir ) |
Mapeado diretamente do campo is_dir no registro bruto, 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 (chave newpath ) |
Mapeado diretamente do campo newpath no registro bruto. Adicionado como um campo extra. |
offset |
additional.fields.value.string_value (chave offset ) |
Mapeado diretamente do campo offset no registro bruto, 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, convertido em string. |
prin_port |
principal.port |
Extraídos 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 (chave sequence ) |
Mapeado diretamente do campo sequence no registro bruto, 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, 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 o timestamp de nível superior. Determinado por 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 em NASUNI_FILE_SERVICES . Fixado em Nasuni File Services Platform . Fixado em Nasuni . |
uid |
additional.fields.value.string_value (chave uid ) |
Mapeado diretamente do campo uid no registro bruto, 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 (chave volume ) |
Mapeado diretamente do campo volume no registro bruto. Adicionado como um campo extra. |
Alterações
21/08/2022
newpath
foi mapeado paraadditional.fields
.
2022-08-08
Melhoria:
- Um padrão Grok foi adicionado para processar novos registros SYSLOG.
- Foi adicionada uma verificação condicional para
event_type
FILE_UNCATEGORIZED
. event_type
STATUS_UPDATE
adicionadoapplication
foi mapeado paratarget.application
.prin_port
foi mapeado paraprincipal.port
.host
foi mapeado paraprincipal.hostname
.proc_id
foi mapeado paraprincipal.process.pid
.
2022-07-07
- Parser recém-criado.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.