Recolha registos do NetApp ONTAP

Compatível com:

Este documento descreve como pode recolher os registos do NetApp ONTAP através do Syslog. O analisador extrai campos de mensagens syslog através de expressões regulares. Em seguida, mapeia os campos extraídos para os campos correspondentes do UDM (modelo de dados unificado), convertendo eficazmente os dados de registo não processados num formato estruturado para análise de segurança.

Antes de começar

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

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o agente do Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 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

Configure o agente BindPlane para carregar o Syslog e enviá-lo para o Google SecOps

  1. 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, vi ou Bloco de notas).
  2. Edite o ficheiro 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 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

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

    sudo systemctl restart bindplane-agent
    
  • No Windows, para reiniciar o agente Bindplane, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure um destino Syslog no ONTAP

  1. Aceda ao cluster ONTAP através de SSH e substitua <ontap-cluster-ip> pelo IP de gestão do seu cluster ONTAP:

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

    event filter show
    event notification show
    
  3. Crie um destino Syslog, substitua <syslog-server-ip> e <syslog-server-port> pelos detalhes do seu 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 (predefinição)
    • tcp-unencrypted
    • tcp-encrypted (para TLS).
  5. Valide o destino do Syslog:

    event notification destination show
    

Configure filtros de eventos existentes

  • Associe filtros predefinidos 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: crie e configure filtros personalizados

  1. Filtro de eventos de autenticação (inícios/fins de sessão): capta registos em que a descrição corresponde a "A iniciar sessão" ou "A terminar sessão":

    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 deteção de segurança: capta registos relacionados com 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 registos baseado na gravidade: capta registos 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 registos 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 registos de destino de URL: capta registos 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 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. Validar notificações:

    event notification show
    

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
código Não mapeado
descrição metadata.description Extraído da mensagem de registo através de um padrão grok. Presente apenas quando a descrição é "A terminar sessão" ou "A iniciar sessão".
intermediary_host intermediary.hostname Extraído da mensagem de registo através de um padrão grok.
nmsdk_language security_result.detection_fields.value Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_language".
nmsdk_platform security_result.detection_fields.value Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_platform".
nmsdk_version security_result.detection_fields.value Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "chave" = "nmsdk_version".
netapp_version security_result.detection_fields.value Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "chave" = "netapp_version".
product_event_type metadata.product_event_type Extraído da mensagem de registo através de um padrão grok.
security_result.summary security_result.summary Extraído da mensagem de registo através de um padrão grok.
gravidade security_result.severity Definido como "INFORMATIONAL" se a gravidade for "info" (sem distinção entre maiúsculas e minúsculas).
src_ip principal.ip Extraído da mensagem de registo através de um padrão grok.
src_port principal.port Extraído da mensagem de registo através de um padrão grok.
estado security_result.summary Extraído da mensagem de registo através de um padrão grok.
ts metadata.event_timestamp.seconds Extraído da mensagem de registo através de um padrão grok e convertido num registo de data/hora.
url target.url Extraído da mensagem de registo através de um padrão grok.
utilizador target.user.userid Extraído da mensagem de registo através de um padrão grok.
extensions.auth.type Definido como "AUTHTYPE_UNSPECIFIED" se a descrição for "A terminar sessão" ou "A iniciar sessão".
metadata.event_type Definido como "USER_LOGIN" se a descrição for "A iniciar sessão".
metadata.event_type Definido como "USER_LOGOUT" se a descrição for "A terminar sessão".
metadata.event_type Defina como "SCAN_UNCATEGORIZED" se a descrição não for "A iniciar sessão" ou "A terminar sessão".
metadata.log_type Definido como "NETAPP_ONTAP".
metadata.product_name Definido como "NETAPP_ONTAP".
metadata.vendor_name Definido como "NETAPP_ONTAP".
target.platform Definido como "WINDOWS" se nmsdk_platform contiver "windows" (sem distinção entre maiúsculas e minúsculas).

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