Recolha registos do WatchGuard Fireware

Compatível com:

Vista geral

Este analisador extrai registos do WatchGuard Fireware no formato JSON ou de chave-valor (KV), transformando-os em UDM. Processa os registos de "Tráfego" e "Eventos" de forma diferente, usando filtros grok e kv para extrair campos e mapeá-los para o UDM, com lógica específica para vários valores msg_id e nomes de eventos, processando protocolos de rede, ações do utilizador, resultados de segurança e outros detalhes relevantes. Também processa um segundo grupo de entradas de syslog, extraindo informações semelhantes e mapeando-as para o formato UDM.

Antes de começar

  • Certifique-se de que tem uma instância do Google SecOps.
  • Certifique-se de que tem acesso privilegiado ao Watchguard.
  • Certifique-se de que tem um anfitrião Windows 2012 SP2 ou posterior, ou 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.

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

  1. Para a instalação do Windows, execute o seguinte script: msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Para a instalação do Linux, execute o seguinte script: sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Pode encontrar opções de instalação adicionais neste guia de instalação.

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda à máquina onde o Bindplane está instalado.
  2. Edite o ficheiro config.yaml da seguinte forma:

    receivers:
      tcplog:
        # Replace the below port <54525> and IP (0.0.0.0) with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: testNamespace
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicie o agente do Bindplane para aplicar as alterações através do seguinte comando: sudo systemctl bindplane restart

Adicione a configuração do servidor Syslog ao Watchguard

  1. Inicie sessão na IU do Watchguard.
  2. Selecione Sistema > Registo.
  3. Clique no separador Servidor Syslog.
  4. Selecione a caixa de verificação Enviar mensagens de registo para estes servidores syslog.
  5. Clique em Adicionar.
  6. Especifique valores para os parâmetros de entrada na caixa de diálogo Servidor Syslog:

    • Endereço IP: escreva o endereço IP do servidor.
    • Porta: altere a porta do servidor syslog predefinida (514) e introduza uma porta diferente para o seu servidor.
    • Formato do registo: selecione Syslog no menu pendente.
    • Opcional: Descrição: escreva uma descrição para o servidor (por exemplo, Exportação do Google SecOps).
    • Opcional: A indicação de tempo: selecione a caixa de verificação para incluir a data e a hora em que o evento ocorre no Firebox nos detalhes da mensagem de registo.
    • Opcional: o número de série do dispositivo selecione a caixa de verificação para incluir o número de série do Firebox nos detalhes da mensagem de registo.
    • Instalação do Syslog: para cada tipo de mensagem de registo, selecione uma prioridade no menu pendente (por exemplo, para mensagens do Syslog de alta prioridade, como alarmes, selecione Local0).
    • Opcional: Restaurar predefinições: para restaurar as predefinições.
  7. Clique em Guardar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
action security_result.action_details O valor de action do registo não processado é atribuído a security_result.action_details.
action target.labels.value O valor de action do registo não processado é atribuído a target.labels.value, sendo target.labels.key "Ação sobre o recurso".
arg target.file.full_path O valor de arg do registo não processado é atribuído a target.file.full_path.
app_cat_id about.labels.value O valor de app_cat_id do registo não processado é atribuído a about.labels.value, sendo about.labels.key "app_cat_id".
app_cat_name target.application Usado em combinação com app_name para formar o valor de target.application (por exemplo, "Google – Serviços Web").
app_id about.labels.value O valor de app_id do registo não processado é atribuído a about.labels.value, sendo about.labels.key "app_id".
app_name target.application Usado em combinação com app_cat_name para formar o valor de target.application (por exemplo, "Google – Serviços Web").
cats security_result.category_details O valor de cats do registo não processado é atribuído a security_result.category_details.
cert_issuer network.tls.server.certificate.issuer O valor de cert_issuer do registo não processado é atribuído a network.tls.server.certificate.issuer.
cert_subject network.tls.server.certificate.subject O valor de cert_subject do registo não processado é atribuído a network.tls.server.certificate.subject.
cn network.tls.server.certificate.subject O valor de cn do registo não processado é atribuído a network.tls.server.certificate.subject.
conn_action security_result.action_details O valor de conn_action do registo não processado é atribuído a security_result.action_details.
content_type Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
description metadata.description O valor de description derivado do registo não processado é atribuído a metadata.description.
dhcp_type network.dhcp.type O valor de dhcp_type do registo não processado é mapeado para o tipo de DHCP correspondente em network.dhcp.type (por exemplo, "REQUEST", "ACK").
dst_host target.hostname O valor de dst_host do registo não processado é atribuído a target.hostname.
dst_ip target.ip O valor de dst_ip do registo não processado é atribuído a target.ip.
dst_mac target.mac O valor de dst_mac do registo não processado é atribuído a target.mac.
dst_port target.port O valor de dst_port do registo não processado é atribuído a target.port.
dst_user target.user.user_display_name O valor de dst_user do registo não processado é atribuído a target.user.user_display_name.
dstname target.administrative_domain O valor de dstname do registo não processado é atribuído a target.administrative_domain.
duration Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
elapsed_time Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
endpoint intermediary.labels.value O valor de endpoint do registo não processado é atribuído a intermediary.labels.value, sendo intermediary.labels.key "Gateway-Endpoint".
event_name principal.application O valor de event_name do registo não processado é atribuído a principal.application.
firewall_id intermediary.asset_id O valor de firewall_id do registo não processado tem "Firewall ID : " adicionado no início e é atribuído a intermediary.asset_id.
firewall_name principal.asset_id O valor de firewall_name do registo não processado tem "Firewall: " adicionado no início e é atribuído a principal.asset_id.
firewallname intermediary.hostname O valor de firewallname do registo não processado é atribuído a intermediary.hostname.
firewallname principal.hostname O valor de firewallname do registo não processado é atribuído a principal.hostname.
fqdn_dst_match Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
geo Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
geo_dst target.location.country_or_region O valor de geo_dst do registo não processado é atribuído a target.location.country_or_region.
geo_src principal.location.country_or_region O valor de geo_src do registo não processado é atribuído a principal.location.country_or_region.
host Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
ike_policy security_result.rule_id O valor de ike_policy do registo não processado é atribuído a security_result.rule_id.
ike_policy_version security_result.rule_version O valor de ike_policy_version do registo não processado é atribuído a security_result.rule_version.
intermediary_host intermediary.hostname O valor de intermediary_host do registo não processado é atribuído a intermediary.hostname.
ipaddress Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
ipsec_policy Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
ipsec_policy_version Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
keyword Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
line Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
log_message metadata.description O valor de log_message do registo não processado é atribuído a metadata.description quando não estão disponíveis outras descrições mais específicas.
log_reason security_result.summary O valor de log_reason do registo não processado é atribuído a security_result.summary.
log_type metadata.log_type O valor de log_type do registo não processado é atribuído a metadata.log_type. Está sempre definido como "WATCHGUARD".
msg security_result.summary O valor de msg do registo não processado é atribuído a security_result.summary.
msg_id metadata.product_event_type O valor de msg_id do registo não processado é atribuído a metadata.product_event_type.
new_action security_result.action_details Usado com conn_action para formar o valor de security_result.action_details (por exemplo, "ProxyReplace: IP protocol - HTTPS-Client.DPI-Off").
op network.http.method O valor de op do registo não processado é atribuído a network.http.method.
path target.url O valor de path do registo não processado é atribuído a target.url.
pid Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
policy_name intermediary.resource.name O valor de policy_name do registo não processado é atribuído a intermediary.resource.name.
policy_name security_result.rule_name O valor de policy_name do registo não processado é atribuído a security_result.rule_name.
policyname_label.value security_result.rule_labels.value O valor de policy_name do registo não processado é atribuído a security_result.rule_labels.value, sendo security_result.rule_labels.key "PolicyName".
prin_host principal.hostname O valor de prin_host do registo não processado é atribuído a principal.hostname.
proc_id Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
protocol network.ip_protocol O valor de protocol do registo não processado, convertido em maiúsculas, é atribuído a network.ip_protocol. Processamento especial para "EXTERNAL ICMP", que é mapeado para "ICMP".
proxy_act security_result.rule_id O valor de proxy_act do registo não processado é atribuído a security_result.rule_id.
proxy_act security_result.rule_name O valor de proxy_act do registo não processado é atribuído a security_result.rule_name.
query_name network.dns.questions.name O valor de query_name do registo não processado é atribuído a network.dns.questions.name.
query_type network.dns.questions.type O valor de query_type do registo não processado é atribuído a network.dns.questions.type. Processamento especial para tipos de consultas numéricas e mapeamento para tipos de consultas DNS padrão.
rc Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
reason security_result.summary O valor de reason do registo não processado é atribuído a security_result.summary.
record_type network.dns.answers.type O valor de record_type do registo não processado é mapeado para o tipo de registo DNS correspondente em network.dns.answers.type.
redirect_action Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
reputation additional.fields.value.string_value O valor de reputation do registo não processado é atribuído a additional.fields.value.string_value, sendo additional.fields.key "reputation".
response Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
response_code network.dns.response_code O valor de response_code do registo não processado é mapeado para o código de resposta DNS correspondente em network.dns.response_code.
route_type Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
rule_name security_result.rule_name O valor de rule_name do registo não processado é atribuído a security_result.rule_name.
rcvd_bytes network.received_bytes O valor de rcvd_bytes do registo não processado é atribuído a network.received_bytes.
sent_bytes network.sent_bytes O valor de sent_bytes do registo não processado é atribuído a network.sent_bytes.
server_ssl Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
severity Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
sig_vers network.tls.server.certificate.version O valor de sig_vers do registo não processado é atribuído a network.tls.server.certificate.version.
signature_cat additional.fields.value.string_value O valor de signature_cat do registo não processado é atribuído a additional.fields.value.string_value, sendo additional.fields.key "signature_cat".
signature_id additional.fields.value.string_value O valor de signature_id do registo não processado é atribuído a additional.fields.value.string_value, sendo additional.fields.key "signature_id".
signature_name additional.fields.value.string_value O valor de signature_name do registo não processado é atribuído a additional.fields.value.string_value, sendo additional.fields.key "signature_name".
sni network.tls.client.server_name O valor de sni do registo não processado é atribuído a network.tls.client.server_name.
src_ctid Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
src_host principal.hostname O valor de src_host do registo não processado é atribuído a principal.hostname.
src_ip principal.ip O valor de src_ip do registo não processado é atribuído a principal.ip.
src_ip_nat Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
src_mac principal.mac O valor de src_mac do registo não processado é atribuído a principal.mac.
src_port principal.port O valor de src_port do registo não processado é atribuído a principal.port.
src_user principal.user.user_display_name O valor de src_user do registo não processado é atribuído a principal.user.user_display_name.
src_user_name principal.user.user_display_name O valor de src_user_name do registo não processado é atribuído a principal.user.user_display_name.
src_vpn_ip principal.ip O valor de src_vpn_ip do registo não processado é atribuído a principal.ip.
srv_ip Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
srv_port Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
ssl_offload Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
tcp_info Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
time metadata.event_timestamp.seconds, timestamp.seconds O valor de time do registo não processado é analisado e usado para preencher metadata.event_timestamp.seconds e timestamp.seconds.
time1 metadata.event_timestamp.seconds, timestamp.seconds O valor de time1 do registo não processado é analisado e usado para preencher metadata.event_timestamp.seconds e timestamp.seconds.
tls_profile about.labels.value O valor de tls_profile do registo não processado é atribuído a about.labels.value, sendo about.labels.key "tls_profile".
tls_version Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
user_name principal.user.userid, principal.user.user_display_name O valor de user_name do registo não processado é atribuído a principal.user.userid ou principal.user.user_display_name, consoante o contexto.
user_type Não mapeado Não mapeado para o objeto IDM nos exemplos de UDM fornecidos.
(N/A) intermediary.resource.type Está sempre definido como "ACCESS_POLICY".
(N/A) metadata.event_type Determinado pela lógica do analisador com base em msg_id, log_type, event_name e outros campos. Pode ser NETWORK_CONNECTION, SERVICE_MODIFICATION, NETWORK_SMTP, NETWORK_DNS, NETWORK_HTTP, USER_LOGIN, USER_LOGOUT, USER_RESOURCE_UPDATE_CONTENT, RESOURCE_PERMISSIONS_CHANGE, RESOURCE_CREATION, GENERIC_EVENT, STATUS_UPDATE ou USER_UNCATEGORIZED.
(N/A) metadata.product_name Está sempre definido como "Fireware".
(N/A) metadata.vendor_name Está sempre definido como "Watchguard".
(N/A) security_result.action Determinado pela lógica do analisador com base em disposition. Pode ser "ALLOW" ou "BLOCK".
(N/A) extensions.auth.type Definido como "AUTHTYPE_UNSPECIFIED" para eventos de início/fim de sessão do utilizador e "VPN" para eventos de rede relacionados com VPNs.
(N/A) network.application_protocol Determinado pela lógica do analisador com base em msg_id e event_name. Pode ser "DNS", "DHCP", "HTTP" ou "HTTPS".
(N/A) network.dns.questions.type Definido como 1 para consultas de registos "A".
(N/A) target.labels.key Definido como "Ação sobre o recurso" quando action é mapeado para target.labels.value.
(N/A) intermediary.labels.key Definido como "Firewall Member Name" quando prin_host está mapeado para intermediary.labels.value.
(N/A) intermediary.labels.key Definido como "Gateway-Endpoint" quando endpoint está mapeado para intermediary.labels.value.
(N/A) principal.labels.key Definido como "Gateway" quando gateway está mapeado para principal.labels.value.
(N/A) target.labels.key Definido como "Gateway" quando gateway está mapeado para target.labels.value.
(N/A) principal.labels.key Definido como "state" quando status está mapeado para principal.labels.value.
(N/A) target.labels.key Definido como "Estado do gateway" quando status está mapeado para target.labels.value.
(N/A) additional.fields.key Definido como "signature_name", "signature_cat", "signature_id" ou "reputation" quando os valores correspondentes são mapeados a partir do registo não processado.

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