Coletar registros de DHCP da Sophos
Este documento explica como ingerir registros de DHCP da Sophos no Google Security Operations usando o Bindplane.
O analisador extrai campos de registros formatados do syslog DHCP da Sophos usando grok e/ou kv. Ele mapeia esses valores para o Modelo Unificado de Dados (UDM, na sigla em inglês) e define valores padrão de metadados para a origem e o tipo do evento.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps.
- Um host Windows 2016 ou mais recente ou Linux com systemd.
- Conectividade de rede: 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 à UI do administrador do Sophos Firewall/UTM.
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 > Agente 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 de instalação.
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/opt/observiq-otel-collectorno 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_DHCP' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<customer_id>pelo seu 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 no Linux, execute o seguinte comando:
/opt/observiq-otel-collector/config.yamlPara reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o encaminhamento de Syslog no DHCP da Sophos
- Faça login na interface de administração do Sophos Firewall/UTM com privilégios de administrador.
- Acesse as configurações do syslog:
- Sophos Firewall:Serviços do sistema > Configurações de registro.
- Sophos UTM:Logging & Reporting > Log Settings > Remote Syslog Server.
- Clique em Adicionar em Servidores Syslog e forneça os seguintes detalhes:
- Nome: um nome descritivo (por exemplo,
GoogleSecOps-BindPlane). - Endereço IP/domínio: o endereço IP do host do agente do Bindplane.
- Porta: a porta do agente do Bindplane (por exemplo,
514). - Facilidade: DAEMON.
- Nível de gravidade: Informações (ajuste de acordo com sua política interna).
- Formato: formato padrão do dispositivo (chave=valor) para se alinhar com SYSLOG + KV.
- Nome: um nome descritivo (por exemplo,
- Clique em Salvar/Aplicar para começar a encaminhar os registros relacionados ao DHCP.
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
msg |
metadata.description |
Mapeado diretamente |
sub |
metadata.description |
Mapeado diretamente |
log_date |
metadata.event_timestamp |
Analisado como yyyy:MM:dd-HH:mm:ss |
log_date_inner |
metadata.event_timestamp |
Analisado como MMM dd HH:mm:ss |
event_type |
metadata.event_type |
Mapeado diretamente |
msg |
metadata.event_type |
Mapeado: call=new → GENERIC_EVENT |
process_type |
metadata.event_type |
Mapeado: "confd","ulogd" → GENERIC_EVENT, dhcpd → GENERIC_EVENT, dhcpd → `NETWORK_D... |
id |
metadata.product_event_type |
Mapeado diretamente |
process_type |
metadata.product_event_type |
Mapeado diretamente |
msg |
metadata.product_name |
Mapeado: call=new → SOPHOS_DHCP |
process_type |
metadata.product_name |
Mapeado: "confd","ulogd" → SOPHOS_DHCP |
msg |
metadata.vendor_name |
Mapeado: call=new → SOPHOS |
process_type |
metadata.vendor_name |
Mapeado: "confd","ulogd" → SOPHOS |
process_type |
network.application_protocol |
Mapeado: dhcpd → DHCP |
src_mac |
network.dhcp.chaddr |
Mapeado diretamente |
src_ip |
network.dhcp.ciaddr |
Mapeado diretamente |
src_host |
network.dhcp.client_hostname |
Mapeado diretamente |
dhcp_type |
network.dhcp.opcode |
Mapeado: DHCPREQUEST → BOOTREQUEST, DHCPACK → BOOTREPLY, DHCPOFFER → BOOTREPLY, `... |
process_type |
network.dhcp.opcode |
Mapeado: dhcpd → BOOTREQUEST, dhcpd → BOOTREPLY |
dhcp_type |
network.dhcp.type |
Mapeado: DHCPREQUEST → REQUEST, DHCPACK → ACK, DHCPOFFER → OFFER, DHCPNAK → NAK |
process_type |
network.dhcp.type |
Mapeado: dhcpd → REQUEST, dhcpd → ACK, dhcpd → OFFER, dhcpd → NAK |
src_ip |
network.dhcp.yiaddr |
Mapeado diretamente |
ip_protocol_out |
network.ip_protocol |
Mapeado diretamente |
src_host |
observer.hostname |
Mapeado diretamente |
dhcp_type |
observer.ip |
Mapeado: DHCPREQUEST → src_ip |
process_type |
observer.ip |
Mapeado: dhcpd → src_ip |
src_ip |
observer.ip |
Mesclado |
client |
principal.hostname |
Mapeado diretamente |
src_host |
principal.hostname |
Mapeado diretamente |
dhcp_type |
principal.ip |
Mapeado: DHCPREQUEST → src_ip, DHCPNAK → src_ip |
ip |
principal.ip |
Mesclado |
msg |
principal.ip |
Mapeado: call=new → srcip |
oldattr_address |
principal.ip |
Mesclado |
process_type |
principal.ip |
Mapeado: "confd","ulogd" → srcip, "confd","ulogd" → oldattr_address, "confd","ulogd"... |
src_ip |
principal.ip |
Mesclado |
srcip |
principal.ip |
Mesclado |
dhcp_type |
principal.mac |
Mapeado: DHCPREQUEST → src_mac, DHCPNAK → src_mac |
process_type |
principal.mac |
Mapeado: "confd","ulogd" → srcmac, dhcpd → src_mac |
src_mac |
principal.mac |
Mesclado |
srcmac |
principal.mac |
Mesclado |
srcport |
principal.port |
Mapeado diretamente |
pid |
principal.process.pid |
Mapeado diretamente |
objname |
principal.resource.name |
Mapeado diretamente |
user |
principal.user.userid |
Mapeado diretamente |
msg |
security_result |
Mapeado: call=new → sec_result |
process_type |
security_result |
Mapeado: "confd","ulogd" → sec_result, "confd","ulogd" → security_result |
sec_result |
security_result |
Mesclado |
initf_label |
security_result.about.labels |
Mesclado |
outitf_label |
security_result.about.labels |
Mesclado |
process_type |
security_result.about.labels |
Mapeado: "confd","ulogd" → initf_label, "confd","ulogd" → outitf_label, "confd","ulo... |
sid_label |
security_result.about.labels |
Mesclado |
tcpflags_label |
security_result.about.labels |
Mesclado |
action |
security_result.action_details |
Mapeado diretamente |
action |
security_result.category |
Mapeado: portscan → category |
category |
security_result.category |
Mesclado |
process_type |
security_result.category |
Mapeado: "confd","ulogd" → category |
info |
security_result.description |
Mapeado diretamente |
name |
security_result.description |
Mapeado diretamente |
fwrule |
security_result.rule_id |
Mapeado diretamente |
process_type |
security_result.severity |
Mapeado: "confd","ulogd" → INFORMATIONAL, "confd","ulogd" → MEDIUM |
severity |
security_result.severity |
Mapeado: "info","debug" → INFORMATIONAL, warn → MEDIUM |
call |
security_result.summary |
Mapeado diretamente |
attr_address |
target.ip |
Mesclado |
dstip |
target.ip |
Mesclado |
ip |
target.ip |
Mesclado |
process_type |
target.ip |
Mapeado: "confd","ulogd" → dstip, "confd","ulogd" → attr_address, "confd","ulogd" →... |
dstmac |
target.mac |
Mesclado |
process_type |
target.mac |
Mapeado: "confd","ulogd" → dstmac |
dstport |
target.port |
Mapeado diretamente |
| N/A | metadata.event_type |
Constante: GENERIC_EVENT |
| N/A | metadata.product_name |
Constante: SOPHOS_DHCP |
| N/A | metadata.vendor_name |
Constante: SOPHOS |
| N/A | network.application_protocol |
Constante: DHCP |
| N/A | network.dhcp.opcode |
Constante: BOOTREQUEST |
| N/A | network.dhcp.type |
Constante: REQUEST |
| N/A | security_result.severity |
Constante: INFORMATIONAL |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.