Recolha registos do firewall Sophos XG
Este documento explica como recolher registos da firewall Sophos Next Gen (XG) através do Bindplane. O analisador extrai registos, normaliza os pares de chave/valor e mapeia-os para o UDM. Processa vários formatos de registo, converte datas/horas, enriquece os dados de rede e categoriza eventos com base nos IDs de registo e na atividade de rede.
Antes de começar
- Certifique-se de que tem uma instância do Google Security Operations.
- Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com
systemd. - Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
- Certifique-se de que tem acesso privilegiado à firewall Sophos XG.
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte 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 raiz ou sudo.
Execute o seguinte comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalação adicionais
- Para ver opções de instalação adicionais, consulte este guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- Localize o ficheiro
config.yaml. Normalmente, encontra-se no diretório/etc/bindplane-agent/no Linux ou no diretório de instalação no Windows. - Abra o ficheiro com um editor de texto (por exemplo,
nano,viou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
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: '/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: SYSLOG namespace: sophos_firewall raw_log_field: body 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 onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
Reinicie o agente do Bindplane para aplicar as alterações
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agentPara reiniciar o agente do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configure servidores Syslog da firewall Sophos
- Inicie sessão na firewall Sophos XG.
- Aceda a Configurar > Serviços do sistema > Definições de registo.
- Na secção Servidores Syslog, clique em Adicionar.
- Indique os seguintes detalhes de configuração:
- Nome: introduza um nome exclusivo para o coletor do Google SecOps.
- Endereço IP/domínio: introduza o endereço IP do Bindplane.
- Porta: introduza o número da porta do Bindplane.
- Instalação: selecione DAEMON.
- Nível de gravidade: selecione Informações.
- Formato: selecione Formato padrão do dispositivo.
- Clique em Guardar.
- Regresse à página Definições de registo e selecione os tipos de registos específicos a encaminhar para o servidor syslog.
Configure as definições de registo da firewall Sophos XG
- Selecione os seguintes registos Firewall base (registo da política de segurança):
- Regras da política
- Tráfego inválido
- LCAs locais
- Ataque DoS
- Pacote redirecionado ICMP rejeitado
- Pacote encaminhado de origem rejeitado
- Tráfego fragmentado rejeitado
- Filtragem de MAC
- Filtragem de pares IP-MAC
- Prevenção de spoofing de IP
- Túnel de VPN SSL
- Servidor de aplicações protegido
- Batimento cardíaco
- Selecione os seguintes registos de Proteção Web (registo de filtragem Web e registo de filtragem de aplicações):
- Filtro Web
- Filtro de aplicações
- Selecione os seguintes registos de Proteção de rede (registo de IPS):
- Anomalia
- Assinatura
- Selecione o seguinte registo do Registo do sistema:
- Eventos do sistema
Tabela de mapeamento da UDM
| Campo de registo | Mapeamento de UDM | Lógica |
|---|---|---|
activityname |
security_result.detection_fields.activityname |
Valor do campo activityname. |
app_category |
security_result.detection_fields.Application Category, application_category |
Valor do campo app_category. |
app_filter_policy_id |
security_result.detection_fields.app_filter_policy_id |
Valor do campo app_filter_policy_id. |
app_is_cloud |
security_result.detection_fields.app_is_cloud |
Valor do campo app_is_cloud. |
app_name |
principal.application |
Valor do campo app_name. |
app_resolved_by |
security_result.detection_fields.app_resolved_by |
Valor do campo app_resolved_by. |
app_risk |
security_result.detection_fields.Application Risk, application_risk |
Valor do campo app_risk. |
app_technology |
application_technology |
Valor do campo app_technology. |
application |
principal.application |
Valor do campo application. |
application_category |
security_result.detection_fields.Application Category |
Valor do campo application_category. |
application_risk |
security_result.detection_fields.Application Risk |
Valor do campo application_risk. |
application_technology |
security_result.detection_fields.Application Technology |
Valor do campo application_technology. |
bytes_received |
network.received_bytes |
Valor do campo bytes_received. |
bytes_sent |
network.sent_bytes |
Valor do campo bytes_sent. |
category |
application_category |
Valor do campo category. |
category_type |
security_result.detection_fields.category_type |
Valor do campo category_type. |
client_host_name |
network.dhcp.client_hostname |
Valor do campo client_host_name. |
client_physical_address |
network.dhcp.chaddr |
Valor do campo client_physical_address. |
con_event |
security_result.detection_fields.con_event |
Valor do campo con_event. |
con_id |
security_result.detection_fields.con_id |
Valor do campo con_id. |
connevent |
security_result.detection_fields.connevent |
Valor do campo connevent. |
connid |
security_result.detection_fields.connid |
Valor do campo connid. |
date |
event.timestamp |
Analisado a partir dos campos date e time, ajustado para o fuso horário. |
device_id |
intermediary.asset.asset_id |
Valor do campo device_id, com o prefixo ID:. |
device_model |
intermediary.hostname |
Valor do campo device_model. |
device_name |
intermediary.hostname |
Valor do campo device_name. |
device_serial_id |
intermediary.asset.asset_id |
Valor do campo device_serial_id, com o prefixo ID:. |
domain |
principal.administrative_domain, target.hostname |
Valor do campo domain. |
dst_country |
target.location.country_or_region |
Valor do campo dst_country. |
dst_country_code |
target.location.country_or_region |
Valor do campo dst_country_code. |
dst_ip |
target.ip |
Valor do campo dst_ip. |
dst_mac |
target.mac |
Valor do campo dst_mac. |
dst_port |
target.port |
Valor do campo dst_port. |
dst_trans_ip |
target.nat_ip |
Valor do campo dst_trans_ip. |
dst_trans_port |
target.nat_port |
Valor do campo dst_trans_port. |
dst_zone |
security_result.detection_fields.dst_zone |
Valor do campo dst_zone. |
dstzone |
security_result.detection_fields.dstzone |
Valor do campo dstzone. |
dstzonetype |
security_result.detection_fields.dstzonetype |
Valor do campo dstzonetype. |
duration |
network.session_duration.seconds |
Valor do campo duration. |
ether_type |
security_result.detection_fields.ether_type |
Valor do campo ether_type. |
exceptions |
security_result.detection_fields.exceptions |
Valor do campo exceptions. |
fw_rule_id |
security_result.rule_id |
Valor do campo fw_rule_id. |
fw_rule_name |
security_result.rule_name |
Valor do campo fw_rule_name. |
fw_rule_section |
security_result.rule_set |
Valor do campo fw_rule_section. |
fw_rule_type |
security_result.rule_type |
Valor do campo fw_rule_type. |
gw_id_request |
security_result.detection_fields.gw_id_request |
Valor do campo gw_id_request. |
gw_name_request |
security_result.detection_fields.gw_name_request |
Valor do campo gw_name_request. |
hb_health |
security_result.detection_fields.hb_health |
Valor do campo hb_health. |
hb_status |
security_result.detection_fields.hb_status |
Valor do campo hb_status. |
http_category |
security_result.detection_fields.http_category |
Valor do campo http_category. |
http_category_type |
security_result.detection_fields.http_category_type |
Valor do campo http_category_type. |
http_status |
network.http.response_code |
Valor do campo http_status. |
in_display_interface |
security_result.detection_fields.in_display_interface |
Valor do campo in_display_interface. |
in_interface |
security_result.detection_fields.in_interface |
Valor do campo in_interface. |
ipaddress |
principal.ip, network.dhcp.ciaddr |
Valor do campo ipaddress. |
log_component |
metadata.product_event_type, security_result.detection_fields.log_component |
Valor do campo log_component. |
log_id |
metadata.product_log_id |
Valor do campo log_id. |
log_msg |
metadata.description |
Valor do campo message após a remoção de message=. |
log_occurrence |
security_result.detection_fields.log_occurrence |
Valor do campo log_occurrence. |
log_subtype |
security_result.detection_fields.log_subtype, security_result.action |
Valor do campo log_subtype. |
log_type |
security_result.detection_fields.log_type |
Valor do campo log_type. |
log_version |
security_result.detection_fields.log_version |
Valor do campo log_version. |
message |
metadata.description |
Valor do campo message. |
nat_rule_id |
security_result.detection_fields.nat_rule_id |
Valor do campo nat_rule_id. |
nat_rule_name |
security_result.detection_fields.nat_rule_name |
Valor do campo nat_rule_name. |
out_display_interface |
security_result.detection_fields.out_display_interface |
Valor do campo out_display_interface. |
out_interface |
security_result.detection_fields.out_interface |
Valor do campo out_interface. |
packets_received |
network.received_packets |
Valor do campo packets_received. |
packets_sent |
network.sent_packets |
Valor do campo packets_sent. |
priority |
security_result.severity |
Mapeado a partir do campo priority ou severity com base numa tabela de consulta. |
protocol |
network.ip_protocol |
Analisado a partir do campo protocol através de uma tabela de pesquisa. |
reason |
security_result.detection_fields.reason, security_result.summary |
Valor do campo reason. |
recv_bytes |
network.received_bytes |
Valor do campo recv_bytes. |
recv_pkts |
network.received_packets |
Valor do campo recv_pkts. |
referer |
network.http.referral_url |
Valor do campo referer. |
rule_id |
security_result.rule_id |
Valor do campo rule_id. |
rule_name |
security_result.rule_name |
Valor do campo rule_name. |
sent_bytes |
network.sent_bytes |
Valor do campo sent_bytes. |
sent_pkts |
network.sent_packets |
Valor do campo sent_pkts. |
severity |
priority |
Valor do campo severity. |
src_country |
principal.location.country_or_region |
Valor do campo src_country. |
src_country_code |
principal.location.country_or_region |
Valor do campo src_country_code. |
src_ip |
principal.ip |
Valor do campo src_ip. |
src_mac |
principal.mac |
Valor do campo src_mac. |
src_port |
principal.port |
Valor do campo src_port. |
src_trans_ip |
principal.nat_ip |
Valor do campo src_trans_ip. |
src_trans_port |
principal.nat_port |
Valor do campo src_trans_port. |
src_zone |
security_result.detection_fields.src_zone |
Valor do campo src_zone. |
srczone |
security_result.detection_fields.srczone |
Valor do campo srczone. |
srczonetype |
security_result.detection_fields.srczonetype |
Valor do campo srczonetype. |
status |
security_result.action_details, security_result.action |
Valor do campo status. |
status_code |
network.http.response_code |
Valor do campo status_code. |
target.url |
target.url |
Valor do campo url. |
time |
event.timestamp |
Analisado a partir dos campos date e time, ajustado para o fuso horário. |
timestamp |
event.timestamp |
Analisado a partir do campo timestamp. |
tran_dst_ip |
target.nat_ip |
Valor do campo tran_dst_ip. |
tran_dst_port |
target.nat_port |
Valor do campo tran_dst_port. |
tran_src_ip |
principal.nat_ip |
Valor do campo tran_src_ip. |
tran_src_port |
principal.nat_port |
Valor do campo tran_src_port. |
url |
target.url |
Valor do campo url. |
used_quota |
security_result.detection_fields.used_quota |
Valor do campo used_quota. |
user_agent |
network.http.user_agent, network.http.parsed_user_agent |
Valor do campo user_agent. Versão analisada também gerada. |
user_gp |
extensions.auth.type |
Se user_gp for vpn, define extensions.auth.type como VPN. |
user_name |
principal.user.userid, principal.user.email_addresses |
Valor do campo user_name. Se contiver @, também é adicionado a email_addresses. |
web_policy_id |
security_result.detection_fields.web_policy_id |
Valor do campo web_policy_id. |
| N/A | event.idm.read_only_udm.metadata.event_timestamp |
Copiado de event.timestamp. |
| N/A | event.idm.read_only_udm.metadata.log_type |
O esquema de carregamento do Chronicle especifica o tipo de registo como SOPHOS_FIREWALL. |
| N/A | event.idm.read_only_udm.metadata.vendor_name |
Valor constante SOPHOS. |
| N/A | event.idm.read_only_udm.metadata.product_name |
Valor constante SOPHOS Firewall. |
| N/A | event.idm.read_only_udm.network.application_protocol |
Definido como DHCP se o campo ipaddress estiver presente. Caso contrário, derivado do campo protocol. |
| N/A | event.idm.read_only_udm.metadata.event_type |
Determinado pela lógica com base na presença de outros campos (por exemplo, NETWORK_HTTP, NETWORK_CONNECTION, NETWORK_DHCP, STATUS_UPDATE, GENERIC_EVENT). |
| N/A | event.idm.read_only_udm.security_result.action |
Derivados dos campos status ou log_subtype. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.