XDM fields for mapping network events
Map network events to Cortex XSIAM XDM fields for normalized identity data and authentication stories.
This section provides a comprehensive guide to mapping network traffic events from various customer log sources to the Cortex Data Model (XDM) schema. Each relevant XDM field is detailed, including whether the field is mandatory or optional, the corresponding network story field, data type, and purpose, ensuring consistent data normalization essential for robust security analysis and threat detection.
The fields that are mandatory to map are listed below with an asterisk (*) beside them as these fields must be mapped to automatically create network stories for XDM data.
Once these network events are mapped, Cortex XSIAM provides out-of-the-box detection logic for third-party firewalls. For more information, see Third-Party Firewalls.
Note
For more information on the entire Cortex Data model (XDM) schema, see Cortex XSIAM Data Model Schema.
For technical conventions and implementation logic for complex authentication scenarios, see Advanced network mapping: deep dives.
Mandatory XDM fields for network events
1. xdm.event.outcome*
Network Story Field:
action_outcomeType: enum
Requirement: Mandatory
Description: The final result of the network connection attempt.
Supported values: Map vendor actions like allow/permit to
XDM_CONST.OUTCOME_SUCCESSand deny/drop/block toXDM_CONST.OUTCOME_FAILED. Pad withXDM_CONST.OUTCOME_UNKNOWN.
2. xdm.event.tags*
Network Story Field:
dfe_labelsType: array
Requirement: Mandatory
Description: Tags applied to the event for story stitching.
Supported values: Must include
XDM_CONST.EVENT_TAG_NETWORK.
3. xdm.event.type*
Network Story Field:
event_typeType: string
Requirement: Mandatory
Description: The primary event classification.
Note: Must resolve to a value that contains
network. Pad with the literal"network".
4. xdm.network.ip_protocol*
Network Story Field:
action_network_protocolType: integer (enum)
Requirement: Mandatory
Description: The transport protocol used for the connection.
Supported values: Map using
XDM_CONST.IP_PROTOCOL_*(e.g.,IP_PROTOCOL_TCP). UseIP_PROTOCOL_IPas the neutral default if unknown.
5. xdm.network.protocol_layers*
Network Story Field:
action_app_id_transitionsType: array
Requirement: Mandatory
Description: The stack of protocol layers identified in the traffic.
Implementation:
arraycreate(...)over known layers (e.g., "HTTP", "IP"). Pure padarraycreate("IP").
6. xdm.source.host.device_id*
Network Story Field:
agent_idType: string
Requirement: Mandatory
Description: Stable identifier for the client device.
Note: Pad with an empty string
""if unavailable.
7. xdm.source.ipv4*
Network Story Field:
action_local_ipType: string
Requirement: Mandatory
Description: The observed IPv4 address of the client/source.
Note: Pad with
""only if the source is IPv6-only.
8. xdm.source.ipv6*
Network Story Field:
action_local_ipType: string
Requirement: Mandatory
Description: The observed IPv6 address of the client/source.
Note: Pad with
""if the source is IPv4-only.
9. xdm.source.is_internal_ip*
Network Story Field:
is_internal_ipType: boolean
Requirement: Mandatory
Description: Indicates if the source IP is internal to the network.
Implementation: Derive using
incidr()over RFC 1918 ranges. Pure padfalse.
10. xdm.source.port*
Network Story Field:
action_local_portType: integer
Requirement: Mandatory
Description: The source port of the client connection.
Implementation: Map the real value; otherwise
to_integer(0).
11. xdm.source.sent_bytes*
Network Story Field:
action_total_uploadType: integer
Requirement: Mandatory
Description: Total bytes sent by the source side.
Implementation: Map the real value; otherwise
to_integer(0).
12. xdm.target.host.device_id*
Network Story Field:
dst_agent_idType: string
Requirement: Mandatory
Description: Stable identifier for the target device.
Note: Pad with an empty string
""if unavailable.
13. xdm.target.ipv4*
Network Story Field:
action_remote_ipType: string
Requirement: Mandatory
Description: The observed IPv4 address of the target/destination.
Note: Pad with
""only if the target is IPv6-only.
14. xdm.target.ipv6*
Network Story Field:
action_remote_ipType: string
Requirement: Mandatory
Description: The observed IPv6 address of the target/destination.
Note: Pad with
""if the target is IPv4-only.
15. xdm.target.is_internal_ip*
Network Story Field:
dst_is_internal_ipType: boolean
Requirement: Mandatory
Description: Indicates if the target IP is internal to the network.
Implementation: Derive using
incidr()as for the source; pure padfalse.
16. xdm.target.port*
Network Story Field:
action_remote_portType: integer
Requirement: Mandatory
Description: The destination port of the connection.
Implementation: Map the real value; otherwise
to_integer(0).
17. xdm.target.sent_bytes*
Network Story Field:
action_total_downloadType: integer
Requirement: Mandatory
Description: Total bytes sent by the target (received by the source).
Implementation: Map the real value; otherwise
to_integer(0).
HTTP set mandatory XDM fields
These two fields are mandatory only if your network event carries an HTTP layer (such as Proxy or WAF) and they are configured together.
18. xdm.network.http.http_header.header*
Network Story Field: The following header values are supported, which are then mapped to the
xdm.network.http.http_header.valuenetwork story field (see below):Content-LengthUser-AgentHostContent-TypeReferer
Type: string
Requirement: Mandatory (for HTTP events)
Description: The HTTP header name. Map when logs carry headers; otherwise
"". The barexdm.network.http.http_headeris a container node, not a mappable field, so some data models reject it.
19. xdm.network.http.http_header.value*
Network Story Field: The following fields are supported based on the
xdm.network.http.http_header.headernetwork story field values as listed above:Content-Length:
http_data.http_req_content_lengthUser-Agent:
http_data.http_req_user_agent_headerHost:
http_data.http_req_host_headerContent-Type:
http_data.http_req_content_type_headerReferer:
http_data.http_req_referer_header
Type: string
Requirement: Mandatory (for HTTP events)
Description: The HTTP header value. Map when logs carry headers; otherwise
"". The barexdm.network.http.http_headeris a container node, not a mappable field, so some data models reject it.
Optional XDM fields for network events
20. xdm.network.http.url_category
Network Story Field:
dst_action_url_categoryType: enum
Requirement: Optional
Description: The vendor-assigned URL category.
Implementation: Map to the closest
XDM_CONST.URL_CATEGORY_*member; padURL_CATEGORY_UNKNOWN.
21. xdm.network.dns.dns_question.name
Network Story Field:
dns_query_nameType: string
Requirement: Optional
Description: The queried domain name for DNS traffic.
22. xdm.network.http.url
Network Story Field:
http_data.http_req_uri_pathType: string
Requirement: Optional
Description: The full requested URL.
23. xdm.network.tls
Network Story Field:
ssl_dataType: string
Requirement: Optional
Description: TLS summary string.
24. xdm.source.user.username
Network Story Field:
actor_primary_usernameType: string
Requirement: Optional
Description: Human-readable display name for the source user.
25. xdm.target.file.filename
Network Story Field:
file_data.file_nameType: string
Requirement: Optional
Description: Name of the file being transferred.
26. xdm.target.host.hostname
Network Story Field:
dst_agent_hostnameType: string
Requirement: Optional
Description: Hostname of the target device.
Last updated
Was this helpful?
