Coletar registros do NetApp ONTAP

Compatível com:

Este documento descreve como coletar os registros do NetApp ONTAP pelo 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 modelo de dados unificado (UDM, na sigla em inglês), 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.
  • 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 administrativo ao cluster 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. 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 BindPlane para ingerir o Syslog e enviar ao Google SecOps

  1. 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).
  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 de 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 o arquivo de autenticação de transferência do Google SecOps.

Reinicie o agente BindPlane para aplicar as mudanças.

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

    sudo systemctl restart bindplane-agent
    
  • No Windows, para reiniciar o agente BindPlane, use o console Services ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar um destino do 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, substituindo <syslog-server-ip> e <syslog-server-port> pelos detalhes do servidor do 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
    • Criptografado por TCP (para TLS).
  5. Verifique o destino do Syslog:

    event notification destination show
    

Configurar filtros de eventos

  • Vincule os filtros padrão ao destino do 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 "Fazer login" ou "Fazer 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 do 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. Verifique as 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ídos da mensagem de registro usando um padrão grok. Aparecer somente quando a descrição for "Sair" ou "Fazer login".
intermediary_host intermediary.hostname Extraídos da mensagem de registro usando um padrão grok.
nmsdk_language security_result.detection_fields.value Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_language".
nmsdk_platform security_result.detection_fields.value Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_platform".
nmsdk_version security_result.detection_fields.value Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_version".
netapp_version security_result.detection_fields.value Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "netapp_version".
product_event_type metadata.product_event_type Extraídos da mensagem de registro usando um padrão grok.
security_result.summary security_result.summary Extraídos da mensagem de registro usando um padrão grok.
gravidade, security_result.severity Defina como "INFORMATIONAL" se a gravidade for "info" (sem distinção entre maiúsculas e minúsculas).
src_ip principal.ip Extraídos da mensagem de registro usando um padrão grok.
src_port principal.port Extraídos da mensagem de registro usando um padrão grok.
status security_result.summary Extraídos da mensagem de registro usando um padrão grok.
ts metadata.event_timestamp.seconds Extraídos da mensagem de registro usando um padrão grok e convertidos em um carimbo de data/hora.
url target.url Extraídos da mensagem de registro usando um padrão grok.
usuário target.user.userid Extraídos da mensagem de registro usando um padrão grok.
extensions.auth.type Defina como "AUTHTYPE_UNSPECIFIED" se a descrição for "Sair" ou "Fazer login".
metadata.event_type Defina como "USER_LOGIN" se a descrição for "Logging in".
metadata.event_type Defina como "USER_LOGOUT" se a descrição for "Logging out".
metadata.event_type Defina como "SCAN_UNCATEGORIZED" se a descrição não for "Fazer login" ou "Fazer 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 distinção entre maiúsculas e minúsculas).

Alterações

2023-04-03

  • Parser recém-criado.