Coletar registros do antivírus Kaspersky

Compatível com:

Este documento explica como ingerir registros do antivírus Kaspersky no Google Security Operations usando o Bindplane. O código do analisador tenta primeiro analisar a mensagem de registro bruta como JSON. Se isso não funcionar, ele usará expressões regulares (padrões grok) para extrair campos da mensagem com base em formatos comuns de registros do Kaspersky AV.

Antes de começar

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

  • Instância do Google SecOps
  • Host Windows 2016 ou mais recente ou Linux com systemd
  • Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
  • Acesso privilegiado ao Kaspersky Antivirus

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
    

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

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 /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

        receivers:
            udplog:
                # Replace the port and IP address as required
                listen_address: "0.0.0.0:514"
    
        exporters:
            chronicle/chronicle_w_labels:
                compression: gzip
                # 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
                ingestion_labels:
                    log_type: KASPERSKY_AV
                    raw_log_field: body
    
        service:
            pipelines:
                logs/source0__chronicle_w_labels-0:
                    receivers:
                        - udplog
                    exporters:
                        - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID do cliente real.

  5. 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 Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • 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 a exportação de eventos no Kaspersky AV

  1. Faça login no console do Kaspersky Security Center.
  2. Selecione o servidor de administração que tem os eventos que você quer exportar.
  3. No espaço de trabalho Servidor de administração, clique na guia Eventos.
  4. Clique no link "Configurar notificações e exportação de eventos".
  5. Selecione Configurar exportação para o sistema SIEM na lista.
  6. Informe os seguintes detalhes de configuração:
    • Sistema SIEM: selecione Arcsight (formato CEF).
    • Endereço do servidor do sistema SIEM: insira o endereço IP do agente do Bindplane.
    • Porta do servidor do sistema SIEM: insira o número da porta do agente Bindplane (por exemplo, 514 para UDP).
    • Protocolo: selecione UDP.
  7. Clique em OK.

Tabela de mapeamento da UDM

Campo de registro Mapeamento da UDM Lógica
Aplicativo network.http.user_agent Mapeado diretamente do campo Application no registro bruto.
Caminho do aplicativo target.process.file.full_path Usado com o campo Name para construir o caminho completo se Application path estiver presente no registro bruto.
Componente target.resource.name Mapeado diretamente do campo Component no registro bruto.
Categoria de conteúdo security_result.category_details Adicionado ao campo security_result.category_details se Content category estiver presente no registro bruto.
Origem da categoria de conteúdo target.resource.type Se o valor contiver databases, o campo UDM será definido como DATABASE.
Erreur security_result.summary Mapeado diretamente do campo Erreur no registro bruto se o campo summary estiver vazio.
et metadata.product_event_type Mapeado diretamente do campo et no registro bruto se o campo product_event_type estiver vazio.
et security_result.category_details Adicionado ao campo security_result.category_details.
etdn extensions.vulns.vulnerabilities.description Mapeado diretamente do campo etdn no registro bruto.
Hash SHA256 do arquivo target.process.file.sha256 Mapeado diretamente do campo File SHA256 hash no registro bruto.
gn security_result.about.labels O key é definido como GN, e o value é definido como o valor do campo gn.
hdn principal.hostname Mapeado diretamente do campo hdn no registro bruto.
quadril principal.ip Mapeado diretamente do campo hip no registro bruto.
host_name principal.hostname Mapeado diretamente do campo host_name no registro bruto.
intermediary_host intermediary.hostname Mapeado diretamente do campo intermediary_host no registro bruto.
intermediary_hostname intermediary.hostname Mapeado diretamente do campo intermediary_hostname no registro bruto.
kv_data1 Esse campo é analisado, e os valores dele são mapeados para outros campos da UDM.
kv_data2 Esse campo é analisado, e os valores dele são mapeados para outros campos da UDM.
o rótulo. network.http.user_agent Se o valor for User-Agent, o campo UDM será preenchido com o valor do campo description.
o rótulo. principal.hostname Se o valor for Host, o campo UDM será preenchido com o nome do host extraído do campo description.
o rótulo. security_result.description Para outros valores, o campo UDM é preenchido com uma string que contém os campos label e description.
MD5 target.process.file.md5 Mapeado diretamente do campo MD5 no registro bruto após a conversão para letras minúsculas.
Hash MD5 do arquivo target.process.file.md5 Mapeado diretamente do campo MD5 file hash no registro bruto.
mensagem Esse campo é analisado, e os valores dele são mapeados para outros campos da UDM.
método network.http.method Mapeado diretamente do campo method no registro bruto, se corresponder a uma lista de métodos HTTP.
nome target.file.full_path Mapeado diretamente do campo name no registro bruto.
Nom target.process.file.full_path Usado com o campo application_path para construir o caminho completo.
p1 target.process.file.sha256 Mapeado diretamente do campo p1 no registro bruto após a conversão para minúsculas se o campo SHA256 estiver vazio e o valor for uma string hexadecimal.
p2 target.process.file.full_path Mapeado diretamente do campo p2 no registro bruto.
p5 security_result.rule_name Mapeado diretamente do campo p5 no registro bruto.
p7 principal.user.user_display_name Mapeado diretamente do campo p7 no registro bruto se os campos User e user_name estiverem vazios.
ID do processo principal.process.pid Mapeado diretamente do campo Process ID no registro bruto.
process_id target.process.pid Mapeado diretamente do campo process_id no registro bruto.
protocolo network.application_protocol Se o valor contiver http (sem diferenciar maiúsculas de minúsculas), o campo UDM será definido como HTTP.
Motivo security_result.summary Mapeado diretamente do campo Reason no registro bruto.
Página da Web solicitada target.url Mapeado diretamente do campo Requested web page no registro bruto.
Resultado Se o valor for Allowed, o campo sr_action será definido como ALLOW.
rtid security_result.about.labels O key é definido como rtid, e o value é definido como o valor do campo rtid.
Regra security_result.description Mapeado diretamente do campo Rule no registro bruto.
SHA256 target.process.file.sha256 Mapeado diretamente do campo SHA256 no registro bruto após a conversão para letras minúsculas.
sr_action security_result.action Unido ao campo security_result.action.
resumo security_result.summary Mapeado diretamente do campo summary no registro bruto.
task_name security_result.about.labels O key é definido como TaskName, e o value é definido como o valor do campo task_name.
threat_action_taken Se o valor for blocked, o campo security_action será definido como BLOCK. Se o valor for allowed, o campo security_action será definido como ALLOW.
timestamp metadata.event_timestamp Usado para preencher o carimbo de data/hora do evento.
Tipo security_result.threat_name Mapeado diretamente do campo Type no registro bruto.
URL network.http.referral_url Mapeado diretamente do campo url no registro bruto.
Usuário principal.user.user_display_name O nome de usuário é extraído desse campo e mapeado para o campo da UDM.
Usuário principal.administrative_domain O domínio é extraído desse campo e mapeado para o campo do UDM.
user_name principal.user.user_display_name Mapeado diretamente do campo user_name no registro bruto se o campo User estiver vazio.
metadata.event_type Definido como SCAN_VULN_NETWORK se Application path e Name estiverem presentes, STATUS_UNCATEGORIZED se hdn ou host_name estiverem presentes ou GENERIC_EVENT caso contrário.
metadata.vendor_name Sempre defina como KASPERSKY.
metadata.product_name Sempre defina como KASPERSKY_AV.
metadata.log_type Sempre defina como KASPERSKY_AV.

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