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
,vi
ou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
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: SYSLOG namespace: sophos_firewall raw_log_field: body 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 ID de cliente real.Atualize
/path/to/ingestion-authentication-file.json
para 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-agent
Para 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.