Coletar registros do Dell EMC Data Domain

Compatível com:

Este documento explica como ingerir registros do Dell EMC Data Domain no Google Security Operations usando o Bindplane. O código do analisador do Logstash primeiro extrai os campos principais dos registros brutos do DELL_EMC_DATA_DOMAIN usando padrões grok com base no formato da mensagem de registro. Em seguida, ele mapeia os campos extraídos para os campos correspondentes no esquema do modelo de dados unificado (UDM), enriquecendo os dados com contexto adicional, como tipo de evento e resultado de segurança.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Instância do Google SecOps
  • Windows 2016 ou mais recente ou um host Linux com systemd
  • Se estiver executando por trás de um proxy, as portas de firewall estarão abertas
  • Acesso privilegiado ao Dell EMC Data Domain

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 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 de cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

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

Para outras opções de instalação, consulte o guia de instalação.

Configurar o agente do 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 Bloco de Notas).
  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_file_path: '/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: 'DELL_EMC_DATA_DOMAIN'
                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 ingestão do Google SecOps.

Reiniciar o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane no Linux, execute este comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira este comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o Syslog para o Dell EMC Data Domain

  1. Faça login no Dell EMC Data Domain usando a CLI.
  2. Mostre a configuração atual:

    log host show
    
  3. Ative o envio de mensagens de registro para outros sistemas:

    log host enable
    
  4. Adicione o IP do agente do Bindplane ao syslog usando este comando. Substitua <bindplane-ip> pelo endereço IP real do agente do Bindplane.

    log host add <bindplane-ip>
    
  5. Adicione a porta do agente do Bindplane ao syslog usando este comando. Substitua <bindplane-port> pelo número da porta real do agente do Bindplane.

    log server-port set <bindplane-port>
    

Registros de amostra do Dell EMC Data Domain compatíveis

  • SYSLOG + KV

    <174>ddsh: {epoch=1649171401;id='AUDIT-DDSH-00001';desc='DDSH CLI command';level=3;user='dummy_user';role='se';app='ddsh';host='dd-host-1';detail='cmd=cifs show detailed-stats';}
    
  • SYSLOG

    <38>sshd[13244]: Accepted publickey for dd-admin from 192.0.2.1 port 57656 ssh2: RSA SHA256:+BWDxlMYuJgfC0LhzacEAUpFHlAZlNOYXAKKJ4SAipQ
    
    • JSON
    {
    "Timestamp": "2024-09-05T13:25:14Z",
    "EventName": "Participant left session",
    "EventType": "Session",
    "Username": "user_9999",
    "EventDetails": [
      {
        "OldValue": "",
        "NewValue": "1352719861",
        "PolicyEnforcementNewValue": null,
        "PolicyEnforcementOldValue": null,
        "PropertyName": "ID of affected participant",
        "PropertyCategory": "AffectedParticipant"
      },
      {
        "OldValue": "",
        "NewValue": "User Name 1",
        "PolicyEnforcementNewValue": null,
        "PolicyEnforcementOldValue": null,
        "PropertyName": "Name of affected participant",
        "PropertyCategory": "AffectedParticipant"
      }
    ],
    "Computer": "HOST-PC-400",
    "EventId": 35139395
    }
    
  • SYSLOG + XML

    <21>1 2024-08-01T12:31:40.791267+02:00 VEEM-HOST-01 Veeam_ONE_Server 7172 - [origin enterpriseId="31023"] Operation:"SendEmail" Email has been sent Data:<data><recipient>recipient@example.com</recipient><subject>VM resetting Information for Virtual Machine &quot;VM_RESTORED_2024&quot;</subject></data>
    

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
app read_only_udm.target.application O valor é extraído do campo "app" pelo primeiro analisador grok.
cmd read_only_udm.target.process.command_line O valor é extraído do campo "cmd" pelo primeiro analisador grok ou do campo "detail" se o campo "cmd" estiver vazio.
desc read_only_udm.metadata.description O valor é extraído do campo "desc" pelo primeiro analisador grok.
epoch read_only_udm.metadata.event_timestamp.seconds O valor é extraído do campo "epoch" e convertido em um carimbo de data/hora usando o filtro "date".
host read_only_udm.principal.hostname O valor é extraído do campo "host" pelo primeiro analisador grok.
id read_only_udm.metadata.product_event_type O valor é extraído do campo "id" pelo primeiro analisador grok.
pid read_only_udm.target.process.pid O valor é extraído do campo "pid" pelo primeiro analisador grok.
reason read_only_udm.security_result.description O valor é extraído do campo "reason" pelo primeiro analisador grok.
role read_only_udm.principal.user.attribute.roles.name O valor é extraído do campo "role" pelo primeiro analisador grok.
session_id read_only_udm.network.session_id O valor é extraído do campo "session_id" pelo primeiro analisador grok.
src_ip read_only_udm.principal.ip O valor é extraído do campo "src_ip" pelo segundo analisador grok.
src_port read_only_udm.principal.port O valor é extraído do campo "src_port" pelo segundo analisador grok e convertido em um número inteiro.
timestamp.nanos read_only_udm.metadata.event_timestamp.nanos O valor é extraído do campo "timestamp.nanos" do registro bruto.
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds O valor é extraído do campo "timestamp.seconds" do registro bruto.
user read_only_udm.target.user.userid O valor é extraído do campo "user" pelo primeiro ou segundo analisador grok.
read_only_udm.extensions.auth.mechanism O valor é definido como "USERNAME_PASSWORD" se o campo "desc" corresponder a padrões específicos relacionados a eventos de login ou logout do usuário.
read_only_udm.metadata.event_type O valor é determinado por uma série de instruções condicionais com base nos valores de outros campos, principalmente "desc", "src_ip" e "host".
read_only_udm.metadata.log_type Codificado como "DELL_EMC_DATA_DOMAIN".
read_only_udm.metadata.product_name Codificado como "DELL_EMC_DATA_DOMAIN".
read_only_udm.metadata.vendor_name Codificado como "DELL".
read_only_udm.network.http.method O valor é extraído do campo "method" pelo filtro KV.
read_only_udm.network.http.response_code O valor é extraído do campo "response_code" pelo filtro KV e convertido em um número inteiro.
read_only_udm.network.ip_protocol O valor é derivado do campo "protocol_number_src" usando uma tabela de consulta e a configuração "parse_ip_protocol.include".
read_only_udm.security_result.severity O valor é definido como "MEDIUM" se o campo "message" contiver a string "NOTICE".
read_only_udm.target.file.sha256 O valor é extraído do campo "sha256" pelo segundo analisador grok, convertido em letras minúsculas e validado como uma string hexadecimal.
read_only_udm.target.process.file.full_path O valor é extraído do campo "path" ou "file", dependendo de qual não está vazio.
read_only_udm.target.url O valor é extraído do campo "uri" pelo filtro KV.

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