Coletar registros do firewall Sophos XG

Compatível com:

Neste documento, explicamos como coletar registros do firewall de próxima geração (XG) da Sophos 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.
  • Use o Windows 2016 ou uma versão mais recente ou um host Linux com systemd.
  • Se você 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. 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 do 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 root 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 ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. Localize o arquivo config.yaml. Normalmente, ele fica 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 Bloco de Notas).
  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 do cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber 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 Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar servidores syslog do firewall Sophos

  1. Faça login no Sophos XG Firewall.
  2. Acesse Configurar > Serviços do sistema > Configurações de registro.
  3. Na seção Servidores Syslog, clique em Adicionar.
  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.
    • Porta: 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 para encaminhar ao servidor syslog.

Configurar as configurações de registro do firewall Sophos XG

  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 ICMP redirecionado descartado
    • Pacote de origem descartado
    • Tráfego fragmentado descartado
    • Filtragem MAC
    • Filtragem de pares IP-MAC
    • Prevenção de spoofing de IP
    • Túnel de VPN SSL
    • Servidor de aplicativos protegido
    • Heartbeat
  2. Selecione os seguintes registros de Proteção da Web (log de filtragem da Web e log de filtragem de aplicativos):
    • Filtro da Web
    • Filtro de aplicativo
  3. Selecione os seguintes registros de Proteção de rede (registro do 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 consulta.
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. 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 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 ingestão 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, derivado do campo protocol.
N/A event.idm.read_only_udm.metadata.event_type Determinado por 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 Derivado dos campos status ou log_subtype.

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