Coletar registros do NetApp ONTAP

Compatível com:

Este documento descreve como coletar os registros do NetApp ONTAP usando o Syslog. O analisador extrai campos de mensagens do syslog usando expressões regulares. Em seguida, ele mapeia os campos extraídos para os campos correspondentes do UDM (Modelo de Dados Unificado), convertendo os dados de registro brutos em um formato estruturado para análise de segurança.

Antes de começar

  • Verifique se você tem uma instância do Google Security Operations.
  • 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 administrativo ao cluster do NetApp ONTAP.
  • Verifique se o ONTAP pode se comunicar com o servidor Syslog (Bindplane).

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. Baixe o arquivo de autenticação de ingestão. Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.

Receber o ID do 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 root 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 ingerir Syslog e enviar ao Google SecOps

  1. 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).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
        udplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: netapp_ontap
            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 do cliente real.

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

  • No Linux, para reiniciar o agente do Bindplane, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • No Windows, para reiniciar o Bindplane Agent, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar um destino Syslog no ONTAP

  1. Acesse o cluster do ONTAP usando SSH e substitua <ontap-cluster-ip> pelo IP de gerenciamento do cluster do ONTAP:

    ssh admin@<ontap-cluster-ip>
    
  2. Verifique os filtros e notificações de eventos existentes:

    event filter show
    event notification show
    
  3. Crie um destino do Syslog, substitua <syslog-server-ip> e <syslog-server-port> pelos detalhes do servidor Syslog (Bindplane):

    event notification destination create -name syslog-ems -syslog <syslog-server-ip> -syslog-port <syslog-server-port> -syslog-transport udp-unencrypted
    
  4. Outras opções para -syslog-transport:

    • udp-unencrypted (padrão)
    • tcp-unencrypted
    • tcp-encrypted (para TLS).
  5. Verifique o Destino do Syslog:

    event notification destination show
    

Configurar filtros de eventos atuais

  • Vincule os filtros padrão ao destino Syslog:

    event notification create -filter-name no-info-debug-events -destinations syslog-ems
    event notification create -filter-name default-trap-events -destinations syslog-ems
    

Opcional: criar e configurar filtros personalizados

  1. Filtro de eventos de autenticação (logins/logouts): captura registros em que a descrição corresponde a "Fazendo login" ou "Fazendo logout":

    event filter create -filter-name auth_events
    event filter rule add -filter-name auth_events -type include -message-name *login* -severity info
    event filter rule add -filter-name auth_events -type include -message-name *logout* -severity info
    
  2. Filtro de campos de detecção de segurança: captura registros relacionados a nmsdk_language, nmsdk_platform, nmsdk_version e netapp_version:

    event filter create -filter-name security_fields
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_language* -severity info
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_platform* -severity info
    event filter rule add -filter-name security_fields -type include -message-name *nmsdk_version* -severity info
    event filter rule add -filter-name security_fields -type include -message-name *netapp_version* -severity info
    
  3. Filtro de registros com base na gravidade: captura registros em que a gravidade é informativa:

    event filter create -filter-name severity_info
    event filter rule add -filter-name severity_info -type include -message-name * -severity info
    
  4. Filtro de atividade de rede: captura registros com src_ip e src_port:

    event filter create -filter-name network_activity
    event filter rule add -filter-name network_activity -type include -message-name *src_ip* -severity info
    event filter rule add -filter-name network_activity -type include -message-name *src_port* -severity info
    
  5. Filtro de registros de destino de URL: captura registros com informações de URL:

    event filter create -filter-name url_target
    event filter rule add -filter-name url_target -type include -message-name *url* -severity info
    
  6. Aplique cada filtro ao destino do Syslog:

    event notification create -filter-name auth_events -destinations syslog-ems
    event notification create -filter-name security_fields -destinations syslog-ems
    event notification create -filter-name severity_info -destinations syslog-ems
    event notification create -filter-name network_activity -destinations syslog-ems
    event notification create -filter-name url_target -destinations syslog-ems
    
  7. Verificar notificações:

    event notification show
    

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
código Não mapeado
description metadata.description Extraído da mensagem de registro usando um padrão grok. Presente apenas quando a descrição é "Saindo" ou "Fazendo login".
intermediary_host intermediary.hostname Extraído da mensagem de registro usando um padrão grok.
nmsdk_language security_result.detection_fields.value Extraído da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "value" a um objeto detection_fields com "key" = "nmsdk_language".
nmsdk_platform security_result.detection_fields.value Extraído da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "value" a um objeto "detection_fields" com "key" = "nmsdk_platform".
nmsdk_version security_result.detection_fields.value Extraído da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "value" a um objeto detection_fields com "key" = "nmsdk_version".
netapp_version security_result.detection_fields.value Extraído da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "value" a um objeto "detection_fields" com "key" = "netapp_version".
product_event_type metadata.product_event_type Extraído da mensagem de registro usando um padrão grok.
security_result.summary security_result.summary Extraído da mensagem de registro usando um padrão grok.
gravidade, security_result.severity Definido como "INFORMATIONAL" se a gravidade for "info" (não diferencia maiúsculas de minúsculas).
src_ip principal.ip Extraído da mensagem de registro usando um padrão grok.
src_port principal.port Extraído da mensagem de registro usando um padrão grok.
status security_result.summary Extraído da mensagem de registro usando um padrão grok.
ts metadata.event_timestamp.seconds Extraído da mensagem de registro usando um padrão grok e convertido em um carimbo de data/hora.
url target.url Extraído da mensagem de registro usando um padrão grok.
usuário target.user.userid Extraído da mensagem de registro usando um padrão grok.
extensions.auth.type Definido como "AUTHTYPE_UNSPECIFIED" se a descrição for "Saindo" ou "Fazendo login".
metadata.event_type Definido como "USER_LOGIN" se a descrição for "Fazendo login".
metadata.event_type Definido como "USER_LOGOUT" se a descrição for "Sair".
metadata.event_type Definido como "SCAN_UNCATEGORIZED" se a descrição não for "Fazendo login" ou "Fazendo logout".
metadata.log_type Defina como "NETAPP_ONTAP".
metadata.product_name Defina como "NETAPP_ONTAP".
metadata.vendor_name Defina como "NETAPP_ONTAP".
target.platform Defina como "WINDOWS" se nmsdk_platform contiver "windows" (sem diferenciação de maiúsculas e minúsculas).

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