Coletar dados do Microsoft Windows Sysmon

Este documento:

  • descreve a arquitetura de implantação e as etapas de instalação, além de qualquer configuração necessária que produz registros compatíveis com o Chronicle Parser para eventos do Microsoft Windows Sysmon. Para uma visão geral da ingestão de dados do Chronicle, consulte Ingestão de dados do Chronicle.
  • inclui informações sobre como o analisador mapeia os campos no registro original para os campos do modelo de dados unificado do Chronicle.

As informações neste documento se aplicam ao analisador com o rótulo de ingestão WINDOWS_SYSMON. O rótulo de processamento identifica qual analisador normaliza os dados brutos de registro para o formato UDM estruturado.

Antes de começar

Este diagrama representa os principais componentes recomendados em uma arquitetura de implantação para coletar e enviar dados do Microsoft Windows Sysmon para o Chronicle. Compare essas informações com o ambiente para garantir que esses componentes estejam instalados. Cada implantação de cliente é diferente dessa representação e pode ser mais complexa. Os itens a seguir são obrigatórios:

  • Os sistemas na arquitetura de implantação são configurados com o fuso horário UTC.
  • O Sysmon é instalado em servidores, endpoints e controladores de domínio.
  • O servidor do coletor do Microsoft Windows recebe registros de servidores, endpoints e controladores de domínio.
  • Os sistemas Microsoft Windows na arquitetura de implantação usam:

    • Origem das assinaturas iniciadas para coletar eventos em vários dispositivos.
    • Serviço WinRM para gerenciamento remoto do sistema.
  • O NXLog está instalado no servidor do coletor de janelas para encaminhar registros ao encaminhador do Chronicle.

  • O encaminhador do Chronicle está instalado em um servidor central do Microsoft Windows ou do Linux.

    Arquitetura de implantação

Verifique os dispositivos e as versões compatíveis

O analisador Chronicle é compatível com registros gerados pelas seguintes versões do servidor Microsoft Microsoft. O Microsoft Windows Server foi lançado com as seguintes edições: Foundation, Essentials, Standard e Datacenter. O esquema de eventos dos registros gerados por edição não é diferente.

  • Microsoft Windows Server 2019
  • Microsoft Windows Server 2016
  • Microsoft Windows Server 2012

O analisador Chronicle é compatível com registros gerados por:

  • Microsoft Windows 7 e sistemas de clientes posteriores
  • Sysmon versão 13.24.

O analisador Chronicle é compatível com registros coletados pela NXLog Community ou Enterprise Edition.

Analisar os tipos de registro compatíveis

O analisador Chronicle é compatível com os seguintes tipos de registro gerados pelo Microsoft Windows Sysmon. Para mais informações sobre esses tipos de registro, consulte a documentação do Microsoft Windows Sysmon. Ele é compatível com registros gerados com textos em inglês e com registros gerados em outros idiomas.

Tipo de registro Descrição
Registros do Sysmon O canal Sysmon contém 27 IDs de eventos. (ID do evento: 1 a 26 e 255).
Para uma descrição desse tipo de registro, consulte a documentação de eventos do Microsoft Windows Sysmon (em inglês).

Configurar os servidores, endpoints e controladores de domínio do Microsoft Windows

  1. instalar e configurar os servidores, endpoints e controladores de domínio; Para mais informações, consulte a documentação de configuração do Microsoft Windows Sysmon (em inglês).
  2. Configurar um servidor do Microsoft Windows do coletor para analisar os registros coletados em vários sistemas.
  3. Configurar o servidor Microsoft Windows ou Linux central
  4. Configure todos os sistemas com o fuso horário UTC.
  5. Configure os dispositivos para encaminhar registros ao servidor Microsoft Windows do coletor.

Configurar o encaminhador NXLog e Chronicle

  1. Instale o NXLog no servidor do Microsoft Windows do coletor. Siga a documentação do NXLog, incluindo informações sobre como configurar o NXLog para coletar registros do Sysmon (em inglês).
  2. Crie um arquivo de configuração para o NXLog. Use o módulo de entrada im_msvistalog. Veja um exemplo de configuração do NXLog. Substitua os valores <hostname> e <port> pelas informações sobre o servidor central Microsoft Windows ou Linux. Para mais informações, consulte a documentação do NXLog sobre o módulo om_tcp (em inglês).

    define ROOT     C:\Program Files (x86)\nxlog
    define SYSMON_OUTPUT_DESTINATION_ADDRESS <hostname>
    define SYSMON_OUTPUT_DESTINATION_PORT <port>
    define CERTDIR  %ROOT%\cert
    define CONFDIR  %ROOT%\conf
    define LOGDIR   %ROOT%\data
    define LOGFILE  %LOGDIR%\nxlog.log
    LogFile %LOGFILE%
    
    Moduledir %ROOT%\modules
    CacheDir  %ROOT%\data
    Pidfile   %ROOT%\data\nxlog.pid
    SpoolDir  %ROOT%\data
    
    <Extension _json>
        Module      xm_json
    </Extension>
    
    <Input windows_sysmon_eventlog>
        Module  im_msvistalog
        <QueryXML>
            <QueryList>
                <Query Id="0">
                    <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select>
                </Query>
            </QueryList>
        </QueryXML>
        ReadFromLast  False
        SavePos  False
    </Input>
    
    <Output out_chronicle_sysmon>
        Module      om_tcp
        Host        %SYSMON_OUTPUT_DESTINATION_ADDRESS%
        Port        %SYSMON_OUTPUT_DESTINATION_PORT%
        Exec        $EventTime = integer($EventTime) / 1000;
        Exec        $EventReceivedTime = integer($EventReceivedTime) / 1000;
        Exec        to_json();
    </Output>
    
    <Route r2>
        Path    windows_sysmon_eventlog => out_chronicle_sysmon
    </Route>
    
  3. Instale o encaminhador Chronicle no servidor Microsoft Windows ou Linux. Consulte Como instalar e configurar o encaminhador no Linux ou Como instalar e configurar o encaminhador no Microsoft Windows para ver informações sobre como instalar e configurar o encaminhador.

  4. Configure o encaminhador do Chronicle para enviar registros ao Chronicle. Veja um exemplo de configuração de encaminhador.

      - syslog:
          common:
            enabled: true
            data_type: WINDOWS_SYSMON
            Data_hint:
            batch_n_seconds: 10
            batch_n_bytes: 1048576
          tcp_address: 0.0.0.0:10518
          connection_timeout_sec: 60
    
  5. Inicie o serviço NXLog.

Referência de mapeamento de campo: campos de evento de dispositivo para campos UDM

Esta seção descreve como o analisador mapeia os campos de registro de dispositivo originais para os campos do Modelo de dados unificado (UDM, na sigla em inglês). O mapeamento de campos pode ser diferente por código do evento.

Campos comuns

Campo NXLog Campo UDM
Utctime metadata.event_timestamp
Categoria safety_result.summary e metadata.product_event_type
Nome da conta principal.user.userid
Domínio principal.admin_dominio
Número do registro Metadados_produto_log_id
Nome do host principal.nomedohost
ID do usuário principal.user.windows_sid
Valor de gravidade segurança_resultado.gravidade
Código do evento security_result.rule_name definido como "EventID: %{EventID}"

metadata.product_event_type definido como "%{Category} [%{EventID}]"

ID do evento: 1

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_LAUNCH"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid target.process.product_specific_process_id definido como "SYSMON:<ProcessGuid>"
Código do processo target.process.pid
Imagem target.process.file.full_path
Descrição Metadados.descrição
Linha de comando target.process.command_line
Usuário Domínio armazenado em principal.administrator_domain

Nome de usuário armazenado em principal.user.userid
Hashes Com base no algoritmo de hash.
  • MD5 armazenado em target.process.file.md5
  • SHA256 armazenado em target.process.file.sha256
  • SHA1 armazenado em target.process.file.sha1
ParentProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ParentProcessGuid>"
ID do processo parental principal.process.pid
Imagem pai principal.process.file.full_path
Linha de comando pai principal.process.command_line

ID do evento: 2

Campo NXLog Campo UDM
metadata.event_type definido como "FILE_MODIFICATION"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Nome do arquivo de destino target.file.full_path
CriaçãoUtcTime target.resource.attribute.labels.key definido como "CreationUtcTime" e valor armazenado em target.resource.attribute.labels.value
PreviousCreationUtcTime (em inglês) target.resource.attribute.labels.key definido como "PreviousCreationUtcTime" e valor armazenado em target.resource.attribute.labels.value

ID do evento: 3

Campo NXLog Campo UDM
metadata.event_type definido como "NETWORK_CONNECTION"

security_result.action definido como "ALLOW"

network.direction" definido como "OUTBOUND"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Usuário Domínio armazenado em principal.administrator_domain

Nome de usuário armazenado em principal.user.userid&quot.
Protocolo network.ip_protocol
IPI principal.ip
SourcePort principal.porta
IPI target.ip
Nome do host de destino target.hostname
DestinationPort target.port

ID do evento: 4

Campo NXLog Campo UDM
metadata.event_type definido como "setting_MODIFICATION"

target.resource.resource_type definido como "Setting"

resource.resource_subtype definido como "State"
Utctime metadata.event_timestamp
Estado target.resource.name
Versão metadata.product_version

ID do evento: 5

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_TERMINATION"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>
Código do processo target.process.pid
Imagem target.process.file.full_path

ID do evento: 6

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_MODULE_LOAD"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
Imagem carregada principal.process.file.full_path
Hashes O campo preenchido é determinado pelo algoritmo de hash.
  • MD5 armazenado em target.process.file.md5
  • SHA256 armazenado em target.process.file.sha256
  • SHA1 armazenado em target.process.file.sha1
Assinado target.resource.attribute.labels.key definido como "Signed" e valor definido como target.resource.attribute.labels.value
Assinatura target.resource.attribute.labels.key definido como "Signature" e valor armazenado em target.resource.attribute.labels.value
SignatureStatus target.resource.attribute.labels.key definido como "SignatureStatus" e valor armazenado em target.resource.attribute.labels.value

ID do evento: 7

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_MODULE_LOAD"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Imagem carregada target.process.file.full_path
Descrição Metadados.descrição
Hashes O campo preenchido é determinado pelo algoritmo de hash.
  • MD5 armazenado em target.process.file.md5
  • SHA256 armazenado em target.process.file.sha256
  • SHA1 armazenado em target.process.file.sha1
Assinado target.resource.attribute.labels.key definido como "Signed" e valor armazenado em target.resource.attribute.labels.value
Assinatura target.resource.attribute.labels.key definido como "Signature"
Valor da assinatura em target.resource.attribute.labels.value
SignatureStatus target.resource.attribute.labels.key definido como "SignatureStatus" e valor armazenado em target.resource.attribute.labels.value

ID do evento: 8

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_MODULE_LOAD"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
SourceProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<SourceProcessGuid>"
Código de processo de origem principal.process.pid
Imagem de origem principal.process.file.full_path
TargetProcessGuid target.process.product_specific_process_id definido como "SYSMON:<TargetProcessGuid>"
Código de destino target.process.pid
Imagem de destino target.process.file.full_path

ID do evento: 9

Campo NXLog Campo UDM
metadata.event_type definido como "FILE_READ"

Se o campo de registro do dispositivo, que é necessário para validar o tipo de evento FILE_READ UDM, não estiver disponível, metadados.event_type será definido como "GENERIC_EVENT"

Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Dispositivo target.file.full_path

ID do evento: 10

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_OPEN"

target.resource.resource_subtype definido como "GrantedAccess"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
SourceProcessGUID principal.process.product_specific_process_id definido como"SYSMON:<SourceProcessGuid>"
Código de processo de origem principal.process.pid
Imagem de origem principal.process.file.full_path
GUID do processo target.process.product_specific_process_id definido como "SYSMON:<TargetProcessGuid>"
Código de destino target.process.pid
Imagem de destino target.process.file.full_path
Concedido target.resource.name

ID do evento: 11

Campo NXLog Campo UDM
metadata.event_type definido como "FILE_CREATION"

target.resource.resource_subtype definido como "CreationUtcTime"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Nome do arquivo de destino target.file.full_path
CriaçãoUtcTime target.resource.name

ID do evento: 12

Campo NXLog Campo UDM
Se o campo Message contiver "CreateKey|CreateValue", metadata.event_type definido como "REGISTRY_CREATION"

Se o campo Message contiver "DeleteKey|DeleteValue",
metadata.event_type definido como REGISTRY_DELETION

Caso contrário, metadata;event_type;
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Objeto de destino target.registry.registry_key

ID do evento: 13

Campo NXLog Campo UDM
metadata.event_type definido como "REGISTRY_MODIFICATION"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Objeto de destino target.registry.registry_key
Detalhes target.registry.value_data

ID do evento: 14

Campo NXLog Campo UDM
metadata.event_type definido como "REGISTRY_MODIFICATION"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Objeto de destino src.registry.registry_key
NovoNome target.registry.registry_key

ID do evento: 15

Campo NXLog Campo UDM
metadata.event_type definido como FILE_CREATION
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem principal.process.file.full_path
Nome do arquivo de destino target.file.full_path
CriaçãoUtcTime target.resource.attribute.labels.key definido como "CreationUtcTime" e valor armazenado em target.resource.attribute.labels.value
Hash O campo preenchido é determinado pelo algoritmo de hash.
  • Se o MD5, o valor será armazenado em target.process.file.md5
  • Se SHA256 definido como value for armazenado em target.process.file.sha256
  • Se SHA1, o valor será armazenado em target.process.file.sha1

ID do evento: 16

Campo NXLog Campo UDM
metadata.event_type definido como "Setting_MODIFICATION"
Utctime metadata.event_timestamp
Código do processo target.process.pid
Configuração O valor é armazenado em target.process.command_line quando esse valor de campo contém qualquer linha de comando ou processo

O valor é armazenado em target.process.file.full_path quando esse valor de campo contém o caminho do arquivo de configuração.
ConfigurationFileHash O campo preenchido é determinado pelo algoritmo de hash.
  • Se o MD5, o valor será armazenado em target.process.file.md5
  • Se SHA256 definido como value for armazenado em target.process.file.sha256
  • Se SHA1, o valor será armazenado em target.process.file.sha1

ID do evento: 17

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_UNCATEGORIZED"

target.resource.resource_type definido como "PIPE"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid target.process.product_specific_process_id definido como "SYSMON:<ProcessGuid>"
Código do processo target.process.pid
Nomedopipe target.resource.name
Imagem target.process.file.full_path

ID do evento: 18

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_UNCATEGORIZED"

target.resource.resource_type definido como "PIPE"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid target.process.product_specific_process_id definido como "SYSMON:<ProcessGuid>"
Código do processo target.process.pid
Nomedopipe target.resource.name
Imagem target.process.file.full_path

ID do evento: 19

Campo NXLog Campo UDM
metadata.event_type definido como USER_RESOURCE_ACCESS
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
Operação
Usuário O domínio é armazenado em principal.administrator_domain

O nome de usuário está armazenado em principal.user.userid
EventNamespace target.file.full_path
Nome target.aplicativo
Consulta target.resource.name

ID do evento: 20

Campo NXLog Campo UDM
metadata.event_type definido como "USER_RESOURCE_ACCESS"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
Operação target.resource.attribute.labels.key definido como "Operation&quot, e o valor é armazenado em target.resource.attribute.labels.value
Usuário O domínio é armazenado em principal.administrator_domain

O nome de usuário está armazenado em principal.user.userid
Nome target.resource.attribute.labels.key definido como "Name"
Valor do nome em target.resource.attribute.labels.value
Tipo target.resource.attribute.labels.key definido como "Type" e o valor é armazenado em target.resource.attribute.labels.value
Destino target.resource.name

ID do evento: 21

Campo NXLog Campo UDM
metadata.event_type definido como "USER_RESOURCE_ACCESS"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
Operação target.resource.attribute.labels.key definido como "Operation&quot, e o valor é armazenado em target.resource.attribute.labels.value
Usuário O domínio é armazenado em principal.administrator_domain

O nome de usuário está armazenado em principal.user.userid
Consumidor target.resource.attribute.labels.key definido como "Consumer&quot, e o valor é armazenado em target.resource.attribute.labels.value
Filtrar target.resource.name

ID do evento: 22

Campo NXLog Campo UDM
metadata.event_type definido como "NETWORK_DNS"

network.application_protocol definido como "DNS"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Nome da consulta network.dns.questions
Status da consulta Armazenado em security_result.summary como "Status da consulta: "
Pregadores de emprego O tipo é salvo em network.dns.answers.type com valores separados por um ponto e vírgula (;)
Os dados são salvos em network.dns.answers.data
Os valores que não têm tipo são mapeados para network.dns.answers.data.
Imagem principal.process.file.full_path

ID do evento: 23

Campo NXLog Campo UDM
metadata.event_type definido como "FILE_DELETION"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Usuário Domínio armazenado em principal.administrator_domain

Nome de usuário armazenado em principal.user.userid
Imagem principal.process.file.full_path
Nome do arquivo de destino target.file.full_path
Hashes O campo preenchido é determinado pelo algoritmo de hash.
  • MD5 definido como target.process.file.md5
  • SHA256 definido como target.process.file.sha256
  • SHA1 definido como target.process.file.sha1
Executável O campo target.resource.attribute.labels.key foi definido como "IsExecutable&quot e o valor é armazenado em target.resource.attribute.labels.value
Arquivada target.resource.attribute.labels.key definido como "Archive" e o valor é armazenado em target.resource.attribute.labels.value

ID do evento: 24

Campo NXLog Campo UDM
metadata.event_type definido como "RESOURCE_READ"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid target.process.product_specific_process_id definido como "SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem target.process.file.full_path

target.resource.name
ClientInfo ip armazenado em target.ip
nome do host armazenado em target.hostname
usuário armazenado em principal.user.userid
Hashes O campo preenchido é determinado pelo algoritmo de hash.
  • Se MD5, o valor armazenado em target.process.file.md5
  • Se SHA256, o valor armazenado em target.process.file.sha256
  • Se SHA1, valor armazenado em target.process.file.sha1
Arquivada target.resource.attribute.labels.key definido como "Archive" e valor armazenado em target.resource.attribute.labels.value

ID do evento: 25

Campo NXLog Campo UDM
metadata.event_type definido como "PROCESS_LAUNCH"
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid target.process.product_specific_process_id armazenado como "SYSMON:<ProcessGuid>"
Código do processo principal.process.pid
Imagem target.process.file.full_path

ID do evento: 26

Campo NXLog Campo UDM
metadata.event_type definido como FILE_DELETION
Nome da regra nome_da_regra_de_segurança
Utctime metadata.event_timestamp
ProcessGuid principal.process.product_specific_process_id definido como"SYSMON:%{ProcessGuid}
Código do processo principal.process.pid
Usuário Domínio definido como principal.administrator_domain

Nome de usuário definido como principal.user.userid
Imagem principal.process.file.full_path
Nome do arquivo de destino target.file.full_path
Hashes Com base no algoritmo de hash.
MD5 definido como target.process.file.md5
SHA256 definido como target.process.file.sha256
SHA1 definido como target.process.file.sha1
Executável target.resource.attribute.labels.key definido como "IsExecutable" & value em target.resource.attribute.labels.value

ID do evento: 255

Campo NXLog Campo UDM
metadata.event_type definido como SERVICE_UNSPECIFIED

metadata.product_event_type definido como "Error - [255]"

target.application definido como "Microsoft Sysmon"
Utctime metadata.event_timestamp
ID segurança_resultado.resumo
Descrição segurança_resultado.descrição