Coletar registros do Fortinet FortiAnalyzer

Compatível com:

Neste documento, explicamos como coletar e transferir os registros do Fortinet FortiAnalyzer para as operações de segurança do Google usando o Bindplane. O analisador transforma os registros no formato UDM. Ele processa mensagens com formato de chave-valor e CEF, extrai campos, realiza transformações de dados (como converter carimbos de data/hora e enriquecer protocolos IP) e as mapeia para os campos UDM apropriados com base no tipo e subtipo de evento. O analisador também inclui uma lógica específica para processar conexões de rede, consultas DNS, solicitações HTTP e vários eventos de segurança, enriquecendo o UDM com detalhes como protocolos de aplicativos, informações do usuário e resultados de segurança.

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 Fortinet FortiAnalyzer.

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: FORTINET_FORTIANALYZER
                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 transferência 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 o Syslog no Fortinet FortiAnalyzer

  1. Faça login no FortiAnalyzer.
  2. Ative o modo CLI.
  3. Execute os comandos a seguir:

    config system syslog
      edit NAME
        set ip IP_ADDRESS
        set port PORT
        set reliable enable or disable
      next
    end
    
  4. Atualize os seguintes campos:

    • NAME: o nome do servidor syslog.
    • IP_ADDRESS: insira o endereço IPv4 do agente do Bindplane.
    • PORT: insira o número da porta do agente do Bindplane. Por exemplo, 514.
    • enable or disable: se você definir o valor de "confiável" como "ativado", ele será enviado como TCP. Se você definir o valor de "confiável" como "desativado", ele será enviado como UDP.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
act security_result.action_details Valor do campo act quando o registro está no formato CEF.
action security_result.action_details Valor do campo action quando o registro não está no formato CEF. Usado para derivar security_result.action e security_result.description.
action security_result.action Derivado. Se action for accept, passthrough, pass, permit, detected ou login, então ALLOW. Se deny, dropped, blocked ou close, então BLOCK. Se timeout, então FAIL. Caso contrário, UNKNOWN_ACTION.
action security_result.description Derivado. Defina como Action: + security_result.action derivado.
ad.app target.application Valor do campo ad.app quando o registro está no formato CEF. Se o valor for HTTPS, HTTP, DNS, DHCP ou SMB, ele será mapeado para network.application_protocol.
ad.appact additional.fields Valor do campo ad.appact quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave appact.
ad.appcat additional.fields Valor do campo ad.appcat quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave appcat.
ad.appid additional.fields Valor do campo ad.appid quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave appid.
ad.applist additional.fields Valor do campo ad.applist quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave applist.
ad.apprisk additional.fields Valor do campo ad.apprisk quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave apprisk.
ad.cipher_suite network.tls.cipher Valor do campo ad.cipher_suite quando o registro está no formato CEF.
ad.countapp (não mapeado) Não mapeado para o objeto IDM.
ad.countweb (não mapeado) Não mapeado para o objeto IDM.
ad.dstcity target.location.city Valor do campo ad.dstcity quando o registro está no formato CEF.
ad.dstcountry target.location.country_or_region Valor do campo ad.dstcountry quando o registro está no formato CEF.
ad.dstintf security_result.detection_fields Valor do campo ad.dstintf quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave dstintf.
ad.dstintfrole security_result.detection_fields Valor do campo ad.dstintfrole quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave dstintfrole.
ad.dstregion target.location.state Valor do campo ad.dstregion quando o registro está no formato CEF.
ad.duration network.session_duration.seconds Valor do campo ad.duration quando o registro está no formato CEF.
ad.eventtime metadata.event_timestamp Valor do campo ad.eventtime quando o registro está no formato CEF.
ad.http_agent network.http.parsed_user_agent Valor do campo ad.http_agent quando o registro está no formato CEF.
ad.http_method network.http.method Valor do campo ad.http_method quando o registro está no formato CEF.
ad.http_refer network.http.referral_url Valor do campo ad.http_refer quando o registro está no formato CEF.
ad.http_request_bytes network.sent_bytes Valor do campo ad.http_request_bytes quando o registro está no formato CEF.
ad.http_response_bytes network.received_bytes Valor do campo ad.http_response_bytes quando o registro está no formato CEF.
ad.http_retcode (não mapeado) Não mapeado para o objeto IDM.
ad.http_url (não mapeado) Não mapeado para o objeto IDM.
ad.lanin (não mapeado) Não mapeado para o objeto IDM.
ad.lanout (não mapeado) Não mapeado para o objeto IDM.
ad.logid metadata.product_log_id Valor do campo ad.logid quando o registro está no formato CEF.
ad.mastersrcmac principal.mac Valor do campo ad.mastersrcmac quando o registro está no formato CEF.
ad.original_src (não mapeado) Não mapeado para o objeto IDM.
ad.original_srccountry (não mapeado) Não mapeado para o objeto IDM.
ad.poluuid (não mapeado) Não mapeado para o objeto IDM.
ad.policyid security_result.rule_id Valor do campo ad.policyid quando o registro está no formato CEF.
ad.policyname security_result.rule_name Valor do campo ad.policyname quando o registro está no formato CEF.
ad.policytype security_result.rule_type Valor do campo ad.policytype quando o registro está no formato CEF.
ad.profile target.resource.name Valor do campo ad.profile quando o registro está no formato CEF. Também define target.resource.resource_type como ACCESS_POLICY.
ad.proto network.ip_protocol Valor do campo ad.proto quando o registro está no formato CEF. Analisado usando o arquivo parse_ip_protocol.include.
ad.qclass network.dns.questions.class Valor do campo ad.qclass quando o registro está no formato CEF. Mapeado usando o arquivo dns_query_class_mapping.include.
ad.qname network.dns.questions.name Valor do campo ad.qname quando o registro está no formato CEF.
ad.qtype (não mapeado) Não mapeado para o objeto IDM.
ad.qtypeval network.dns.questions.type Valor do campo ad.qtypeval quando o registro está no formato CEF.
ad.rcvddelta (não mapeado) Não mapeado para o objeto IDM.
ad.rcvdpkt additional.fields Valor do campo ad.rcvdpkt quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave receivedPackets.
ad.sentdelta (não mapeado) Não mapeado para o objeto IDM.
ad.sentpkt additional.fields Valor do campo ad.sentpkt quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave sentPackets.
ad.server_pool_name (não mapeado) Não mapeado para o objeto IDM.
ad.sourceTranslatedAddress principal.nat_ip Valor do campo ad.sourceTranslatedAddress quando o registro está no formato CEF.
ad.sourceTranslatedPort principal.nat_port Valor do campo ad.sourceTranslatedPort quando o registro está no formato CEF.
ad.src principal.ip Valor do campo ad.src quando o registro está no formato CEF.
ad.srccountry principal.location.country_or_region Valor do campo ad.srccountry quando o registro está no formato CEF.
ad.srcintf security_result.detection_fields Valor do campo ad.srcintf quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave srcintf.
ad.srcintfrole security_result.detection_fields Valor do campo ad.srcintfrole quando o registro está no formato CEF, adicionado como um par de chave-valor com a chave srcintfrole.
ad.srcmac principal.mac Valor do campo ad.srcmac quando o registro está no formato CEF.
ad.srcserver (não mapeado) Não mapeado para o objeto IDM.
ad.spt principal.port Valor do campo ad.spt quando o registro está no formato CEF.
ad.status security_result.summary Valor do campo ad.status quando o registro está no formato CEF.
ad.subtype metadata.product_event_type Usado com ad.logid para criar o metadata.product_event_type quando o registro está no formato CEF. Também é usado para derivar metadata.event_type e mapear campos específicos para eventos DNS e HTTP.
ad.trandisp (não mapeado) Não mapeado para o objeto IDM.
ad.tz (não mapeado) Não mapeado para o objeto IDM.
ad.utmaction security_result.action Valor do campo ad.utmaction quando o registro está no formato CEF. Usado para derivar security_result.action e security_result.description.
ad.user_name (não mapeado) Não mapeado para o objeto IDM.
ad.vd principal.administrative_domain Valor do campo ad.vd quando o registro está no formato CEF.
ad.vwlid (não mapeado) Não mapeado para o objeto IDM.
ad.wanin (não mapeado) Não mapeado para o objeto IDM.
ad.wanout (não mapeado) Não mapeado para o objeto IDM.
ad.xid (não mapeado) Não mapeado para o objeto IDM.
ad.x509_cert_subject (não mapeado) Não mapeado para o objeto IDM.
agent (não mapeado) Não mapeado para o objeto IDM.
appid additional.fields Valor do campo appid quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave appid.
app target.application Valor do campo app quando o registro não está no formato CEF. Se o valor for HTTPS, HTTP, DNS, DHCP ou SMB, ele será mapeado para network.application_protocol.
appact additional.fields Valor do campo appact quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave appact.
appcat additional.fields Valor do campo appcat quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave appcat.
applist additional.fields Valor do campo applist quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave applist.
apprisk additional.fields Valor do campo apprisk quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave apprisk.
cat security_result1.rule_id Valor do campo cat quando o registro não está no formato CEF.
catdesc security_result.description Valor do campo catdesc quando o registro não está no formato CEF. Só é usado se catdesc não estiver vazio.
centralnatid (não mapeado) Não mapeado para o objeto IDM.
cipher_suite network.tls.cipher Valor do campo cipher_suite quando o registro não está no formato CEF.
countssl (não mapeado) Não mapeado para o objeto IDM.
crlevel security_result.severity Valor do campo crlevel quando o registro não está no formato CEF. Usado para extrair security_result.severity. Se CRITICAL, define is_alert e is_significant como verdadeiro.
craction security_result.about.labels Valor do campo craction quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave craction.
create_time (não mapeado) Não mapeado para o objeto IDM.
data (não mapeado) Os dados brutos do registro. Não está mapeado diretamente para o UDM.
date (não mapeado) Não mapeado para o objeto IDM.
devname principal.hostname, principal.asset.hostname Valor do campo devname quando o registro não está no formato CEF.
devid (não mapeado) Não mapeado para o objeto IDM.
devtype (não mapeado) Não mapeado para o objeto IDM.
direction network.direction Valor do campo direction quando o registro não está no formato CEF. Se incoming ou inbound, então INBOUND. Se outgoing ou outbound, então OUTBOUND.
dpt target.port Valor do campo dpt quando o registro está no formato CEF.
dstip target.ip, target.asset.ip Valor do campo dstip quando o registro não está no formato CEF.
dstintf security_result.detection_fields Valor do campo dstintf quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave dstintf.
dstintfrole security_result.detection_fields Valor do campo dstintfrole quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave dstintfrole.
dstport target.port Valor do campo dstport quando o registro não está no formato CEF.
dstregion target.location.state Valor do campo dstregion quando o registro não está no formato CEF.
dstuuid target.user.product_object_id Valor do campo dstuuid quando o registro não está no formato CEF.
duration network.session_duration.seconds Valor do campo duration quando o registro não está no formato CEF.
dstcity target.location.city Valor do campo dstcity quando o registro não está no formato CEF.
dstcountry target.location.country_or_region Valor do campo dstcountry quando o registro não está no formato CEF.
dstmac target.mac Valor do campo dstmac quando o registro não está no formato CEF.
eventtime metadata.event_timestamp Valor do campo eventtime quando o registro não está no formato CEF. O valor é reduzido de microssegundos para segundos.
eventtype security_result2.rule_type Valor do campo eventtype quando o registro não está no formato CEF.
externalID (não mapeado) Não mapeado para o objeto IDM.
group principal.user.group_identifiers Valor do campo group quando o registro não está no formato CEF.
hostname target.hostname, target.asset.hostname Valor do campo hostname quando o registro não está no formato CEF.
http_agent network.http.parsed_user_agent Valor do campo http_agent quando o registro não está no formato CEF. Convertido em um objeto de user agent analisado.
http_method network.http.method Valor do campo http_method quando o registro não está no formato CEF.
http_refer network.http.referral_url Valor do campo http_refer quando o registro não está no formato CEF.
http_request_bytes network.sent_bytes Valor do campo http_request_bytes quando o registro não está no formato CEF.
http_response_bytes network.received_bytes Valor do campo http_response_bytes quando o registro não está no formato CEF.
httpmethod network.http.method Valor do campo httpmethod quando o registro não está no formato CEF.
in network.received_bytes Valor do campo in quando o registro está no formato CEF.
incidentserialno (não mapeado) Não mapeado para o objeto IDM.
lanin (não mapeado) Não mapeado para o objeto IDM.
lanout (não mapeado) Não mapeado para o objeto IDM.
level security_result.severity, security_result.severity_details Valor do campo level quando o registro não está no formato CEF. Usado para extrair security_result.severity. Se error ou warning, então HIGH. Se notice, então MEDIUM. Se information ou info, então LOW. Também define security_result.severity_details como level: + level. Se crlevel for CRITICAL ou level for alert, is_alert e is_significant serão definidos como verdadeiros.
locip principal.ip, principal.asset.ip Valor do campo locip quando o registro não está no formato CEF.
logdesc metadata.description Valor do campo logdesc quando o registro não está no formato CEF.
logid metadata.product_log_id Valor do campo logid quando o registro não está no formato CEF.
logver (não mapeado) Não mapeado para o objeto IDM.
mastersrcmac principal.mac Valor do campo mastersrcmac quando o registro não está no formato CEF.
method (não mapeado) Não mapeado para o objeto IDM.
msg metadata.description Valor do campo msg quando o registro não está no formato CEF. Também usado para security_result.description se catdesc estiver vazio.
out network.sent_bytes Valor do campo out quando o registro está no formato CEF.
outintf (não mapeado) Não mapeado para o objeto IDM.
policyid security_result.rule_id Valor do campo policyid quando o registro não está no formato CEF.
policyname security_result.rule_name Valor do campo policyname quando o registro não está no formato CEF.
policytype security_result.rule_type Valor do campo policytype quando o registro não está no formato CEF.
poluuid (não mapeado) Não mapeado para o objeto IDM.
profile target.resource.name Valor do campo profile quando o registro não está no formato CEF. Também define target.resource.resource_type como ACCESS_POLICY.
proto network.ip_protocol Valor do campo proto quando o registro não está no formato CEF. Analisado usando o arquivo parse_ip_protocol.include.
qclass network.dns.questions.class Valor do campo qclass quando o registro não está no formato CEF. Mapeado usando o arquivo dns_query_class_mapping.include.
qname network.dns.questions.name Valor do campo qname quando o registro não está no formato CEF.
reason security_result.description Valor do campo reason quando o registro não está no formato CEF. Só será usado se reason não for N/A e não estiver vazio.
rcvdbyte network.received_bytes Valor do campo rcvdbyte quando o registro não está no formato CEF.
rcvdpkt additional.fields Valor do campo rcvdpkt quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave receivedPackets.
remip target.ip, target.asset.ip Valor do campo remip quando o registro não está no formato CEF.
remport (não mapeado) Não mapeado para o objeto IDM.
reqtype (não mapeado) Não mapeado para o objeto IDM.
sentbyte network.sent_bytes Valor do campo sentbyte quando o registro não está no formato CEF.
sentpkt additional.fields Valor do campo sentpkt quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave sentPackets.
service network.application_protocol, target.application Valor do campo service quando o registro não está no formato CEF. Analisado usando o arquivo parse_app_protocol.include. Se a saída do analisador não estiver vazia, ela será mapeada para network.application_protocol. Caso contrário, o valor original será mapeado para target.application.
sessionid network.session_id Valor do campo sessionid quando o registro não está no formato CEF.
sn (não mapeado) Não mapeado para o objeto IDM.
sourceTranslatedAddress principal.nat_ip Valor do campo sourceTranslatedAddress quando o registro está no formato CEF.
sourceTranslatedPort principal.nat_port Valor do campo sourceTranslatedPort quando o registro está no formato CEF.
spt principal.port Valor do campo spt quando o registro está no formato CEF.
src principal.ip Valor do campo src quando o registro está no formato CEF.
srcip principal.ip, principal.asset.ip Valor do campo srcip quando o registro não está no formato CEF.
srcintf security_result.detection_fields Valor do campo srcintf quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave srcintf.
srcintfrole security_result.detection_fields Valor do campo srcintfrole quando o registro não está no formato CEF, adicionado como um par de chave-valor com a chave srcintfrole.
srcmac principal.mac Valor do campo srcmac quando o registro não está no formato CEF. Os hifens são substituídos por dois-pontos.
srcport principal.port Valor do campo srcport quando o registro não está no formato CEF.
srccountry principal.location.country_or_region Valor do campo srccountry quando o registro não está no formato CEF. Só é mapeado se não for Reserved e não estiver vazio.
srcuuid principal.user.product_object_id Valor do campo srcuuid quando o registro não está no formato CEF.
srcserver (não mapeado) Não mapeado para o objeto IDM.
start (não mapeado) Não mapeado para o objeto IDM.
status security_result.summary Valor do campo status quando o registro não está no formato CEF.
subtype metadata.product_event_type Usado com type para criar o metadata.product_event_type quando o registro não está no formato CEF. Também é usado para derivar metadata.event_type e mapear campos específicos para eventos DNS e HTTP.
time (não mapeado) Não mapeado para o objeto IDM.
timestamp metadata.event_timestamp Valor do campo timestamp.
trandisp (não mapeado) Não mapeado para o objeto IDM.
transip (não mapeado) Não mapeado para o objeto IDM.
transport (não mapeado) Não mapeado para o objeto IDM.
type metadata.product_event_type Usado com subtype para criar o metadata.product_event_type quando o registro não está no formato CEF. Também é usado para derivar metadata.event_type.
tz (não mapeado) Não mapeado para o objeto IDM.
ui (não mapeado) Não mapeado para o objeto IDM.
url target.url Valor do campo url quando o registro não está no formato CEF.
user principal.user.userid Valor do campo user quando o registro não está no formato CEF. Só é mapeado se não for N/A e não estiver vazio.
utmaction security_result.action, security_result2.action_details Valor do campo utmaction quando o registro não está no formato CEF. Usado para derivar security_result.action e security_result.description.
utmaction security_result.action Derivado. Se utmaction for accept, allow, passthrough, pass, permit ou detected, então ALLOW. Se deny, dropped, blocked ou block, então BLOCK. Caso contrário, UNKNOWN_ACTION.
utmaction security_result.description Derivado. Defina como UTMAction: + security_result.action derivado se action1 estiver vazio.
utmevent (não mapeado) Não mapeado para o objeto IDM.
vd principal.administrative_domain Valor do campo vd quando o registro não está no formato CEF.
vpntunnel (não mapeado) Não mapeado para o objeto IDM.
wanin (não mapeado) Não mapeado para o objeto IDM.
wanout (não mapeado) Não mapeado para o objeto IDM.
N/A (lógica do analisador) about.asset.asset_id Derivado. Defina como Fortinet. + product_name + : + deviceExternalId quando o registro estiver no formato CEF.
N/A (lógica do analisador) about.hostname Derivado. Definido como auth0 quando o registro está no formato CEF.
N/A (lógica do analisador) extensions.auth Derivado. Um objeto vazio é criado quando metadata.event_type é USER_LOGIN.
N/A (lógica do analisador) extensions.auth.type Derivado. Defina como AUTHTYPE_UNSPECIFIED quando metadata.event_type for USER_LOGIN.
N/A (lógica do analisador) is_alert, is_significant Derivado. Defina como "true" se crlevel for CRITICAL ou level for alert.
N/A (lógica do analisador) metadata.event_type Derivado com base em vários campos de registro e lógica no analisador. Pode ser NETWORK_CONNECTION, STATUS_UPDATE, GENERIC_EVENT, NETWORK_DNS, NETWORK_HTTP, USER_LOGIN, USER_LOGOUT ou NETWORK_UNCATEGORIZED.
N/A (lógica do analisador) metadata.log_type Derivado. Defina como FORTINET_FORTIANALYZER.
N/A (lógica do analisador) metadata.product_event_type Derivado. Defina como type + - + subtype.
N/A (lógica do analisador) metadata.product_name Derivado. Defina como Fortianalyzer ou extraia da mensagem CEF.
N/A (lógica do analisador) metadata.product_version Extraídos da mensagem CEF.
N/A (lógica do analisador) metadata.vendor_name Derivado. Defina como Fortinet.
N/A (lógica do analisador) network.application_protocol Derivado dos campos service ou app usando o arquivo parse_app_protocol.include ou definido como DNS para eventos de DNS. Também defina com base em ad.app se ele for HTTPS, HTTP, DNS, DHCP ou SMB.
N/A (lógica do analisador) network.dns.questions Derivado. Uma matriz de objetos de pergunta, cada um com os campos name, type e class, preenchidos para eventos de DNS.
N/A (lógica do analisador) network.http.parsed_user_agent Derivado do campo http_agent, convertido em um objeto de user agent analisado.
N/A (lógica do analisador) network.ip_protocol Derivado do campo proto usando o arquivo parse_ip_protocol.include.
N/A (lógica do analisador) principal.administrative_domain Valor do campo vd.
N/A (lógica do analisador) principal.asset.ip Copiado de principal.ip.
N/A (lógica do analisador) principal.asset.hostname Copiado de principal.hostname.
N/A (lógica do analisador) security_result.about.labels Uma matriz de pares de chave-valor, preenchida com craction, se presente.
N/A (lógica do analisador) security_result.action Derivado de action ou utmaction.
N/A (lógica do analisador) security_result.description Derivado de action, utmaction, msg, catdesc ou reason, dependendo dos campos disponíveis e do formato do registro.
N/A (lógica do analisador) security_result.severity Derivado de crlevel ou level.
N/A (lógica do analisador) security_result.severity_details Derivado. Defina como level: + level.
N/A (lógica do analisador) security_result.detection_fields Uma matriz de pares de chave-valor, preenchida com srcintf, srcintfrole, dstintf e dstintfrole, se presentes.
N/A (lógica do analisador) target.asset.ip Copiado de target.ip.
N/A (lógica do analisador) target.asset.hostname Copiado de target.hostname.
N/A (lógica do analisador) target.resource.resource_type Derivado. Defina como ACCESS_POLICY quando o campo profile estiver presente.

Alterações

2025-01-31

Melhoria:

  • catdesc foi mapeado para security_result.rule_name.
  • crscore foi mapeado para security_result.detection_fields.
  • method foi mapeado para network.http.method.
  • cat foi mapeado para security_result.rule_id.

2025-01-02

Melhoria:

  • Quando action é login e status é success, o ALLOW é mapeado para security_result.action.
  • Quando action é login e status é failure, o BLOCK é mapeado para security_result.action.

2024-11-28

Melhoria:

  • filename foi mapeado para target.file.full_path.

2024-11-19

Melhoria:

  • dstuser foi mapeado para target.user.userid.

2024-11-13

Melhoria:

  • fsaverdict foi mapeado para additional.fields.

2024-10-28

Melhoria:

  • O mapeamento de srcinf, dstinf, srcintfrole e dstintfrole foi alterado de security_result.detection_fields para additional.fields.

2024-10-16

Melhoria:

  • type, subtype e level foram mapeados para metadata.ingestion_labels.

2024-10-01

Melhoria:

  • logdesc foi mapeado para metadata.description.

2024-10-01

Melhoria:

  • logdesc foi mapeado para metadata.description.

2024-09-23

Melhoria:

  • O mapeamento de devname foi modificado para principal.resource.attribute.labels.
  • Mapeamento de srcname para principal.hostname e principal.asset.hostname.

2024-09-12

Melhoria:

  • Foram adicionadas verificações condicionais para mapear o valor BLOCK para o campo UDM security_result.action quando o valor reason é sslvpn_login_permission_denied.

2024-07-22

Melhoria:

  • gusb foi adicionado para processar os registros não analisados.

2024-07-04

Melhoria:

  • Quando msg contém login, defina event_type como USER_LOGIN.

2024-04-25

Melhoria:

  • httpmethod foi mapeado para network.http.method.
  • Quando action for login, mapeie ALLOW para security_result.action.
  • Quando msg contém logged in successfully, defina event_type como USER_LOGIN.
  • Quando msg contém login failed, defina event_type como USER_LOGOUT.

2023-07-19

Correção de bugs:

  • O gsub foi adicionado para remover \n e analisar logs com falhas.

2023-05-05

  • Adição de suporte a registros com formato CEF.

2022-09-19

  • Parser recém-criado.

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