Coletar registros de endpoints da Sophos
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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- 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 de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- 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
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
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
- 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,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda 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_labelsSubstitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>pelo ID de cliente real.Atualize
/path/to/ingestion-authentication-file.jsonpara 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
Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agentPara 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
- Faça login no Sophos Central Admin.
- Selecione Configurações globais > Gerenciamento de tokens de API.
- Clique em Adicionar token para criar um novo token.
- Insira um nome para o token e clique em Salvar. O Resumo do token da API do token fornecido é exibido.
- 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
- Abra o navegador da Web e acesse o site do Python.
- Clique em Fazer o download do Python para seu sistema operacional (Windows ou Mac).
Instale o Python.
- No Windows:
- Execute o instalador.
- Marque a caixa que diz Adicionar Python ao PATH.
- Clique em Instalar agora.
No Mac:
- O Python já pode estar instalado. Caso contrário, instale a versão mais recente usando o terminal.
- Abra o Terminal e digite o seguinte comando:
python --version
- No Windows:
Baixar o script de integração do Sophos
- Acesse a página do GitHub para o repositório do GitHub de integração do SIEM do Sophos Central.
- Clique no botão verde Code > Download ZIP.
- Extraia o arquivo ZIP.
Configurar o script
- Encontre e abra o arquivo
config.inicom um editor de texto. - 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.
- Salve o arquivo.
Executar o script
Acesse a pasta de script.
No Windows:
- Pressione a tecla Windows e digite
cmd. - Clique em Prompt de comando.
- Acesse a pasta do script:
cd C:UsersYourNameDownloadsSophos-Central-SIEM-Integration- Pressione a tecla Windows e digite
No macOS:
- Acesse Aplicativos > Utilitários.
- Abra o Terminal.
- Acesse a pasta do script:
cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
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):
- Abra o Agendador de tarefas digitando Agendador de tarefas no menu Iniciar.
- Clique em Criar tarefa.
- Na guia Geral:
- Nomeie a tarefa, por exemplo,
Sophos AV Log Export.
- Nomeie a tarefa, por exemplo,
- Na guia Gatilhos:
- Clique em Novo e defina a tarefa para ser executada Diariamente ou Na inicialização (dependendo da sua preferência).
- Na guia Ações:
- Clique em Novo e selecione Iniciar um programa.
- Procure o executável
python.exe(geralmente encontrado emC:PythonXXpython.exe). - No campo Adicionar argumentos, digite o caminho para o script, por exemplo,
C:UsersYourNameDownloadsSophos-Central-SIEM-Integrationsiem.py.
- Clique em OK para salvar a tarefa.
Automatize o script para ser executado continuamente no Mac (usando Cron Jobs):
- Abra o Terminal.
- Digite
crontab -ee pressioneEnter. Adicione uma nova linha ao final do arquivo:
* * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.pySalve 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: unknown → NETWORK_CONNECTION, allowed → SCAN_PROCESS, blocked → `SCAN_PROC... |
e_type |
metadata.event_type |
Valores mapeados (11 no total, por exemplo, NonCompliant → SCAN_HOST, SavDisabled → `SETTING_MODIFIC... |
type |
metadata.event_type |
Valores mapeados (13 no total, por exemplo, Event::Endpoint::NonCompliant → SCAN_HOST, "Event::Endpoin... |
e_type |
metadata.product_event_type |
Mapeado diretamente |
type |
metadata.product_event_type |
Mapeado diretamente |
action |
network.direction |
Mapeado: warned → OUTBOUND, unknown → OUTBOUND |
e_type |
network.direction |
Mapeado: WindowsFirewall::Blocked → OUTBOUND |
type |
network.direction |
Mapeado: Event::Endpoint::WindowsFirewall::Blocked → OUTBOUND |
action |
network.ip_protocol |
Mapeado: warned → TCP, unknown → TCP |
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, allow → sec_action, unknown → sec_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, low → LOW, low → MEDIUM, low → HIGH) |
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: SavDisabled → Real time protection, OutOfDate → Device Registration, `Regist... |
p_device |
target.resource.name |
Mapeado diretamente |
scan_name |
target.resource.name |
Mapeado diretamente |
type |
target.resource.name |
Mapeado: Event::Endpoint::SavDisabled → Real time protection, `Event::Endpoint::OutOfDate... |
action |
target.resource.type |
Mapeado: blocked → Device, restricted to read-only → Device |
e_type |
target.resource.type |
Valores mapeados (5 no total, por exemplo, SavDisabled → SETTING, OutOfDate → SETTING, "Registered... |
type |
target.resource.type |
Valores mapeados (5 no total, por exemplo, Event::Endpoint::SavDisabled → SETTING, "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.