Coletar registros de endpoints da Sophos

Compatível com:

Este documento explica como coletar registros do Sophos Endpoint (antigo Sophos AV/Intercept X) usando o agente do Bindplane. O analisador transforma registros JSON em um modelo de dados unificado (UDM). Ele extrai campos de estruturas JSON aninhadas, mapeia para campos da UDM e realiza a categorização de eventos com base no campo "type", enriquecendo os dados com detalhes e ações específicas para diferentes tipos de eventos do Sophos AV.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Windows 2016 ou mais recente ou um host Linux com systemd
  • Outra máquina Windows ou Linux capaz de executar Python continuamente
  • Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
  • Acesso privilegiado ao Admin Console do Sophos Central

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.
  4. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID de 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

Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.

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 este guia.

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_file_path: '/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: 'SOPHOS_AV'
        raw_log_field: body
        ingestion_labels:
    
    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 de cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho do arquivo em que o arquivo de autenticação foi salvo na Etapa 1.

Reinicie o agente do Bindplane para aplicar as mudanças

  1. Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  2. Para reiniciar o agente do Bindplane em Windows, use o console Serviços ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o acesso à API do Sophos Central

  1. Faça login no Sophos Central Admin.
  2. Selecione Configurações globais > Gerenciamento de tokens de API.
  3. Clique em Adicionar token para criar um novo token.
  4. Insira um nome para o token e clique em Salvar. O Resumo do token da API do token fornecido é exibido.
  5. Na seção Resumo do token de API, clique em Copiar para copiar o URL e os cabeçalhos de acesso à API.

Instalar o Python na máquina extra

  1. Abra o navegador da Web e acesse o site do Python.
  2. Clique em Fazer o download do Python para seu sistema operacional (Windows ou Mac).
  3. Instale o Python.

    • No Windows:
      1. Execute o instalador.
      2. Marque a caixa que diz Adicionar Python ao PATH.
      3. Clique em Instalar agora.
    • No Mac:

      1. O Python já pode estar instalado. Caso contrário, instale a versão mais recente usando o terminal.
      2. Abra o Terminal e digite o seguinte comando:
      python --version
      

Baixar o script de integração do Sophos

  1. Acesse a página do GitHub para o repositório do GitHub de integração do SIEM do Sophos Central.
  2. Clique no botão verde Code > Download ZIP.
  3. Extraia o arquivo ZIP.

Configurar o script

  1. Encontre e abra o arquivo config.ini com um editor de texto.
  2. Edite o arquivo de configuração:
    • Token da API: insira a chave de API copiada anteriormente do Sophos Central.
    • Detalhes do servidor Syslog: insira os detalhes do seu servidor Syslog.
    • Host: insira o endereço IP do Bindplane.
    • Porta: digite o número da porta do Bindplane.
    • Protocolo: insira UDP. Também é possível usar TCP ou TLS, dependendo da sua configuração.
  3. Salve o arquivo.

Executar o script

  1. Acesse a pasta de script.

    • No Windows:

      1. Pressione a tecla Windows e digite cmd.
      2. Clique em Prompt de comando.
      3. Acesse a pasta do script:
      cd C:UsersYourNameDownloadsSophos-Central-SIEM-Integration
      
    • No macOS:

      1. Acesse Aplicativos > Utilitários.
      2. Abra o Terminal.
      3. Acesse a pasta do script:
      cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
      
  2. Execute o script:

    • Digite o seguinte comando para iniciar o script:

      python siem.py
      

Automatize o script para ser executado continuamente no Windows (usando o Agendador de Tarefas):

  1. Abra o Agendador de tarefas digitando Agendador de tarefas no menu Iniciar.
  2. Clique em Criar tarefa.
  3. Na guia Geral:
    • Nomeie a tarefa, por exemplo, Sophos AV Log Export.
  4. Na guia Gatilhos:
    • Clique em Novo e defina a tarefa para ser executada Diariamente ou Na inicialização (dependendo da sua preferência).
  5. Na guia Ações:
    • Clique em Novo e selecione Iniciar um programa.
    • Procure o executável python.exe (geralmente encontrado em C:PythonXXpython.exe).
    • No campo Adicionar argumentos, digite o caminho para o script, por exemplo, C:UsersYourNameDownloadsSophos-Central-SIEM-Integrationsiem.py.
  6. Clique em OK para salvar a tarefa.

Automatize o script para ser executado continuamente no Mac (usando Cron Jobs):

  1. Abra o Terminal.
  2. Digite crontab -e e pressione Enter.
  3. Adicione uma nova linha ao final do arquivo:

    * * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.py
    
  4. Salve e saia do editor.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
s_ip intermediary.ip Mesclado
description metadata.description Mapeado diretamente
name metadata.description Mapeado diretamente
security_result.description metadata.description Renomeado/mapeado
end metadata.event_timestamp Analisado como RFC 3339
ts metadata.event_timestamp Analisado como RFC 3339
action metadata.event_type Mapeado: unknownNETWORK_CONNECTION, allowedSCAN_PROCESS, blocked → `SCAN_PROC...
e_type metadata.event_type Valores mapeados (11 no total, por exemplo, NonCompliantSCAN_HOST, SavDisabled → `SETTING_MODIFIC...
type metadata.event_type Valores mapeados (13 no total, por exemplo, Event::Endpoint::NonCompliantSCAN_HOST, "Event::Endpoin...
e_type metadata.product_event_type Mapeado diretamente
type metadata.product_event_type Mapeado diretamente
action network.direction Mapeado: warnedOUTBOUND, unknownOUTBOUND
e_type network.direction Mapeado: WindowsFirewall::BlockedOUTBOUND
type network.direction Mapeado: Event::Endpoint::WindowsFirewall::BlockedOUTBOUND
action network.ip_protocol Mapeado: warnedTCP, unknownTCP
appSha256 principal.file.sha256 Mapeado diretamente
dhost principal.hostname Mapeado diretamente
host principal.hostname Mapeado diretamente
source_info.ip principal.ip Mesclado
src_ip principal.ip Mesclado
id principal.resource.id Mapeado diretamente
suser principal.user.user_display_name Mapeado diretamente
suser principal.user.userid Mapeado diretamente
user principal.user.userid Mapeado diretamente
user_id principal.user.userid Mapeado diretamente
endpoint_id_label security_result.about.labels Mesclado
endpoint_type_label security_result.about.labels Mesclado
action security_result.action Valores mapeados (5 no total, por exemplo, allowsec_action, unknownsec_action, allowed → `...
sec_action security_result.action Mesclado
group security_result.category_details Mesclado
sub_cat security_result.category_details Mesclado
desc security_result.description Mapeado diretamente
e_type security_result.description Mapeado: (UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) → `security_result...
type security_result.description Associado: Event::Endpoint::(UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) →...
rule security_result.rule_name Mapeado diretamente
rules security_result.rule_name Mapeado diretamente
severity security_result.severity Valores mapeados (6 no total, por exemplo, lowLOW, lowMEDIUM, lowHIGH)
security_result.description security_result.summary Renomeado/mapeado
application target.application Mapeado diretamente
endpoint_id target.asset_id Mapeado diretamente
f_path target.file.full_path Mapeado diretamente
f_size target.file.size Renomeado/mapeado
dhost target.hostname Mapeado diretamente
host target.hostname Mapeado diretamente
application target.process.file.full_path Mapeado diretamente
customer_id target.resource.id Mapeado diretamente
e_type target.resource.name Mapeado: SavDisabledReal time protection, OutOfDateDevice Registration, `Regist...
p_device target.resource.name Mapeado diretamente
scan_name target.resource.name Mapeado diretamente
type target.resource.name Mapeado: Event::Endpoint::SavDisabledReal time protection, `Event::Endpoint::OutOfDate...
action target.resource.type Mapeado: blockedDevice, restricted to read-onlyDevice
e_type target.resource.type Valores mapeados (5 no total, por exemplo, SavDisabledSETTING, OutOfDateSETTING, "Registered...
type target.resource.type Valores mapeados (5 no total, por exemplo, Event::Endpoint::SavDisabledSETTING, "Event::Endpoint::O...
url target.url Mapeado diretamente
duid target.user.userid Mapeado diretamente
suser target.user.userid Mapeado diretamente
user target.user.userid Mapeado diretamente
N/A metadata.event_type Constante: GENERIC_EVENT
N/A metadata.product_name Constante: Sophos Anti-Virus
N/A metadata.vendor_name Constante: Sophos
N/A network.direction Constante: OUTBOUND
N/A network.ip_protocol Constante: TCP
N/A security_result.description Constante: security_result.summary
N/A security_result.severity Constante: LOW
N/A target.resource.name Constante: Real time protection
N/A target.resource.type Constante: SETTING

Registro de alterações

Ver o registro de alterações deste analisador

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