Recolha registos do Nutanix Prism

Compatível com:

Vista geral

Este analisador processa registos do Nutanix Prism, processando formatos JSON e syslog. Extrai campos de várias estruturas de registos, normaliza-os no UDM e enriquece os dados com contexto adicional, como informações do utilizador, detalhes da rede e gravidade da segurança. O analisador também realiza ações específicas com base no método HTTP e no nível do registo, categorizando os eventos em tipos de eventos do UDM, como USER_LOGIN, STATUS_UPDATE e GENERIC_EVENT.

Antes de começar

  • Certifique-se de que tem uma instância do Google SecOps.
  • Certifique-se de que tem acesso privilegiado ao Nutanix Prism Central.
  • Certifique-se de que tem um anfitrião Windows 2012 SP2 ou posterior, ou 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.

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.

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

  1. Para a instalação do Windows, execute o seguinte script: msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Para a instalação do Linux, execute o seguinte script: sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Pode encontrar opções de instalação adicionais neste guia de instalação.

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

  1. Aceda à máquina onde o agente Bindplane está instalado.
  2. Edite o ficheiro config.yaml da seguinte forma:

    receivers:
      tcplog:
        # 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: Namespace
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicie o agente do Bindplane para aplicar as alterações através do seguinte comando: sudo systemctl bindplane restart

Exportar Syslog do Nutanix Prism

  1. Inicie sessão no Prism Central com uma conta privilegiada.
  2. Selecione Prism Central Settings no menu.
  3. Aceda ao servidor Syslog.
  4. Clique em + Configurar servidor Syslog.
  5. Especifique valores para os parâmetros de entrada na caixa de diálogo Servidores Syslog:
    • Nome do servidor: introduza um nome para o servidor (por exemplo, Google SecOps Bindplane Server)
    • Endereço IP: introduza o IP do seu agente Bindplane.
    • Porta: introduza a porta na qual o agente Bindplane está a ouvir.
    • Protocolo de transporte: selecione TCP.
    • Clique em Configurar.
  6. Clique em + Editar na opção Origens de dados.
  7. Especifique os valores dos parâmetros de entrada na caixa de diálogo Origens de dados e respetivo nível de gravidade:
    • Selecione Auditoria de API, Auditoria e Fluxo.
    • Defina o nível de gravidade de cada um como 6 – Informativo.
    • Clique em Guardar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
@timestamp metadata.event_timestamp A data/hora do evento é analisada a partir do campo @timestamp. Os formatos yyyy-MM-dd HH:mm:ss.SSS, yyyy-MM-ddTHH:mm:ssZ e ISO8601 são suportados.
agent.id observer.asset_id Combinado com agent.type para formar o ID do recurso observador no formato "agent.type:agent.id".
agent.type observer.application A aplicação usada para observação.
agent.version observer.platform_version A versão da aplicação observadora.
alertUid security_result.detection_fields.value O valor do UID do alerta é mapeado para o campo value em detection_fields. O key está definido como "Alert Uid".
api_version metadata.product_version A versão da API.
clientIp principal.ip, principal.asset.ip Endereço IP do cliente.
client_type principal.labels.value O valor do tipo de cliente. O key está definido como "client_type".
defaultMsg metadata.description A mensagem predefinida.
entity_uuid metadata.product_log_id UUID da entidade.
http_method network.http.method O método HTTP. Convertido em maiúsculas.
host.architecture principal.asset.hardware.cpu_platform A arquitetura do anfitrião.
host.id principal.asset_id Com o prefixo "NUTANIX:" para criar o ID do recurso principal.
host.ip principal.ip, principal.asset.ip Endereço IP do anfitrião.
host.mac principal.mac Endereço MAC do anfitrião.
host.os.kernel principal.platform_patch_level A versão do kernel do sistema operativo anfitrião.
host.os.platform principal.platform A plataforma do sistema operativo anfitrião. Mapeado para LINUX, WINDOWS, MAC ou UNKNOWN_PLATFORM.
host.os.version principal.platform_version A versão do sistema operativo anfitrião.
input.type network.ip_protocol O protocolo de rede. Mapeado para "UDP" ou "TCP".
log.source.address principal.ip, principal.asset.ip, principal.port Analisado para extrair o IP e a porta de origem.
logstash.collect.host observer.ip O endereço IP do coletor do Logstash.
logstash.collect.timestamp metadata.collected_timestamp A data/hora em que o registo foi recolhido.
logstash.ingest.host intermediary.hostname O nome do anfitrião do servidor de carregamento do Logstash.
logstash.ingest.timestamp metadata.ingested_timestamp A data/hora em que o registo foi carregado.
logstash.irm_environment principal.labels.value O valor do ambiente irm. O key está definido como "irm_environment".
logstash.irm_region principal.labels.value O valor da região do IRM. O key está definido como "irm_region".
logstash.irm_site principal.labels.value O valor do site do IRM. O key está definido como "irm_site".
logstash.process.host intermediary.hostname O nome do anfitrião do servidor de processamento do Logstash.
operationType metadata.product_event_type O tipo de operação.
originatingClusterUuid additional.fields.value.string_value O UUID do cluster de origem. O key está definido como "Originating Cluster Uuid".
params.mac_address target.mac O endereço MAC dos parâmetros.
params.requested_ip_address target.ip, target.asset.ip O endereço IP pedido a partir dos parâmetros.
params.vm_name target.resource.name O nome da VM a partir dos parâmetros.
program metadata.product_event_type O nome do programa.
rest_endpoint target.url O ponto final REST.
sessionId additional.fields.value.string_value O ID da sessão. O key está definido como "ID da sessão".
syslog_host principal.hostname, principal.asset.hostname Anfitrião Syslog.
timestamp metadata.event_timestamp A data/hora do evento.
username principal.user.user_display_name ou principal.user.userid Nome de utilizador. Usado como ID do utilizador se http_method for "POST".
uuid metadata.product_log_id UUID.
N/A metadata.vendor_name Codificado como "Nutanix_Prism".
N/A metadata.product_name Codificado como "Nutanix_Prism".
N/A metadata.event_type Determinado pela lógica do analisador com base nos valores de has_principal, has_target, audit_log, network_set e http_method. Pode ser GENERIC_EVENT, USER_LOGIN, STATUS_UPDATE, USER_RESOURCE_ACCESS, RESOURCE_CREATION, USER_RESOURCE_UPDATE_CONTENT ou USER_RESOURCE_DELETION.
N/A metadata.log_type Codificado como "NUTANIX_PRISM".
N/A extensions.auth.type Defina como "AUTHTYPE_UNSPECIFIED" se metadata.event_type for USER_LOGIN.
N/A security_result.severity Determinado pela lógica do analisador com base em log_level e syslog_pri. Pode ser CRITICAL, ERROR, HIGH, MEDIUM ou INFORMATIONAL.

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