Recolha registos do LAPS da Microsoft
Este documento explica como introduzir os registos do LAPS (Local Administrator Password Solution) da Microsoft no Google Security Operations através do Bindplane. O analisador extrai primeiro os dados formatados em JSON do campo message
e, em seguida, analisa o campo EventData
no JSON extraído. Em seguida, mapeia os campos extraídos para o esquema do modelo de dados unificado (UDM), categoriza o tipo de evento com base no EventId
e, finalmente, une todos os dados processados no evento de saída.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps
- Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
- Acesso privilegiado a um Microsoft Windows Server com LAPS
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Recursos de instalação adicionais
Para ver opções de instalação adicionais, consulte o guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
- Aceda ao ficheiro de configuração:
- Localize o ficheiro
config.yaml
. Normalmente, encontra-se no diretório de instalação no Windows. - Abra o ficheiro com um editor de texto (por exemplo, o Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
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 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
Para reiniciar o agente do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configure o LAPS do Microsoft Windows
- Escreva
eventvwr.msc
numa linha de comandos elevada e prima ENTER para abrir o Event Viewer. - Aceda a Registos de aplicações e serviços > Microsoft > Windows > LAPS.
- Expanda VOLTAS.
- Clique com o botão direito do rato em LAPS e, de seguida, clique em Propriedades.
- Selecione a caixa de verificação Ativar registo.
- Clique em OK quando lhe for perguntado se o registo está ativado.
- Clique em OK.
Tabela de mapeamento do UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
Canal | read_only_udm.additional.fields.key | O valor é retirado do campo Channel no registo não processado e atribuído ao campo key . |
Canal | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo Channel no registo não processado e atribuído ao campo string_value . |
Computador | read_only_udm.principal.hostname | O valor é retirado do campo Computer no registo não processado. |
Computador | read_only_udm.principal.asset.hostname | O valor é retirado do campo Computer no registo não processado. |
EventData.%1 | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo EventData.%1 no registo não processado e atribuído ao campo string_value . |
EventId | read_only_udm.metadata.product_event_type | O valor é retirado do campo EventId no registo não processado. |
EventId | read_only_udm.security_result.rule_name | O valor é retirado do campo EventId no registo não processado e anexado a EventID: . |
EventRecordID | read_only_udm.metadata.product_log_id | O valor é retirado do campo EventRecordID no registo não processado. |
Keywords | read_only_udm.additional.fields.key | O valor é retirado do campo Keywords no registo não processado e atribuído ao campo key . |
Keywords | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo Keywords no registo não processado e atribuído ao campo string_value . |
Nível | read_only_udm.security_result.severity | O valor é retirado do campo Level no registo não processado e mapeado para: INFORMATIONAL para INFO , Informational , Information , Normal e NOTICE ; ERROR para ERROR e Error ; CRITICAL para Critical . |
Código de operação | read_only_udm.additional.fields.key | O valor é retirado do campo Opcode no registo não processado e atribuído ao campo key . |
Código de operação | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo Opcode no registo não processado e atribuído ao campo string_value . |
ProcessID | read_only_udm.principal.process.pid | O valor é retirado do campo ProcessID no registo não processado. |
ProviderName | read_only_udm.metadata.product_name | O valor é retirado do campo ProviderName no registo não processado. |
Tarefa | read_only_udm.additional.fields.key | O valor é retirado do campo Task no registo não processado e atribuído ao campo key . |
Tarefa | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo Task no registo não processado e atribuído ao campo string_value . |
ThreadID | read_only_udm.additional.fields.key | O valor é retirado do campo ThreadID no registo não processado e atribuído ao campo key . |
ThreadID | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo ThreadID no registo não processado e atribuído ao campo string_value . |
TimeCreated | read_only_udm.metadata.event_timestamp | O valor é retirado do campo TimeCreated no registo não processado, analisado como data/hora UNIX_MS. |
TimeCreated | events.timestamp | O valor é retirado do campo TimeCreated no registo não processado, analisado como data/hora UNIX_MS. |
Versão | read_only_udm.additional.fields.key | O valor é retirado do campo Version no registo não processado e atribuído ao campo key . |
Versão | read_only_udm.additional.fields.value.string_value | O valor é retirado do campo Version no registo não processado e atribuído ao campo string_value . |
read_only_udm.additional.fields.key | Foi atribuído o valor EventData_P1 . |
|
read_only_udm.metadata.event_type | Condicionalmente atribuído STATUS_UNCATEGORIZED se EventId for 7 ou 2 . Caso contrário, GENERIC_EVENT . |
|
read_only_udm.metadata.vendor_name | Foi atribuído o valor Microsoft . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.