Recolha registos do WatchGuard Fireware
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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento.
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
- 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
. - 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
. - 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
- Aceda à máquina onde o Bindplane está instalado.
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
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
- Inicie sessão na IU do Watchguard.
- Selecione Sistema > Registo.
- Clique no separador Servidor Syslog.
- Selecione a caixa de verificação Enviar mensagens de registo para estes servidores syslog.
- Clique em Adicionar.
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.
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.