Advanced network mapping: deep dives ↗
This section provides technical conventions for complex network scenarios, including how to handle asymmetric flows and vendor-specific logging dialects.
Implementation order of operations
- MAP: Directly use the source field if it carries the value.
- DERIVE: Construct the value from other fields (e.g., deriving
is_internal_ipfrom the IPv4). - PAD: Use semantically empty placeholders only if derivation is impossible. Never pad a specific protocol (like
TCP) if you aren't certain.
Topology and identity
- Directionality: Invert topology is a common error. Always confirm which end initiated the flow. A device logging traffic through itself is the
xdm.observer, while the endpoints are thesourceandtarget. - Double-logging: Some products (e.g., OS and Application layers) log one session twice. Model both, but note this in the dataset metadata so analytical queries can deduplicate on session IDs.
Vendor-specific modeling rules
FortiGate Native Key=Value
FortiOS emits native logs where field names like srcip, sentbyte, and rcvdbyte do not overlap with CEF formats.
- Action vocabulary: FortiGate actions like
timeoutorserver-rstshould map toOUTCOME_SUCCESS(policy permitted) rather thanFAILED. - Observer ID: The
devidis the appliance serial number and belongs inxdm.observer.unique_identifier, not the client device ID.
Cisco IOS-XE Mnemonics
- ACL logging: Mnemonics like
SEC-6-IPACCESSLOGPindicate which fields (ports, protocols) are present. Use these suffixes to determine which fields can be mapped vs. padded. - Firewall findings: Records like
FW-5-IMAP_NON_SECURE_LOGINare cleartext credential exposures. Map these as network flows first and treat the captured text as an alert.