Coletar registros do Sophos XG Firewall

Compatível com:

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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. 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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. 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

Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. 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.
    2. Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Notepad).
  2. 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
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID real do cliente.

  5. 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

  1. Faça login no Sophos XG Firewall.
  2. Acesse Configurar > Serviços do sistema > Configurações de registro.
  3. Na seção Syslog servers, clique em Add.
  4. 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.
  5. Clique em Salvar.
  6. 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

  1. 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
  2. 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
  3. Selecione os seguintes registros de proteção de rede (registro de IPS):
    • Anomalia
    • Assinatura
  4. 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 para network.sent_packets.
  • packets_received foi mapeado para network.received_packets.
  • src_trans_ip foi mapeado para principal.nat_ip.
  • src_trans_port foi mapeado para principal.nat_port.
  • dst_trans_ip foi mapeado para target.nat_ip.
  • dst_trans_port foi mapeado para target.nat_port.
  • bytes_sent foi mapeado para network.sent_bytes.
  • bytes_received foi mapeado para network.received_bytes.
  • duration foi mapeado para network.session_duration.
  • referer foi mapeado para network.http.referer_url.
  • Mapeamento de ipaddress para principal.ip e network.dhcp.ciaddr.
  • client_physical_address foi mapeado para network.dhcp.chaddr.
  • client_host_name foi mapeado para network.dhcp.client_hostname.
  • reason foi mapeado para security_result.summary.
  • http_status foi mapeado para network.http.response_code.
  • app_name foi mapeado para principal.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 para security_result.detection_fields.

2023-11-10

Melhoria:

  • fw_rule_type foi mapeado para security_result.rule_type.
  • severity foi mapeado para security_result.severity.
  • device_serial_id foi mapeado para principal.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 para security_result.detection_fields.

2023-04-03

Melhoria:

  • O mapeamento de device_name foi modificado de principal.hostname para intermediary.hostname.
  • O mapeamento de device_id foi modificado de principal.asset.asset_id para intermediary.asset.asset_id.
  • O mapeamento de metadata.vendor_name foi modificado de SOPHOS Ltd. para SOPHOS.
  • sent_pkts foi mapeado para network.sent_packets.
  • recv_pkts foi mapeado para network.received_packets.
  • tran_src_ip foi mapeado para principal.nat_ip.
  • tran_src_port foi mapeado para principal.nat_port.
  • tran_dst_ip foi mapeado para target.nat_ip.
  • tran_dst_port foi mapeado para target.nat_port.

2022-12-01

Melhoria:

  • Registros analisados para timezone=IST.
  • application_category, application_risk and application_technology foi mapeado para security_result.detection_fields.
  • fw_rule_name foi mapeado para security_result.rule_name.
  • fw_rule_section foi mapeado para security_result.rule_set.

18/08/2022

Melhoria:

  • Registros analisados para timezone=CEST.
  • Redução da porcentagem de eventos genéricos
  • Mapeou user_name para event.idm.read_only_udm.principal.user.userid
  • Mapeou device_id para event.idm.read_only_udm.principal.asset.asset_id

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.