Coletar registros da plataforma de serviços de arquivos da Nasuni

Compatível com:

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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. 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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. 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

Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. 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.
    2. Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Notepad).
  2. 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
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID real do cliente.

  5. 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

  1. Faça login na UI da Web do console da Nasuni.
  2. Acesse Configurações do console > Exportações de syslog.
  3. 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.
  4. 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 para additional.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 adicionado
  • application foi mapeado para target.application.
  • prin_port foi mapeado para principal.port.
  • host foi mapeado para principal.hostname.
  • proc_id foi mapeado para principal.process.pid.

2022-07-07

  • Parser recém-criado.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.