Parsers and Generated Fields

Tag Fields Created by Parser fortinet-fortimail
  • #Cps.version

  • #Vendor

  • #ecs.version

  • #event.dataset

  • #event.kind

  • #event.module

  • #event.outcome

  • #observer.type

Fields Identified by Parser fortinet-fortimail
Source FieldCPS FieldDescriptionMapping
Vendor.log.date, Vendor.log.time, Vendor.log.tz@timestampEvent timestampParsed from `_timestamp` constructed by combining date, time, and optional timezone fields; format `yyyy-MM-dd'T'HH:mm:ss[.SSS]Z` with timezone offset when `Vendor.log.tz` is present, otherwise UTC
Vendor.log.msgclient.ipClient IP address extracted from authserver block rule messagesExtracted from Vendor.log.msg using regex pattern `authserver: (?<event.action>\S+) block rule for (?<client.ip>\S+)`
Vendor.log.domaindestination.domainDestination domain nameCopied from Vendor.log.domain and lowercased
Vendor.log.dst_ipdestination.ipDestination IP addressCopied from Vendor.log.dst_ip
Noneecs.versionECS schema versionStatic value: 9.5.0
Vendor.log.directionemail.directionEmail flow direction (in/out)Copied from Vendor.log.direction
Vendor.log.fromemail.from.address[]Sender email addressExtracted from Vendor.log.from using regex to capture address within angle brackets, or directly if it contains `@`; lowercased
Vendor.log.message_idemail.message_idEmail message identifierCopied from Vendor.log.message_id
Vendor.log.subjectemail.subjectEmail subject lineCopied from Vendor.log.subject
Vendor.log.toemail.to.address[]Recipient email addressesParsed from Vendor.log.to by lowercasing and splitting on comma using splitString
Vendor.log.maileremail.x_mailerEmail client informationCopied from Vendor.log.mailer
Vendor.log.action, Vendor.log.msgevent.actionAction performed on the eventCopied from Vendor.log.action when value does not match `none` or `unknown`; also extracted from Vendor.log.msg for authserver block rule events
Vendor.log.type, Vendor.log.subtype, Vendor.log.msgevent.category[]Event categorization arrayArray populated based on log type and subtype conditions across all case branches
event.module, Vendor.log.typeevent.datasetDataset identifierFormatted as `event.module.Vendor.log.type` using format function
Vendor.log.log_idevent.idUnique event identifierCopied from Vendor.log.log_id
Noneevent.kindEvent kind classificationStatic value: event
Noneevent.moduleModule nameStatic value: fortimail
Vendor.log.status, Vendor.log.msgevent.outcomeOutcome of the eventDetermined based on Vendor.log.status value, or Vendor.log.msg content matching fail/error/timed out patterns; defaults to success
Vendor.log.classifierevent.reasonClassification reason for the eventCopied from Vendor.log.classifier
Vendor.log.log_partevent.sequenceLog sequence numberCopied from Vendor.log.log_part
Vendor.log.pri (indirect via log.level)event.severityNumeric severity scoreMapped from log.level: emergency=100, alert=90, critical=75, error=60, warning=45, notice=30, information=15, debug=0
Vendor.log.type, Vendor.log.subtype, Vendor.log.msgevent.type[]Event type classification arrayArray populated based on log type, subtype, and message pattern conditions
Vendor.log.prilog.levelLog priority level as textCopied from Vendor.log.pri
log.syslog.priority, log.syslog.severity.codelog.syslog.facility.codeSyslog facility codeCalculated as `floor((log.syslog.priority - log.syslog.severity.code) / 8)`
@rawstringlog.syslog.prioritySyslog priority valueExtracted from syslog header using regex `^\<(?<log.syslog.priority>\d+)\>`
Vendor.log.pri (indirect via log.level)log.syslog.severity.codeSyslog severity codeMapped from log.level: emergency=0, alert=1, critical=2, error=3, warning=4, notice=5, information=6, debug=7
Vendor.log.uinetwork.protocolNetwork protocol extracted from UI fieldExtracted from Vendor.log.ui using regex pattern `(?<network.protocol>\S+)\((?<source.ip>.*)\)`
Vendor.log.polidrule.idPolicy rule identifierCopied from Vendor.log.polid
Vendor.log.domainserver.domainServer domain nameCopied from Vendor.log.domain and lowercased
Vendor.log.client_namesource.addressSource hostnameCopied from Vendor.log.client_name and lowercased
Vendor.log.client_ccsource.geo.country_iso_codeSource country ISO codeCopied from Vendor.log.client_cc
Vendor.log.client_ip, Vendor.log.src, Vendor.log.ui, Vendor.log.msgsource.ipSource IP addressCopied from Vendor.log.client_ip when valid IP (checked via cidr); falls back to Vendor.log.src when valid IP; also extracted from Vendor.log.ui via regex, and from Vendor.log.msg for admin/webmail login events
Vendor.log.virusthreat.indicator.nameThreat indicator name (virus name)Copied from Vendor.log.virus
Vendor.log.url (indirect via url.original)url.domainDomain component of the URLParsed from url.original by renaming url.host after parseUrl
Vendor.log.urlurl.originalOriginal URL stringCopied from Vendor.log.url
Vendor.log.msg, Vendor.log.useruser.nameUsername associated with the eventExtracted from Vendor.log.msg via regex for admin/webmail login events; copied from Vendor.log.user when user.name is not already set; extracted from kevent/config messages via regex `by user (?<user.name>\S+)`