Coletar registros do Microsoft System Center Endpoint Protection (SCEP)
Neste documento, descrevemos como coletar registros do Microsoft System Center Endpoint Protection (SCEP) configurando um feed do Google Security Operations usando o Microsoft Azure Blob Storage V2.
O Microsoft System Center Endpoint Protection (SCEP) é uma solução empresarial antimalware e antivírus integrada ao System Center Configuration Manager (SCCM). O SCEP oferece proteção em tempo real contra malware, vírus, spyware e outros softwares maliciosos para endpoints baseados no Windows. O SCEP grava ocorrências de segurança no canal de log de eventos do Windows Microsoft-Windows-Windows Defender/Operational, que pode ser coletado usando o agente do Azure Monitor e exportado para o Armazenamento de Blobs do Azure.
Antes de começar
Verifique se você atende os seguintes pré-requisitos:
- Uma instância do Google SecOps
- Acesso privilegiado ao portal do Microsoft Azure com permissões para:
- Criar contas de armazenamento
- Criar e gerenciar espaços de trabalho da Análise de Dados de Registros
- Criar e gerenciar regras de coleta de dados
- Configurar regras de exportação de dados
- Gerenciar chaves de acesso
- Windows Server 2012 R2 ou mais recente com o SCEP instalado ou Windows Server 2016 ou mais recente com o Windows Defender Antivírus
- Agente do Azure Monitor instalado no servidor Windows (requer o Azure Arc para servidores locais ou suporte nativo para VMs do Azure)
Acesso de administrador no servidor Windows em que o SCEP está implantado
Configurar conta de armazenamento do Azure
Criar conta de armazenamento
- No portal do Azure, pesquise Contas de armazenamento.
- Clique em + Criar.
Informe os seguintes detalhes de configuração:
Configuração Valor Assinatura Selecione sua assinatura do Azure Grupo de recursos Selecionar uma existente ou criar uma nova Nome da conta de armazenamento Insira um nome exclusivo (por exemplo, sceplogssa).Região Selecione a região (por exemplo, East US).Desempenho Padrão (recomendado) Redundância GRS (armazenamento com redundância geográfica) ou LRS (armazenamento com redundância local) Clique em Revisar + criar.
Revise a visão geral da conta e clique em Criar.
Aguarde até que a implantação seja concluída.
Receber credenciais da conta de armazenamento
- Acesse a Conta de armazenamento que você acabou de criar.
- No painel de navegação à esquerda, selecione Chaves de acesso em Segurança + rede.
- Clique em Mostrar chaves.
- Copie e salve as seguintes informações para usar depois:
- Nome da conta de armazenamento: o nome que você criou (por exemplo,
sceplogssa) - Chave 1 ou Chave 2: a chave de acesso compartilhada (uma string aleatória de 512 bits na codificação base-64).
- Nome da conta de armazenamento: o nome que você criou (por exemplo,
Receber endpoint do serviço de blob
- Na mesma conta de armazenamento, selecione Endpoints na navegação à esquerda.
- Copie e salve o URL do endpoint do serviço de blob.
- Exemplo:
https://sceplogssa.blob.core.windows.net/
- Exemplo:
Criar um espaço de trabalho da Análise de Dados de Registros
- No portal do Azure, pesquise espaços de trabalho de análise de dados de registros.
- Clique em + Criar.
Informe os seguintes detalhes de configuração:
Configuração Valor Assinatura Selecione sua assinatura do Azure Grupo de recursos Selecione o mesmo grupo de recursos da conta de armazenamento. Nome Insira um nome exclusivo (por exemplo, scep-logs-workspace).Região Selecione a mesma região da conta de armazenamento. Clique em Revisar + criar.
Clique em Criar.
Aguarde até que a implantação seja concluída.
Instalar o agente do Azure Monitor no servidor Windows
Para servidores locais que executam o SCEP, primeiro é necessário integrar o servidor ao Azure Arc e, em seguida, instalar o agente do Azure Monitor.
Integração ao Azure Arc (somente servidores locais)
- No portal do Azure, pesquise Azure Arc.
- Selecione Servidores em Infraestrutura.
- Clique em + Adicionar.
- Selecione Adicionar um único servidor e clique em Gerar script.
- Informe os seguintes detalhes de configuração:
- Assinatura: selecione sua assinatura do Azure.
- Grupo de recursos: selecione seu grupo de recursos.
- Região: selecione a mesma região da conta de armazenamento.
- Sistema operacional: selecione Windows.
- Clique em Fazer o download e executar o script.
- No servidor Windows que executa o SCEP, abra o PowerShell como administrador.
Execute o script que você baixou para concluir a integração do Azure Arc.
Instalar o agente do Azure Monitor
- No portal do Azure, acesse Azure Arc > Servidores (ou Máquinas virtuais para VMs do Azure).
- Selecione o servidor que executa o SCEP.
- No menu de navegação à esquerda, selecione Extensões em Configurações.
- Clique em + Adicionar.
- Pesquise e selecione Agente do Azure Monitor.
- Clique em Próxima e em Revisar + criar.
- Clique em Criar.
- Aguarde a conclusão da instalação da extensão.
Criar uma regra de coleta de dados para eventos do SCEP
- No portal do Azure, pesquise por Monitor.
- Selecione Regras de coleta de dados em Configurações.
- Clique em + Criar.
- Na guia Noções básicas, forneça os seguintes detalhes de configuração:
- Nome da regra: insira um nome descritivo (por exemplo,
dcr-scep-events). - Assinatura: selecione sua assinatura do Azure.
- Grupo de recursos: selecione seu grupo de recursos.
- Região: selecione a mesma região do espaço de trabalho da Análise de Dados de Registros.
- Tipo de plataforma: selecione Windows.
- Nome da regra: insira um nome descritivo (por exemplo,
- Clique em Próxima: recursos.
- Na guia Recursos:
- Clique em + Adicionar recursos.
- Expanda o grupo de recursos e selecione o servidor que executa o SCEP (servidor do Azure Arc ou VM do Azure).
- Clique em Aplicar.
- Clique em Próxima: Coletar e entregar.
Na guia Coletar e entregar:
- Clique em + Adicionar fonte de dados.
- No menu suspenso Tipo de fonte de dados, selecione Logs de eventos do Windows.
- Selecione Personalizado para inserir consultas XPath.
Clique em + Adicionar consulta XPath e insira a seguinte consulta XPath para coletar todos os eventos do SCEP e do Windows Defender:
Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]Essa consulta XPath coleta todos os eventos (críticos, de erro, de aviso, de informação e detalhados) do canal operacional do Windows Defender. Para coletar apenas IDs de eventos específicos (por exemplo, detecções de malware), use uma consulta mais segmentada, como:
Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]Na guia Destino, clique em + Adicionar destino.
Selecione Registros do Azure Monitor como o Tipo de destino.
Selecione o espaço de trabalho de análise de dados de registros que você criou anteriormente (por exemplo,
scep-logs-workspace).
Clique em Adicionar fonte de dados.
Clique em Revisar + criar.
Clique em Criar.
IDs de eventos principais coletados
A regra de coleta de dados coleta eventos do canal Microsoft-Windows-Windows Defender/Operational, que inclui os seguintes IDs de evento principais do SCEP:
| ID do evento | Descrição |
|---|---|
| 1006 | Malware detectado pelo mecanismo antimalware |
| 1007 | Ação antimalware realizada em malware detectado |
| 1116 | A proteção em tempo real detectou malware ou software potencialmente indesejado |
| 1117 | A proteção em tempo real agiu contra um malware |
| 2000 | A atualização da assinatura antimalware foi iniciada |
| 2001 | A atualização da assinatura antimalware foi concluída |
| 5007 | A configuração da plataforma antimalware foi alterada |
Configurar a exportação de dados da análise de dados de registros do espaço de trabalho para o Azure Blob Storage
Registrar o provedor de recursos Microsoft.Insights
- No portal do Azure, acesse Assinaturas.
- Selecione sua assinatura.
- No menu de navegação à esquerda, selecione Provedores de recursos em Configurações.
- Pesquise Microsoft.Insights.
- Se o status não for Registrado, selecione-o e clique em Registrar.
Criar uma regra de exportação de dados
- No portal do Azure, acesse seu espaço de trabalho de análise de dados de registros (por exemplo,
scep-logs-workspace). - No menu de navegação à esquerda, selecione Exportação de dados em Configurações.
- Clique em + Nova regra de exportação.
- Na guia Configurações básicas:
- Nome da regra de exportação de dados: digite um nome descritivo (por exemplo,
export-scep-to-blob).
- Nome da regra de exportação de dados: digite um nome descritivo (por exemplo,
- Clique em Próxima: origem.
Na guia Origem, selecione a tabela Evento.
Clique em Próxima: destino.
Na guia Destino:
- Tipo de destino: selecione Conta de armazenamento.
- Assinatura: selecione a assinatura que contém a conta de armazenamento.
- Conta de armazenamento: selecione a conta de armazenamento que você criou anteriormente (por exemplo,
sceplogssa).
Clique em Próximo: revisar + criar.
Clique em Criar.
Após a configuração, os eventos são exportados automaticamente para a conta de armazenamento. Um contêiner chamado
am-Eventé criado na conta de armazenamento. Os blobs são armazenados em pastas de 5 minutos usando a seguinte estrutura de caminho:am-Event/ └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/ └── y={year}/m={month}/d={day}/h={hour}/m={minute}/ └── PT05M.json
Verificar a exportação de dados
- No portal do Azure, acesse a Conta de armazenamento (por exemplo,
sceplogssa). - No menu de navegação à esquerda, selecione Contêineres em Repositório de dados.
- Verifique se o contêiner
am-Eventexiste. - Acesse o contêiner e verifique se os arquivos JSON com dados de eventos estão sendo criados na estrutura de pastas.
Configurar um feed no Google SecOps para ingerir registros do Microsoft System Center Endpoint Protection (SCEP)
- Acesse Configurações > Gerenciamento de dados > Feeds. Se você estiver em uma plataforma somente SIEM, acesse Configurações > Feeds.
- Clique em Adicionar novo feed.
- Na página seguinte, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed (por exemplo,
Microsoft SCEP Logs). - Selecione Microsoft Azure Blob Storage V2 como o Tipo de origem.
- Selecione Microsoft System Center Endpoint Protection (SCEP) como o Tipo de registro.
- Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
- URI do Azure: insira o URL do endpoint do serviço de blobs com o caminho do contêiner:
https://sceplogssa.blob.core.windows.net/am-Event/Substitua:
sceplogssa: o nome da sua conta de armazenamento do Azure.am-Event: o nome do contêiner de blob em que os eventos exportados são armazenados.
- Opção de exclusão da fonte: selecione a opção de exclusão de acordo com sua preferência:
- Nunca: nunca exclui arquivos após as transferências.
- Excluir arquivos transferidos: exclui arquivos após a transferência.
- Excluir arquivos transferidos e diretórios vazios: exclui arquivos e diretórios vazios após a transferência.
- Idade máxima do arquivo: inclua arquivos modificados nos últimos dias (o padrão é 180 dias).
- Chave compartilhada: insira o valor da chave compartilhada (chave de acesso) que você capturou da conta de armazenamento.
- Namespace do recurso: o namespace do recurso
- Rótulos de ingestão: o rótulo que será aplicado aos eventos desse feed.
Clique em Próxima.
Revise a configuração do novo feed na tela Finalizar e clique em Enviar.
Configurar o firewall do Armazenamento do Azure (se ativado)
Se a conta de armazenamento do Azure usar um firewall, adicione os intervalos de IP do Google SecOps.
- No portal do Azure, acesse sua conta de armazenamento.
- Selecione Rede em Segurança + rede.
- Em Firewalls e redes virtuais, selecione Ativado em redes virtuais e endereços IP selecionados.
- Na seção Firewall, em Intervalo de endereços, clique em + Adicionar intervalo de IP.
Adicione cada intervalo de IP do Google SecOps na notação CIDR.
Para ver os intervalos de IP atuais:
- Consulte a documentação sobre a lista de permissões de IP.
- Ou recupere-os de forma programática usando a API Management Feed.
Além disso, marque a caixa de seleção Permitir que os serviços do Azure na lista de serviços confiáveis acessem esta conta de armazenamento para permitir que a exportação de dados do espaço de trabalho de análise de dados de registros grave na conta de armazenamento.
Clique em Salvar.
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de UDM | Lógica |
|---|---|---|
| about.hostname | about.hostname | Defina como "%{_DB_HOST}" |
| _DB_PORT | about.port | Valor copiado diretamente, convertido em número inteiro |
| _DB_DRIVER | about.resource.name | Defina como "%{_DB_DRIVER}" |
| _DB_URL | about.url | Defina como "%{_DB_URL}" |
| signature_labels | event.idm.read_only_udm.additional.fields | Mesclado de signature_labels se signature não estiver vazio, pending_action se PendingAction não estiver vazio, execution_status se ExecutionStatus não estiver vazio, record_id se RecordID não estiver vazio, error_code se ErrorCode não estiver vazio, action_success se ActionSuccess não estiver vazio |
| pending_action | event.idm.read_only_udm.additional.fields | |
| execution_status | event.idm.read_only_udm.additional.fields | |
| record_id | event.idm.read_only_udm.additional.fields | |
| error_code | event.idm.read_only_udm.additional.fields | |
| action_success | event.idm.read_only_udm.additional.fields | |
| source_url | event.idm.read_only_udm.src.url | Valor de source_url, se não estiver vazio, ou de my_string1, se não estiver vazio |
| my_string1 | event.idm.read_only_udm.src.url | |
| has_principal | metadata.event_type | Defina como "NETWORK_CONNECTION" se has_principal e has_target forem verdadeiros, caso contrário, "STATUS_UPDATE" se has_principal for verdadeiro, caso contrário, "SCAN_FILE" se não for no_target_host e path_available for verdadeiro, caso contrário, "STATUS_UNCATEGORIZED" se não for no_target_host, caso contrário, "USER_UNCATEGORIZED" se has_user for verdadeiro, caso contrário, "GENERIC_EVENT" |
| has_user | metadata.event_type | |
| has_target | metadata.event_type | |
| no_target_host | metadata.event_type | |
| path_available | metadata.event_type | |
| Nome | metadata.product_event_type | Valor copiado diretamente |
| DetectionID | metadata.product_log_id | Valor copiado diretamente |
| metadata.product_name | metadata.product_name | Defina como "MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION" |
| metadata.vendor_name | metadata.vendor_name | Defina como "MICROSOFT". |
| NTdomain | principal.administrative_domain | Valor copiado diretamente |
| nome do host | principal.asset.hostname | Valor do nome do host, se não estiver vazio, ou do TargetHost |
| TargetHost | principal.asset.hostname | |
| action_type | principal.group.attribute.labels | Mesclado de action_type_label se action_type não estiver vazio |
| nome do host | principal.hostname | Valor do nome do host, se não estiver vazio, ou do TargetHost |
| TargetHost | principal.hostname | |
| Processo | principal.process.file.full_path | Valor copiado diretamente se o processo não estiver vazio |
| NOME DE USUÁRIO | principal.user.user_display_name | Valor copiado diretamente |
| Nome de usuário | principal.user.userid | Valor de UserName, se não estiver vazio. Caso contrário, de user, se não estiver vazio. |
| usuário | principal.user.userid | |
| ação | security_result.action | Defina com base nos valores de ação (ALLOW para success/created/started/delivered/allowed, BLOCK para failure/blocked/teardown/deferred/deleted/rejected/dropped/error/locked, ALLOW_WITH_MODIFICATION para acl_modified/modified, QUARANTINE para quarantined) ou CleanAction (FAIL se Failed, QUARANTINE se Quarantined, ALLOW se Allowed, BLOCK se Blocked) |
| CleanAction | security_result.action | |
| CleanAction | security_result.action_details | Valor copiado diretamente se CleanAction não estiver vazio |
| categoria | security_result.category_details | Mesclado da categoria se não estiver vazio, caso contrário, da categoria |
| Categoria | security_result.category_details | |
| DetectionID | security_result.detection_fields | Mesclado de DetectionID_field se DetectionID não estiver vazio, detectionid_field se detectionid não estiver vazio, detection_source_labels se detection_source não estiver vazio, pending_action_labels se pending_action não estiver vazio, detection_Path se source_url, file_path e Path não estiverem vazios |
| detectionid | security_result.detection_fields | |
| detection_source | security_result.detection_fields | |
| pending_action | security_result.detection_fields | |
| Caminho | security_result.detection_fields | |
| gravidade, | security_result.severity | Definido com base na gravidade (LOW para 0/1/2/3/LOW, MEDIUM para 4/5/6/MEDIUM/SUBSTANTIAL/INFO, HIGH para 7/8/HIGH/SEVERE, CRITICAL para 9/10/VERY-HIGH/CRITICAL) ou SeverityID (LOW para 1, MEDIUM para 2, HIGH para 4, CRITICAL para 5, UNKNOWN_SEVERITY para os demais) |
| SeverityID | security_result.severity | |
| SeverityID | security_result.severity_details | Valor copiado diretamente |
| ThreatID | security_result.threat_id | Valor copiado diretamente |
| ThreatName | security_result.threat_name | Valor copiado diretamente |
| MaliciousFileCt | security_result.verdict_info | Valor copiado diretamente, convertido em número inteiro, mesclado como malicious_file_ct |
| dest_nt_domain | target.administrative_domain | Valor copiado diretamente |
| dest_name | target.asset.hostname | Valor copiado diretamente se dest_name não estiver vazio |
| file_path | target.file.full_path | Valor de file_path se não estiver vazio, de Path se file_path estiver vazio, de my_string se não estiver vazio |
| Caminho | target.file.full_path | |
| my_string | target.file.full_path | |
| dest_name | target.hostname | Valor copiado diretamente se dest_name não estiver vazio |
| ResourceID | target.resource.name | Valor de ResourceID, se não estiver vazio. Caso contrário, de resourceid, se não estiver vazio |
| resourceid | target.resource.name | |
| usuário | target.user.userid | Valor copiado diretamente se o usuário não estiver vazio |
| tempo | metadata.event_timestamp | Convertido do horário usando o formato "MMM dd HH:mm:ss" se o horário não estiver vazio. Caso contrário, de DetectionTime ou detectiontime usando UNIX_MS |
| DetectionTime | metadata.event_timestamp | |
| detectiontime | metadata.event_timestamp | |
time |
syslogtimestamp |
Mapeado do registro de alterações |
DetectionID", "detection_source", and "pending_action |
security_result.detection_fields |
Mapeado do registro de alterações |
action |
temp_action |
Mapeado do registro de alterações |
Registro de alterações
Confira o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.