Coletar registros do Sophos XG Firewall
Neste documento, explicamos como coletar registros do Sophos Next Gen (XG) Firewall usando o Bindplane. O analisador extrai registros, normaliza os pares de chave-valor e os mapeia para o UDM. Ele processa vários formatos de registro, converte carimbos de data/hora, enriquece dados de rede e categoriza eventos com base em IDs de registro e atividade de rede.
Antes de começar
- Verifique se você tem uma instância do Google Security Operations.
- Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado ao Sophos XG Firewall.
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.
- Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança 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
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 raiz 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 processar o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele está 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 Notepad).
- Localize o arquivo
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: '/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 real do cliente.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber o arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
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, use o console Services ou digite o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar servidores syslog do Sophos Firewall
- Faça login no Sophos XG Firewall.
- Acesse Configurar > Serviços do sistema > Configurações de registro.
- Na seção Syslog servers, clique em Add.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome exclusivo para o coletor do Google SecOps.
- Endereço IP/Domínio: insira o endereço IP do Bindplane.
- Port: insira o número da porta do Bindplane.
- Facility: selecione DAEMON.
- Nível de gravidade: selecione Informações.
- Formato: selecione Formato padrão do dispositivo.
- Clique em Salvar.
- Volte para a página Configurações de registro e selecione os tipos de registro específicos a serem encaminhados ao servidor syslog.
Configurar as configurações de registro do Sophos XG Firewall
- Selecione os seguintes registros de firewall básico (registro de política de segurança):
- Regras de política
- Tráfego inválido
- ACLs locais
- Ataque DoS
- Pacote redirecionado ICMP descartado
- Pacote com roteamento de origem descartado
- Tráfego fragmentado descartado
- Filtragem MAC
- Filtragem de pares IP-MAC
- Prevenção de falsificação de IP
- Túnel de VPN SSL
- Servidor de aplicativos protegido
- Heartbeat
- Selecione os seguintes registros de proteção da Web (registro de filtragem da Web e registro de filtragem de aplicativos):
- Filtro da Web
- Filtro de aplicativo
- Selecione os seguintes registros de proteção de rede (registro de IPS):
- Anomalia
- Assinatura
- Selecione o seguinte registro de Registro do sistema:
- Eventos do sistema
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do 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 dos campos date e time , ajustado para o fuso horário. |
device_id |
intermediary.asset.asset_id |
Valor do campo device_id , com 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 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 do campo priority ou severity com base em uma tabela de pesquisa. |
protocol |
network.ip_protocol |
Analisado do campo protocol usando 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 dos campos date e time , ajustado para o fuso horário. |
timestamp |
event.timestamp |
Analisado 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 . A versão analisada também foi gerada. |
user_gp |
extensions.auth.type |
Se user_gp for vpn , defina extensions.auth.type como VPN . |
user_name |
principal.user.userid , principal.user.email_addresses |
Valor do campo user_name . Se ele contiver @ , também será 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 transferência do Chronicle especifica o tipo de registro 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 |
Defina como DHCP se o campo ipaddress estiver presente. Caso contrário, é derivada 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 |
Derivada dos campos status ou log_subtype . |
Alterações
2024-08-26
Melhoria:
- Registros analisados para timezone=
WAT
.
2023-11-20
Melhoria:
packets_sent
foi mapeado paranetwork.sent_packets
.packets_received
foi mapeado paranetwork.received_packets
.src_trans_ip
foi mapeado paraprincipal.nat_ip
.src_trans_port
foi mapeado paraprincipal.nat_port
.dst_trans_ip
foi mapeado paratarget.nat_ip
.dst_trans_port
foi mapeado paratarget.nat_port
.bytes_sent
foi mapeado paranetwork.sent_bytes
.bytes_received
foi mapeado paranetwork.received_bytes
.duration
foi mapeado paranetwork.session_duration
.referer
foi mapeado paranetwork.http.referer_url
.- Mapeamento de
ipaddress
paraprincipal.ip
enetwork.dhcp.ciaddr
. client_physical_address
foi mapeado paranetwork.dhcp.chaddr
.client_host_name
foi mapeado paranetwork.dhcp.client_hostname
.reason
foi mapeado parasecurity_result.summary
.http_status
foi mapeado paranetwork.http.response_code
.app_name
foi mapeado paraprincipal.application
.- Mapeou
out_display_interface
,web_policy_id
,http_category
,http_category_type
,exceptions
,con_id
,used_quota
,src_zone_type
,src_zone
,dst_zone_type
,dst_zone
,app_risk
,app_category
,nat_rule_name
,gw_id_request
,gw_name_request
,app_filter_policy_id
,app_technology
,in_interface
,out_interface
,con_event
,srczonetype
,dstzonetype
,connevent
,connid
,hb_health
,category_type
,activityname
parasecurity_result.detection_fields
.
2023-11-10
Melhoria:
fw_rule_type
foi mapeado parasecurity_result.rule_type
.severity
foi mapeado parasecurity_result.severity
.device_serial_id
foi mapeado paraprincipal.asset.asset_id
.log_type
,log_component
,log_subtype
,log_version
,nat_rule_id
,ether_type
,hb_status
,app_resolved_by
,app_is_cloud
,qualifier
,log_occurrence
,in_display_interface
foram mapeados parasecurity_result.detection_fields
.
2023-04-03
Melhoria:
- O mapeamento de
device_name
foi modificado deprincipal.hostname
paraintermediary.hostname
. - O mapeamento de
device_id
foi modificado deprincipal.asset.asset_id
paraintermediary.asset.asset_id
. - O mapeamento de
metadata.vendor_name
foi modificado deSOPHOS Ltd.
paraSOPHOS
. sent_pkts
foi mapeado paranetwork.sent_packets
.recv_pkts
foi mapeado paranetwork.received_packets
.tran_src_ip
foi mapeado paraprincipal.nat_ip
.tran_src_port
foi mapeado paraprincipal.nat_port
.tran_dst_ip
foi mapeado paratarget.nat_ip
.tran_dst_port
foi mapeado paratarget.nat_port
.
2022-12-01
Melhoria:
- Registros analisados para timezone=
IST
. application_category, application_risk and application_technology
foi mapeado parasecurity_result.detection_fields
.fw_rule_name
foi mapeado parasecurity_result.rule_name
.fw_rule_section
foi mapeado parasecurity_result.rule_set
.
18/08/2022
Melhoria:
- Registros analisados para timezone=
CEST
. - Redução da porcentagem de eventos genéricos
- Mapeou
user_name
paraevent.idm.read_only_udm.principal.user.userid
- Mapeou
device_id
paraevent.idm.read_only_udm.principal.asset.asset_id
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.