Coletar registros do Microsoft LAPS
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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- 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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
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
- 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.
- Localize o arquivo
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]
Substitua
<customer_id>
pelo ID de cliente real.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
- Digite
eventvwr.msc
em um prompt de comando elevado e pressione ENTER para abrir o Visualizador de eventos. - Acesse Logs de aplicativos e serviços > Microsoft > Windows > LAPS.
- Expanda LAPS.
- Clique com o botão direito do mouse em LAPS e clique em Propriedades.
- Marque a caixa de seleção Ativar geração de registros.
- Clique em OK quando perguntado se o registro está ativado.
- 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.