收集 Fortinet 防火墙日志

解析器版本:43.0

支持的平台:

本文档介绍了如何通过设置 Bindplane 代理导出 Fortinet 防火墙日志,以及日志字段如何映射到 Google SecOps Unified Data Model (UDM) 字段。

如需了解详情,请参阅 将数据注入 Google SecOps 概览

典型部署包括 Fortinet 防火墙和配置为将日志发送到 Google SecOps 的 Bindplane 代理。每个客户部署都可能有所不同,并且可能更复杂。

部署包含以下组件:

  • Fortinet 防火墙:您从中收集日志的平台。

  • Bindplane 代理:Bindplane 代理从 Fortinet 防火墙提取日志,并将日志发送到 Google SecOps。

  • Google SecOps:保留和分析日志。

注入标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 FORTINET_FIREWALL 标签的解析器。

安装和配置 Feed

  • 使用 FortiOS 7.6.2 或更高版本,并验证您是否已设置 FortiGate 以实现对平台的初始管理访问权限。如需了解详情,请参阅设置 Fortigate

  • 确保部署架构中的所有系统都配置为使用世界协调时间 (UTC) 时区。

在 Fortigate 平台上配置 syslog:

如需配置 syslog,请按以下步骤操作:

  1. 登录 FortiGate 平台。
  2. 选择记录和报告以展开菜单。
  3. 选择日志设置
  4. 开启将日志发送到 Syslog 切换开关。
  5. 输入 Syslog 收集器 IP 地址
  6. 选择 应用。如需了解配置信息,请参阅通过 GUI 在 FortiGate 上配置 Syslog

使用 Bindplane 代理将日志转发到 Google SecOps

  1. 安装并设置 Linux 虚拟机
  2. 在 Linux 上安装并配置 Bindplane 代理,以将日志转发到 Google SecOps。如需详细了解如何安装和配置 Bindplane 代理,请参阅 Bindplane 代理安装和配置说明

如果您在创建 Feed 时遇到问题,请与 Google SecOps 支持团队联系。

支持的 Fortinet 防火墙事件

Fortinet 防火墙解析器支持以下事件:

  • Anomaly
  • APP-CTRL
  • casb
  • DLP
  • DNS
  • EmailFilter
  • Event
  • FILE-FILTER
  • FORTI-SWITCH
  • GTP
  • ICAP
  • IPS
  • SSH
  • SSL
  • Traffic
  • virtual-patch
  • Virus
  • VoIP
  • Webfilter
  • WAF
  • Debug

支持的 Fortinet 防火墙日志示例

  • SYSLOG+KV:

    <189>logver=700120523 timestamp=1722952426 devname="REDACTED-OFFICE" devid="FGXXXXXXXXXXXXXX" vd="root" date=2024-08-06 time=09:53:47 eventtime=1722952427482254831 tz="-0400" logid="0101037138" type="event" subtype="vpn" level="notice" logdesc="IPsec connection status changed" msg="IPsec connection status change" action="tunnel-up" remip=10.0.0.1 locip=10.0.0.2 remport=50 locport=500 outintf="wan1" cookies="XX_REDACTED_XX" user="N/A" group="N/A" useralt="N/A" xauthuser="N/A" xauthgroup="N/A" assignip=N/A vpntunnel="IPsec_Failover" tunnelip=N/A tunnelid=12928022 tunneltype="ipsec" duration=0 sentbyte=0 rcvdbyte=0 nextstat=0
    
  • CEF:

    <189>Jun 03 14:16:38 REDACTED-FW CEF:0|Fortinet|Fortigate|v7.2.8|00012|traffic:multicast accept|3|deviceExternalId=FXXXXXXXXXXXXXXX FTNTFGTeventtime=1717416993295775160 FTNTFGTtz=+0200 FTNTFGTlogid=0002000012 cat=traffic:multicast FTNTFGTsubtype=multicast FTNTFGTlevel=notice FTNTFGTvd=root src=10.0.0.50 spt=0 deviceInboundInterface=unknown-0 FTNTFGTsrcintfrole=undefined dst=224.0.0.1 dpt=0 deviceOutboundInterface=unknown-0 FTNTFGTdstintfrole=undefined FTNTFGTsrccountry=Reserved FTNTFGTdstcountry=Reserved externalId=1131176232 proto=0 act=accept FTNTFGTpolicyid=0 FTNTFGTpolicytype=policy app=other FTNTFGTtrandisp=noop FTNTFGTduration=0 out=0 in=0 FTNTFGTsentpkt=0 FTNTFGTrcvdpkt=0 FTNTFGTappcat=unscanned
    

UDM 映射表

字段映射参考信息:Fortinet_Firewall - 常见字段

下表列出了 Common Schema Field Mapping 日志类型的常见字段及其对应的 UDM 字段。

Log field UDM mapping Logic
metadata.vendor_name The metadata.vendor_name UDM field is set to Fortinet.
metadata.product_name The metadata.product_name UDM field is set to Fortigate.
filehash about.file.sha256 If the filehash log field value matches the regular expression pattern (?<_hash>^[0-9a-f]+$) then, filehash log field is mapped to the about.file.sha256 UDM field.
Else, filehash log field is mapped to the about.file.full_path UDM field.
nat principal.nat_ip
pdstport additional.fields[pdstport]
subject network.email.subject
process about.process.product_specific_process_id
policy_id about.resource.product_object_id The about.resource.resource_type UDM field is set to FIREWALL_RULE.
policy_id security_result.rule_id If the policy_id log field value is not empty, the policy_id log field value is mapped to the security_result.rule_id UDM field.
policymode security_result.rule_labels[policymode]
psrcport additional.fields[psrcport]
appact security_result.detection_fields[appact]
appcat security_result.detection_fields[appcat]
applist security_result.detection_fields[applist]
apprisk security_result.detection_fields[apprisk]
authproto additional.fields[authproto]
bandwidth additional.fields[bandwidth]
bibandwidthavailable additional.fields[bibandwidthavailable]
bibandwidthused additional.fields[bibandwidthused]
cfgattr additional.fields[cfgattr]
cfgpath additional.fields[cfgpath]
chgheaders security_result.detection_fields[chgheaders]
column additional.fields[column]
comment additional.fields[comment]
core additional.fields[core]
count additional.fields[count]
countapp additional.fields[countapp]
countips additional.fields[countips]
cpu additional.fields[cpu]
crl additional.fields[crl]
datarange additional.fields[datarange]
disk additional.fields[disk]
disklograte additional.fields[disklograte]
dlpextra additional.fields[dlpextra]
docsource additional.fields[docsource]
domainfilteridx additional.fields[domainfilteridx]
domainfilterlist security_result.detection_fields[domainfilterlist]
downbandwidthmeasured additional.fields[downbandwidthmeasured]
ds additional.fields[ds]
dst_int additional.fields[dst_int]
dstdevtype