Coletar registros do Microsoft LAPS

Compatível com:

Este documento explica como ingerir os registros do Microsoft LAPS (Local Administrator Password Solution) no Google Security Operations usando o Bindplane. Primeiro, o analisador extrai dados formatados em JSON do campo message e, em seguida, analisa o campo EventData no JSON extraído. Em seguida, ele mapeia os campos extraídos para o esquema do modelo de dados unificado (UDM, na sigla em inglês), categoriza o tipo de evento com base no EventId e, por fim, mescla todos os dados processados no evento de saída.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google SecOps
  • se estiver sendo executado por trás de um proxy, as portas do firewall estarão abertas
  • Acesso privilegiado a um Microsoft Windows Server com LAPS

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 de forma segura no sistema em que o 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
    

Outros recursos de instalação

Para mais 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 fica no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto, como o Bloco de Notas.
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
      windowseventlog/laps_operational:
        channel: Microsoft-Windows-LAPS/Operational
        max_reads: 100
        poll_interval: 5s
        raw: true
        start_at: end
    
    processors:
      batch:
    
    exporters:
      chronicle/laps:
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            log_type: 'WINDOWS_LAPS'
            override_log_type: false
            raw_log_field: body
    
    service:
      pipelines:
        logs/laps:
          receivers:
          - windowseventlog/laps_operational
          processors: [batch]
          exporters: [chronicle/laps]
    
  3. Substitua <customer_id> pelo ID de cliente real.

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

  • Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o LAPS do Microsoft Windows

  1. Digite eventvwr.msc em um prompt de comando elevado e pressione ENTER para abrir o Visualizador de eventos.
  2. Acesse Logs de aplicativos e serviços > Microsoft > Windows > LAPS.
  3. Expanda LAPS.
  4. Clique com o botão direito do mouse em LAPS e clique em Propriedades.
  5. Marque a caixa de seleção Ativar geração de registros.
  6. Clique em OK quando perguntado se o registro está ativado.
  7. Clique em OK.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
Canal read_only_udm.additional.fields.key O valor é extraído do campo Channel no registro bruto e atribuído ao campo key.
Canal read_only_udm.additional.fields.value.string_value O valor é extraído do campo Channel no registro bruto e atribuído ao campo string_value.
Computador read_only_udm.principal.hostname O valor é extraído do campo Computer no registro bruto.
Computador read_only_udm.principal.asset.hostname O valor é extraído do campo Computer no registro bruto.
EventData.%1 read_only_udm.additional.fields.value.string_value O valor é extraído do campo EventData.%1 no registro bruto e atribuído ao campo string_value.
EventId read_only_udm.metadata.product_event_type O valor é extraído do campo EventId no registro bruto.
EventId read_only_udm.security_result.rule_name O valor é extraído do campo EventId no registro bruto e anexado a EventID:.
EventRecordID read_only_udm.metadata.product_log_id O valor é extraído do campo EventRecordID no registro bruto.
Palavras-chave read_only_udm.additional.fields.key O valor é extraído do campo Keywords no registro bruto e atribuído ao campo key.
Palavras-chave read_only_udm.additional.fields.value.string_value O valor é extraído do campo Keywords no registro bruto e atribuído ao campo string_value.
Nível read_only_udm.security_result.severity O valor é extraído do campo Level no registro bruto e mapeado para: INFORMATIONAL para INFO, Informational, Information, Normal, NOTICE; ERROR para ERROR, Error; CRITICAL para Critical.
Opcode read_only_udm.additional.fields.key O valor é extraído do campo Opcode no registro bruto e atribuído ao campo key.
Opcode read_only_udm.additional.fields.value.string_value O valor é extraído do campo Opcode no registro bruto e atribuído ao campo string_value.
ProcessID read_only_udm.principal.process.pid O valor é extraído do campo ProcessID no registro bruto.
ProviderName read_only_udm.metadata.product_name O valor é extraído do campo ProviderName no registro bruto.
Tarefa read_only_udm.additional.fields.key O valor é extraído do campo Task no registro bruto e atribuído ao campo key.
Tarefa read_only_udm.additional.fields.value.string_value O valor é extraído do campo Task no registro bruto e atribuído ao campo string_value.
ThreadID read_only_udm.additional.fields.key O valor é extraído do campo ThreadID no registro bruto e atribuído ao campo key.
ThreadID read_only_udm.additional.fields.value.string_value O valor é extraído do campo ThreadID no registro bruto e atribuído ao campo string_value.
TimeCreated read_only_udm.metadata.event_timestamp O valor é extraído do campo TimeCreated no registro bruto e analisado como um carimbo de data/hora UNIX_MS.
TimeCreated events.timestamp O valor é extraído do campo TimeCreated no registro bruto e analisado como um carimbo de data/hora UNIX_MS.
Versão read_only_udm.additional.fields.key O valor é extraído do campo Version no registro bruto e atribuído ao campo key.
Versão read_only_udm.additional.fields.value.string_value O valor é extraído do campo Version no registro bruto e atribuído ao campo string_value.
read_only_udm.additional.fields.key Atribuiu o valor EventData_P1.
read_only_udm.metadata.event_type Atribuído condicionalmente STATUS_UNCATEGORIZED se EventId for 7 ou 2, caso contrário, GENERIC_EVENT.
read_only_udm.metadata.vendor_name Atribuiu o valor Microsoft.

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