schemas/v1/network/network.yaml (2,460 lines of code) (raw):

'@timestamp': dashed_name: timestamp description: 'Date/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.' example: '2016-05-23T08:05:34.853Z' flat_name: '@timestamp' level: core name: '@timestamp' normalize: [] required: true short: Date/time when the event originated. type: date agent.id: dashed_name: agent-id description: 'Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id.' example: 8a4f500d flat_name: agent.id ignore_above: 1024 level: core name: id normalize: [] short: Unique identifier of this agent. type: keyword agent.type: dashed_name: agent-type description: 'Type of the agent. The agent type always stays the same and should be given by the agent used. In case of Filebeat the agent would always be Filebeat also if two Filebeat instances are run on the same machine.' example: filebeat flat_name: agent.type ignore_above: 1024 level: core name: type normalize: [] short: Type of the agent. type: keyword agent.version: dashed_name: agent-version description: Version of the agent. example: 6.0.0-rc2 flat_name: agent.version ignore_above: 1024 level: core name: version normalize: [] short: Version of the agent. type: keyword data_stream.dataset: dashed_name: data-stream-dataset description: Data stream dataset name. example: nginx.access flat_name: data_stream.dataset level: custom name: dataset normalize: [] short: The field can contain anything that makes sense to signify the source of the data. type: constant_keyword data_stream.namespace: dashed_name: data-stream-namespace description: Data stream namespace. example: production flat_name: data_stream.namespace level: custom name: namespace normalize: [] short: A user defined namespace. Namespaces are useful to allow grouping of data. type: constant_keyword data_stream.type: dashed_name: data-stream-type description: Data stream type. example: logs flat_name: data_stream.type level: custom name: type normalize: [] short: An overarching type for the data stream. type: constant_keyword destination.address: dashed_name: destination-address description: 'Some event destination addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the `.address` field. Then it should be duplicated to `.ip` or `.domain`, depending on which one it is.' flat_name: destination.address ignore_above: 1024 level: extended name: address normalize: [] short: Destination network address. type: keyword destination.as.number: dashed_name: destination-as-number description: Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. example: 15169 flat_name: destination.as.number level: extended name: number normalize: [] original_fieldset: as short: Unique number allocated to the autonomous system. type: long destination.as.organization.name: dashed_name: destination-as-organization-name description: Organization name. example: Google LLC flat_name: destination.as.organization.name ignore_above: 1024 level: extended multi_fields: - flat_name: destination.as.organization.name.text name: text type: match_only_text name: organization.name normalize: [] original_fieldset: as short: Organization name. type: keyword destination.bytes: dashed_name: destination-bytes description: Bytes sent from the destination to the source. example: 184 flat_name: destination.bytes format: bytes level: core name: bytes normalize: [] short: Bytes sent from the destination to the source. type: long destination.domain: dashed_name: destination-domain description: 'The domain name of the destination system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment.' example: foo.example.com flat_name: destination.domain ignore_above: 1024 level: core name: domain normalize: [] short: The domain name of the destination. type: keyword destination.geo.city_name: dashed_name: destination-geo-city-name description: City name. example: Montreal flat_name: destination.geo.city_name ignore_above: 1024 level: core name: city_name normalize: [] original_fieldset: geo short: City name. type: keyword destination.geo.continent_code: dashed_name: destination-geo-continent-code description: Two-letter code representing continent's name. example: NA flat_name: destination.geo.continent_code ignore_above: 1024 level: core name: continent_code normalize: [] original_fieldset: geo short: Continent code. type: keyword destination.geo.continent_name: dashed_name: destination-geo-continent-name description: Name of the continent. example: North America flat_name: destination.geo.continent_name ignore_above: 1024 level: core name: continent_name normalize: [] original_fieldset: geo short: Name of the continent. type: keyword destination.geo.country_iso_code: dashed_name: destination-geo-country-iso-code description: Country ISO code. example: CA flat_name: destination.geo.country_iso_code ignore_above: 1024 level: core name: country_iso_code normalize: [] original_fieldset: geo short: Country ISO code. type: keyword destination.geo.country_name: dashed_name: destination-geo-country-name description: Country name. example: Canada flat_name: destination.geo.country_name ignore_above: 1024 level: core name: country_name normalize: [] original_fieldset: geo short: Country name. type: keyword destination.geo.location: dashed_name: destination-geo-location description: Longitude and latitude. example: '{ "lon": -73.614830, "lat": 45.505918 }' flat_name: destination.geo.location level: core name: location normalize: [] original_fieldset: geo short: Longitude and latitude. type: geo_point destination.geo.name: dashed_name: destination-geo-name description: 'User-defined description of a location, at the level of granularity they care about. Could be the name of their data centers, the floor number, if this describes a local physical entity, city names. Not typically used in automated geolocation.' example: boston-dc flat_name: destination.geo.name ignore_above: 1024 level: extended name: name normalize: [] original_fieldset: geo short: User-defined description of a location. type: keyword destination.geo.postal_code: dashed_name: destination-geo-postal-code description: 'Postal code associated with the location. Values appropriate for this field may also be known as a postcode or ZIP code and will vary widely from country to country.' example: 94040 flat_name: destination.geo.postal_code ignore_above: 1024 level: core name: postal_code normalize: [] original_fieldset: geo short: Postal code. type: keyword destination.geo.region_iso_code: dashed_name: destination-geo-region-iso-code description: Region ISO code. example: CA-QC flat_name: destination.geo.region_iso_code ignore_above: 1024 level: core name: region_iso_code normalize: [] original_fieldset: geo short: Region ISO code. type: keyword destination.geo.region_name: dashed_name: destination-geo-region-name description: Region name. example: Quebec flat_name: destination.geo.region_name ignore_above: 1024 level: core name: region_name normalize: [] original_fieldset: geo short: Region name. type: keyword destination.geo.timezone: dashed_name: destination-geo-timezone description: The time zone of the location, such as IANA time zone name. example: America/Argentina/Buenos_Aires flat_name: destination.geo.timezone ignore_above: 1024 level: core name: timezone normalize: [] original_fieldset: geo short: Time zone. type: keyword destination.ip: dashed_name: destination-ip description: IP address of the destination (IPv4 or IPv6). flat_name: destination.ip level: core name: ip normalize: [] short: IP address of the destination. type: ip destination.packets: dashed_name: destination-packets description: Packets sent from the destination to the source. example: 12 flat_name: destination.packets level: core name: packets normalize: [] short: Packets sent from the destination to the source. type: long destination.port: dashed_name: destination-port description: Port of the destination. flat_name: destination.port format: string level: core name: port normalize: [] short: Port of the destination. type: long destination.registered_domain: dashed_name: destination-registered-domain description: 'The highest registered destination domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk".' example: example.com flat_name: destination.registered_domain ignore_above: 1024 level: extended name: registered_domain normalize: [] short: The highest registered destination domain, stripped of the subdomain. type: keyword destination.top_level_domain: dashed_name: destination-top-level-domain description: 'The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk".' example: co.uk flat_name: destination.top_level_domain ignore_above: 1024 level: extended name: top_level_domain normalize: [] short: The effective top level domain (com, org, net, co.uk). type: keyword dns.Ext: dashed_name: dns-Ext description: Object for all custom defined fields to live in. flat_name: dns.Ext level: custom name: Ext normalize: [] short: Object for all custom defined fields to live in. type: object dns.Ext.options: dashed_name: dns-Ext-options description: DNS options field, uint64, representing as a keyword to avoid overflows in ES flat_name: dns.Ext.options ignore_above: 1024 level: custom name: Ext.options normalize: [] short: DNS options field, uint64, representing as a keyword to avoid overflows in ES type: keyword dns.Ext.status: dashed_name: dns-Ext-status description: DNS status field, uint32 flat_name: dns.Ext.status level: custom name: Ext.status normalize: [] short: DNS status field, uint32 type: long dns.question.name: dashed_name: dns-question-name description: 'The name being queried. If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively.' example: www.example.com flat_name: dns.question.name ignore_above: 1024 level: extended name: question.name normalize: [] short: The name being queried. type: keyword dns.question.registered_domain: dashed_name: dns-question-registered-domain description: 'The highest registered domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk".' example: example.com flat_name: dns.question.registered_domain ignore_above: 1024 level: extended name: question.registered_domain normalize: [] short: The highest registered domain, stripped of the subdomain. type: keyword dns.question.subdomain: dashed_name: dns-question-subdomain description: 'The subdomain is all of the labels under the registered_domain. If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period.' example: www flat_name: dns.question.subdomain ignore_above: 1024 level: extended name: question.subdomain normalize: [] short: The subdomain of the domain. type: keyword dns.question.top_level_domain: dashed_name: dns-question-top-level-domain description: 'The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk".' example: co.uk flat_name: dns.question.top_level_domain ignore_above: 1024 level: extended name: question.top_level_domain normalize: [] short: The effective top level domain (com, org, net, co.uk). type: keyword dns.question.type: dashed_name: dns-question-type description: The type of record being queried. example: AAAA flat_name: dns.question.type ignore_above: 1024 level: extended name: question.type normalize: [] short: The type of record being queried. type: keyword dns.resolved_ip: dashed_name: dns-resolved-ip description: 'Array containing all IPs seen in `answers.data`. The `answers` array can be difficult to use, because of the variety of data formats it can contain. Extracting all IP addresses seen in there to `dns.resolved_ip` makes it possible to index them as IP addresses, and makes them easier to visualize and query for.' example: '["10.10.10.10", "10.10.10.11"]' flat_name: dns.resolved_ip level: extended name: resolved_ip normalize: - array short: Array containing all IPs seen in answers.data type: ip ecs.version: dashed_name: ecs-version description: 'ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.' example: 1.0.0 flat_name: ecs.version ignore_above: 1024 level: core name: version normalize: [] required: true short: ECS version this event conforms to. type: keyword event.action: dashed_name: event-action description: 'The action captured by the event. This describes the information in the event. It is more specific than `event.category`. Examples are `group-add`, `process-started`, `file-created`. The value is normally defined by the implementer.' example: user-password-change flat_name: event.action ignore_above: 1024 level: core name: action normalize: [] short: The action captured by the event. type: keyword event.category: allowed_values: - description: Events in this category annotate API calls that occured on a system. Typical sources for those events could be from the Operating System level through the native libraries (for example Windows Win32, Linux libc, etc.), or managed sources of events (such as ETW, syslog), but can also include network protocols (such as SOAP, RPC, Websocket, REST, etc.) expected_event_types: - access - admin - allowed - change - creation - deletion - denied - end - info - start - user name: api - description: Events in this category are related to the challenge and response process in which credentials are supplied and verified to allow the creation of a session. Common sources for these logs are Windows event logs and ssh logs. Visualize and analyze events in this category to look for failed logins, and other authentication-related activity. expected_event_types: - start - end - info name: authentication - description: 'Events in the configuration category have to deal with creating, modifying, or deleting the settings or parameters of an application, process, or system. Example sources include security policy change logs, configuration auditing logging, and system integrity monitoring.' expected_event_types: - access - change - creation - deletion - info name: configuration - description: The database category denotes events and metrics relating to a data storage and retrieval system. Note that use of this category is not limited to relational database systems. Examples include event logs from MS SQL, MySQL, Elasticsearch, MongoDB, etc. Use this category to visualize and analyze database activity such as accesses and changes. expected_event_types: - access - change - info - error name: database - description: 'Events in the driver category have to do with operating system device drivers and similar software entities such as Windows drivers, kernel extensions, kernel modules, etc. Use events and metrics in this category to visualize and analyze driver-related activity and status on hosts.' expected_event_types: - change - end - info - start name: driver - description: 'This category is used for events relating to email messages, email attachments, and email network or protocol activity. Emails events can be produced by email security gateways, mail transfer agents, email cloud service providers, or mail server monitoring applications.' expected_event_types: - info name: email - description: Relating to a set of information that has been created on, or has existed on a filesystem. Use this category of events to visualize and analyze the creation, access, and deletions of files. Events in this category can come from both host-based and network-based sources. An example source of a network-based detection of a file transfer would be the Zeek file.log. expected_event_types: - access - change - creation - deletion - info name: file - description: 'Use this category to visualize and analyze information such as host inventory or host lifecycle events. Most of the events in this category can usually be observed from the outside, such as from a hypervisor or a control plane''s point of view. Some can also be seen from within, such as "start" or "end". Note that this category is for information about hosts themselves; it is not meant to capture activity "happening on a host".' expected_event_types: - access - change - end - info - start name: host - description: Identity and access management (IAM) events relating to users, groups, and administration. Use this category to visualize and analyze IAM-related logs and data from active directory, LDAP, Okta, Duo, and other IAM systems. expected_event_types: - admin - change - creation - deletion - group - info - user name: iam - description: Relating to intrusion detections from IDS/IPS systems and functions, both network and host-based. Use this category to visualize and analyze intrusion detection alerts from systems such as Snort, Suricata, and Palo Alto threat detections. expected_event_types: - allowed - denied - info name: intrusion_detection - description: Events in this category refer to the loading of a library, such as (dll / so / dynlib), into a process. Use this category to visualize and analyze library loading related activity on hosts. Keep in mind that driver related activity will be captured under the "driver" category above. expected_event_types: - start name: library - description: Malware detection events and alerts. Use this category to visualize and analyze malware detections from EDR/EPP systems such as Elastic Endpoint Security, Symantec Endpoint Protection, Crowdstrike, and network IDS/IPS systems such as Suricata, or other sources of malware-related events such as Palo Alto Networks threat logs and Wildfire logs. expected_event_types: - info name: malware - description: Relating to all network activity, including network connection lifecycle, network traffic, and essentially any event that includes an IP address. Many events containing decoded network protocol transactions fit into this category. Use events in this category to visualize or analyze counts of network ports, protocols, addresses, geolocation information, etc. expected_event_types: - access - allowed - connection - denied - end - info - protocol - start name: network - description: Relating to software packages installed on hosts. Use this category to visualize and analyze inventory of software installed on various hosts, or to determine host vulnerability in the absence of vulnerability scan data. expected_event_types: - access - change - deletion - info - installation - start name: package - description: Use this category of events to visualize and analyze process-specific information such as lifecycle events or process ancestry. expected_event_types: - access - change - end - info - start name: process - description: Having to do with settings and assets stored in the Windows registry. Use this category to visualize and analyze activity such as registry access and modifications. expected_event_types: - access - change - creation - deletion name: registry - description: The session category is applied to events and metrics regarding logical persistent connections to hosts and services. Use this category to visualize and analyze interactive or automated persistent connections between assets. Data for this category may come from Windows Event logs, SSH logs, or stateless sessions such as HTTP cookie-based sessions, etc. expected_event_types: - start - end - info name: session - description: Use this category to visualize and analyze events describing threat actors' targets, motives, or behaviors. expected_event_types: - indicator name: threat - description: Relating to vulnerability scan results. Use this category to analyze vulnerabilities detected by Tenable, Qualys, internal scanners, and other vulnerability management sources. expected_event_types: - info name: vulnerability - description: 'Relating to web server access. Use this category to create a dashboard of web server/proxy activity from apache, IIS, nginx web servers, etc. Note: events from network observers such as Zeek http log may also be included in this category.' expected_event_types: - access - error - info name: web dashed_name: event-category description: 'This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.' example: authentication flat_name: event.category ignore_above: 1024 level: core name: category normalize: - array short: Event category. The second categorization field in the hierarchy. type: keyword event.code: dashed_name: event-code description: 'Identification code for this event, if one exists. Some event sources use event codes to identify messages unambiguously, regardless of message language or wording adjustments over time. An example of this is the Windows Event ID.' example: 4648 flat_name: event.code ignore_above: 1024 level: extended name: code normalize: [] short: Identification code for this event. type: keyword event.created: dashed_name: event-created description: '`event.created` contains the date/time when the event was first read by an agent, or by your pipeline. This field is distinct from `@timestamp` in that `@timestamp` typically contain the time extracted from the original event. In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent''s or pipeline''s ability to keep up with your event source. In case the two timestamps are identical, `@timestamp` should be used.' example: '2016-05-23T08:05:34.857Z' flat_name: event.created level: core name: created normalize: [] short: Time when the event was first read by an agent or by your pipeline. type: date event.dataset: dashed_name: event-dataset description: 'Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It''s recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.' example: apache.access flat_name: event.dataset ignore_above: 1024 level: core name: dataset normalize: [] short: Name of the dataset. type: keyword event.hash: dashed_name: event-hash description: Hash (perhaps logstash fingerprint) of raw field to be able to demonstrate log integrity. example: 123456789012345678901234567890ABCD flat_name: event.hash ignore_above: 1024 level: extended name: hash normalize: [] short: Hash (perhaps logstash fingerprint) of raw field to be able to demonstrate log integrity. type: keyword event.id: dashed_name: event-id description: Unique ID to describe the event. example: 8a4f500d flat_name: event.id ignore_above: 1024 level: core name: id normalize: [] short: Unique ID to describe the event. type: keyword event.ingested: dashed_name: event-ingested description: 'Timestamp when an event arrived in the central data store. This is different from `@timestamp`, which is when the event originally occurred. It''s also different from `event.created`, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` < `event.created` < `event.ingested`.' example: '2016-05-23T08:05:35.101Z' flat_name: event.ingested level: core name: ingested normalize: [] short: Timestamp when an event arrived in the central data store. type: date event.kind: allowed_values: - description: 'This value indicates an event such as an alert or notable event, triggered by a detection rule executing externally to the Elastic Stack. `event.kind:alert` is often populated for events coming from firewalls, intrusion detection systems, endpoint detection and response systems, and so on. This value is not used by Elastic solutions for alert documents that are created by rules executing within the Kibana alerting framework.' name: alert - beta: This event categorization value is beta and subject to change. description: 'This value indicates events whose primary purpose is to store an inventory of assets/entities and their attributes. Assets/entities are objects (such as users and hosts) that are expected to be subjects of detailed analysis within the system. Examples include lists of user identities or accounts ingested from directory services such as Active Directory (AD), inventory of hosts pulled from configuration management databases (CMDB), and lists of cloud storage buckets pulled from cloud provider APIs. This value is used by Elastic Security for asset management solutions. `event.kind: asset` is not used for normal system events or logs that are coming from an asset/entity, nor is it used for system events or logs coming from a directory or CMDB system.' name: asset - description: 'The `enrichment` value indicates an event collected to provide additional context, often to other events. An example is collecting indicators of compromise (IOCs) from a threat intelligence provider with the intent to use those values to enrich other events. The IOC events from the intelligence provider should be categorized as `event.kind:enrichment`.' name: enrichment - description: This value is the most general and most common value for this field. It is used to represent events that indicate that something happened. name: event - description: 'This value is used to indicate that this event describes a numeric measurement taken at given point in time. Examples include CPU utilization, memory usage, or device temperature. Metric events are often collected on a predictable frequency, such as once every few seconds, or once a minute, but can also be used to describe ad-hoc numeric metric queries.' name: metric - description: 'The state value is similar to metric, indicating that this event describes a measurement taken at given point in time, except that the measurement does not result in a numeric value, but rather one of a fixed set of categorical values that represent conditions or states. Examples include periodic events reporting Elasticsearch cluster state (green/yellow/red), the state of a TCP connection (open, closed, fin_wait, etc.), the state of a host with respect to a software vulnerability (vulnerable, not vulnerable), and the state of a system regarding compliance with a regulatory standard (compliant, not compliant). Note that an event that describes a change of state would not use `event.kind:state`, but instead would use ''event.kind:event'' since a state change fits the more general event definition of something that happened. State events are often collected on a predictable frequency, such as once every few seconds, once a minute, once an hour, or once a day, but can also be used to describe ad-hoc state queries.' name: state - description: This value indicates that an error occurred during the ingestion of this event, and that event data may be missing, inconsistent, or incorrect. `event.kind:pipeline_error` is often associated with parsing errors. name: pipeline_error - description: 'This value is used by Elastic solutions (e.g., Security, Observability) for alert documents that are created by rules executing within the Kibana alerting framework. Usage of this value is reserved, and data ingestion pipelines must not populate `event.kind` with the value "signal".' name: signal dashed_name: event-kind description: 'This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data is coming in at a regular interval or not.' example: alert flat_name: event.kind ignore_above: 1024 level: core name: kind normalize: [] short: The kind of the event. The highest categorization field in the hierarchy. type: keyword event.module: dashed_name: event-module description: 'Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), `event.module` should contain the name of this module.' example: apache flat_name: event.module ignore_above: 1024 level: core name: module normalize: [] short: Name of the module this data is coming from. type: keyword event.outcome: allowed_values: - description: Indicates that this event describes a failed result. A common example is `event.category:file AND event.type:access AND event.outcome:failure` to indicate that a file access was attempted, but was not successful. name: failure - description: Indicates that this event describes a successful result. A common example is `event.category:file AND event.type:create AND event.outcome:success` to indicate that a file was successfully created. name: success - description: Indicates that this event describes only an attempt for which the result is unknown from the perspective of the event producer. For example, if the event contains information only about the request side of a transaction that results in a response, populating `event.outcome:unknown` in the request event is appropriate. The unknown value should not be used when an outcome doesn't make logical sense for the event. In such cases `event.outcome` should not be populated. name: unknown dashed_name: event-outcome description: 'This is one of four ECS Categorization Fields, and indicates the lowest level in the ECS category hierarchy. `event.outcome` simply denotes whether the event represents a success or a failure from the perspective of the entity that produced the event. Note that when a single transaction is described in multiple events, each event may populate different values of `event.outcome`, according to their perspective. Also note that in the case of a compound event (a single event that contains multiple logical events), this field should be populated with the value that best captures the overall success or failure from the perspective of the event producer. Further note that not all events will have an associated outcome. For example, this field is generally not populated for metric events, events with `event.type:info`, or any events for which an outcome does not make logical sense.' example: success flat_name: event.outcome ignore_above: 1024 level: core name: outcome normalize: [] short: The outcome of the event. The lowest level categorization field in the hierarchy. type: keyword event.provider: dashed_name: event-provider description: 'Source of the event. Event transports such as Syslog or the Windows Event Log typically mention the source of an event. It can be the name of the software that generated the event (e.g. Sysmon, httpd), or of a subsystem of the operating system (kernel, Microsoft-Windows-Security-Auditing).' example: kernel flat_name: event.provider ignore_above: 1024 level: extended name: provider normalize: [] short: Source of the event. type: keyword event.sequence: dashed_name: event-sequence description: 'Sequence number of the event. The sequence number is a value published by some event sources, to make the exact ordering of events unambiguous, regardless of the timestamp precision.' flat_name: event.sequence format: string level: extended name: sequence normalize: [] short: Sequence number of the event. type: long event.severity: dashed_name: event-severity description: 'The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It''s up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`.' example: 7 flat_name: event.severity format: string level: core name: severity normalize: [] short: Numeric severity of the event. type: long event.type: allowed_values: - description: The access event type is used for the subset of events within a category that indicate that something was accessed. Common examples include `event.category:database AND event.type:access`, or `event.category:file AND event.type:access`. Note for file access, both directory listings and file opens should be included in this subcategory. You can further distinguish access operations using the ECS `event.action` field. name: access - description: 'The admin event type is used for the subset of events within a category that are related to admin objects. For example, administrative changes within an IAM framework that do not specifically affect a user or group (e.g., adding new applications to a federation solution or connecting discrete forests in Active Directory) would fall into this subcategory. Common example: `event.category:iam AND event.type:change AND event.type:admin`. You can further distinguish admin operations using the ECS `event.action` field.' name: admin - description: The allowed event type is used for the subset of events within a category that indicate that something was allowed. Common examples include `event.category:network AND event.type:connection AND event.type:allowed` (to indicate a network firewall event for which the firewall disposition was to allow the connection to complete) and `event.category:intrusion_detection AND event.type:allowed` (to indicate a network intrusion prevention system event for which the IPS disposition was to allow the connection to complete). You can further distinguish allowed operations using the ECS `event.action` field, populating with values of your choosing, such as "allow", "detect", or "pass". name: allowed - description: The change event type is used for the subset of events within a category that indicate that something has changed. If semantics best describe an event as modified, then include them in this subcategory. Common examples include `event.category:process AND event.type:change`, and `event.category:file AND event.type:change`. You can further distinguish change operations using the ECS `event.action` field. name: change - description: Used primarily with `event.category:network` this value is used for the subset of network traffic that includes sufficient information for the event to be included in flow or connection analysis. Events in this subcategory will contain at least source and destination IP addresses, source and destination TCP/UDP ports, and will usually contain counts of bytes and/or packets transferred. Events in this subcategory may contain unidirectional or bidirectional information, including summary information. Use this subcategory to visualize and analyze network connections. Flow analysis, including Netflow, IPFIX, and other flow-related events fit in this subcategory. Note that firewall events from many Next-Generation Firewall (NGFW) devices will also fit into this subcategory. A common filter for flow/connection information would be `event.category:network AND event.type:connection AND event.type:end` (to view or analyze all completed network connections, ignoring mid-flow reports). You can further distinguish connection events using the ECS `event.action` field, populating with values of your choosing, such as "timeout", or "reset". name: connection - description: The "creation" event type is used for the subset of events within a category that indicate that something was created. A common example is `event.category:file AND event.type:creation`. name: creation - description: The deletion event type is used for the subset of events within a category that indicate that something was deleted. A common example is `event.category:file AND event.type:deletion` to indicate that a file has been deleted. name: deletion - description: The denied event type is used for the subset of events within a category that indicate that something was denied. Common examples include `event.category:network AND event.type:denied` (to indicate a network firewall event for which the firewall disposition was to deny the connection) and `event.category:intrusion_detection AND event.type:denied` (to indicate a network intrusion prevention system event for which the IPS disposition was to deny the connection to complete). You can further distinguish denied operations using the ECS `event.action` field, populating with values of your choosing, such as "blocked", "dropped", or "quarantined". name: denied - description: The end event type is used for the subset of events within a category that indicate something has ended. A common example is `event.category:process AND event.type:end`. name: end - description: The error event type is used for the subset of events within a category that indicate or describe an error. A common example is `event.category:database AND event.type:error`. Note that pipeline errors that occur during the event ingestion process should not use this `event.type` value. Instead, they should use `event.kind:pipeline_error`. name: error - description: 'The group event type is used for the subset of events within a category that are related to group objects. Common example: `event.category:iam AND event.type:creation AND event.type:group`. You can further distinguish group operations using the ECS `event.action` field.' name: group - description: 'The indicator event type is used for the subset of events within a category that contain details about indicators of compromise (IOCs). A common example is `event.category:threat AND event.type:indicator`.' name: indicator - description: The info event type is used for the subset of events within a category that indicate that they are purely informational, and don't report a state change, or any type of action. For example, an initial run of a file integrity monitoring system (FIM), where an agent reports all files under management, would fall into the "info" subcategory. Similarly, an event containing a dump of all currently running processes (as opposed to reporting that a process started/ended) would fall into the "info" subcategory. An additional common examples is `event.category:intrusion_detection AND event.type:info`. name: info - description: The installation event type is used for the subset of events within a category that indicate that something was installed. A common example is `event.category:package` AND `event.type:installation`. name: installation - description: The protocol event type is used for the subset of events within a category that indicate that they contain protocol details or analysis, beyond simply identifying the protocol. Generally, network events that contain specific protocol details will fall into this subcategory. A common example is `event.category:network AND event.type:protocol AND event.type:connection AND event.type:end` (to indicate that the event is a network connection event sent at the end of a connection that also includes a protocol detail breakdown). Note that events that only indicate the name or id of the protocol should not use the protocol value. Further note that when the protocol subcategory is used, the identified protocol is populated in the ECS `network.protocol` field. name: protocol - description: The start event type is used for the subset of events within a category that indicate something has started. A common example is `event.category:process AND event.type:start`. name: start - description: 'The user event type is used for the subset of events within a category that are related to user objects. Common example: `event.category:iam AND event.type:deletion AND event.type:user`. You can further distinguish user operations using the ECS `event.action` field.' name: user dashed_name: event-type description: 'This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. `event.type` represents a categorization "sub-bucket" that, when used along with the `event.category` field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.' flat_name: event.type ignore_above: 1024 level: core name: type normalize: - array short: Event type. The third categorization field in the hierarchy. type: keyword group.Ext: dashed_name: group-Ext description: Object for all custom defined fields to live in. flat_name: group.Ext level: custom name: Ext normalize: [] short: Object for all custom defined fields to live in. type: object group.Ext.real: dashed_name: group-Ext-real description: Group info prior to any setgid operations. flat_name: group.Ext.real level: custom name: Ext.real normalize: [] short: Group info prior to any setgid operations. type: object group.Ext.real.id: dashed_name: group-Ext-real-id description: Unique identifier for the group on the system/platform. flat_name: group.Ext.real.id ignore_above: 1024 level: custom name: Ext.real.id normalize: [] short: Unique identifier for the group on the system/platform. type: keyword group.Ext.real.name: dashed_name: group-Ext-real-name description: Name of the group. flat_name: group.Ext.real.name ignore_above: 1024 level: custom name: Ext.real.name normalize: [] short: Name of the group. type: keyword group.domain: dashed_name: group-domain description: Name of the directory the group is a member of. For example, an LDAP or Active Directory domain name. flat_name: group.domain ignore_above: 1024 level: extended name: domain normalize: [] short: Name of the directory the group is a member of. type: keyword group.id: dashed_name: group-id description: Unique identifier for the group on the system/platform. flat_name: group.id ignore_above: 1024 level: extended name: id normalize: [] short: Unique identifier for the group on the system/platform. type: keyword group.name: dashed_name: group-name description: Name of the group. flat_name: group.name ignore_above: 1024 level: extended name: name normalize: [] short: Name of the group. type: keyword host.architecture: dashed_name: host-architecture description: Operating system architecture. example: x86_64 flat_name: host.architecture ignore_above: 1024 level: core name: architecture normalize: [] short: Operating system architecture. type: keyword host.domain: dashed_name: host-domain description: 'Name of the domain of which the host is a member. For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' example: CONTOSO flat_name: host.domain ignore_above: 1024 level: extended name: domain normalize: [] short: Name of the directory the group is a member of. type: keyword host.hostname: dashed_name: host-hostname description: 'Hostname of the host. It normally contains what the `hostname` command returns on the host machine.' flat_name: host.hostname ignore_above: 1024 level: core name: hostname normalize: [] short: Hostname of the host. type: keyword host.id: dashed_name: host-id description: 'Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of `beat.name`.' flat_name: host.id ignore_above: 1024 level: core name: id normalize: [] short: Unique host id. type: keyword host.ip: dashed_name: host-ip description: Host ip addresses. flat_name: host.ip level: core name: ip normalize: - array short: Host ip addresses. type: ip host.mac: dashed_name: host-mac description: 'Host MAC addresses. The notation format from RFC 7042 is suggested: Each octet (that is, 8-bit byte) is represented by two [uppercase] hexadecimal digits giving the value of the octet as an unsigned integer. Successive octets are separated by a hyphen.' example: '["00-00-5E-00-53-23", "00-00-5E-00-53-24"]' flat_name: host.mac ignore_above: 1024 level: core name: mac normalize: - array pattern: ^[A-F0-9]{2}(-[A-F0-9]{2}){5,}$ short: Host MAC addresses. type: keyword host.name: dashed_name: host-name description: 'Name of the host. It can contain what hostname returns on Unix systems, the fully qualified domain name (FQDN), or a name specified by the user. The recommended value is the lowercase FQDN of the host.' flat_name: host.name ignore_above: 1024 level: core name: name normalize: [] short: Name of the host. type: keyword host.os.Ext: dashed_name: host-os-Ext description: Object for all custom defined fields to live in. flat_name: host.os.Ext level: custom name: Ext normalize: [] original_fieldset: os short: Object for all custom defined fields to live in. type: object host.os.Ext.variant: dashed_name: host-os-Ext-variant description: A string value or phrase that further aid to classify or qualify the operating system (OS). For example the distribution for a Linux OS will be entered in this field. example: Ubuntu flat_name: host.os.Ext.variant ignore_above: 1024 level: custom name: Ext.variant normalize: [] original_fieldset: os short: A string value or phrase that further aid to classify or qualify the operating system (OS). type: keyword host.os.family: dashed_name: host-os-family description: OS family (such as redhat, debian, freebsd, windows). example: debian flat_name: host.os.family ignore_above: 1024 level: extended name: family normalize: [] original_fieldset: os short: OS family (such as redhat, debian, freebsd, windows). type: keyword host.os.full: dashed_name: host-os-full description: Operating system name, including the version or code name. example: Mac OS Mojave flat_name: host.os.full ignore_above: 1024 level: extended multi_fields: - flat_name: host.os.full.caseless ignore_above: 1024 name: caseless normalizer: lowercase type: keyword - flat_name: host.os.full.text name: text norms: false type: text name: full normalize: [] original_fieldset: os short: Operating system name, including the version or code name. type: keyword host.os.kernel: dashed_name: host-os-kernel description: Operating system kernel version as a raw string. example: 4.4.0-112-generic flat_name: host.os.kernel ignore_above: 1024 level: extended name: kernel normalize: [] original_fieldset: os short: Operating system kernel version as a raw string. type: keyword host.os.name: dashed_name: host-os-name description: Operating system name, without the version. example: Mac OS X flat_name: host.os.name ignore_above: 1024 level: extended multi_fields: - flat_name: host.os.name.caseless ignore_above: 1024 name: caseless normalizer: lowercase type: keyword - flat_name: host.os.name.text name: text norms: false type: text name: name normalize: [] original_fieldset: os short: Operating system name, without the version. type: keyword host.os.platform: dashed_name: host-os-platform description: Operating system platform (such centos, ubuntu, windows). example: darwin flat_name: host.os.platform ignore_above: 1024 level: extended name: platform normalize: [] original_fieldset: os short: Operating system platform (such centos, ubuntu, windows). type: keyword host.os.type: dashed_name: host-os-type description: 'Use the `os.type` field to categorize the operating system into one of the broad commercial families. If the OS you''re dealing with is not listed as an expected value, the field should not be populated. Please let us know by opening an issue with ECS, to propose its addition.' example: macos expected_values: - linux - macos - unix - windows - ios - android flat_name: host.os.type ignore_above: 1024 level: extended name: type normalize: [] original_fieldset: os short: 'Which commercial OS family (one of: linux, macos, unix, windows, ios or android).' type: keyword host.os.version: dashed_name: host-os-version description: Operating system version as a raw string. example: 10.14.1 flat_name: host.os.version ignore_above: 1024 level: extended name: version normalize: [] original_fieldset: os short: Operating system version as a raw string. type: keyword host.type: dashed_name: host-type description: 'Type of host. For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' flat_name: host.type ignore_above: 1024 level: core name: type normalize: [] short: Type of host. type: keyword host.uptime: dashed_name: host-uptime description: Seconds the host has been up. example: 1325 flat_name: host.uptime level: extended name: uptime normalize: [] short: Seconds the host has been up. type: long http.request.body.bytes: dashed_name: http-request-body-bytes description: Size in bytes of the request body. example: 887 flat_name: http.request.body.bytes format: bytes level: extended name: request.body.bytes normalize: [] short: Size in bytes of the request body. type: long http.request.body.content: dashed_name: http-request-body-content description: The full HTTP request body. example: Hello world flat_name: http.request.body.content level: extended multi_fields: - flat_name: http.request.body.content.text name: text type: match_only_text name: request.body.content normalize: [] short: The full HTTP request body. type: wildcard http.request.bytes: dashed_name: http-request-bytes description: Total size in bytes of the request (body and headers). example: 1437 flat_name: http.request.bytes format: bytes level: extended name: request.bytes normalize: [] short: Total size in bytes of the request (body and headers). type: long http.response.Ext: dashed_name: http-response-Ext description: Object for all custom defined fields to live in. flat_name: http.response.Ext level: custom name: response.Ext normalize: [] short: Object for all custom defined fields to live in. type: object http.response.Ext.version: dashed_name: http-response-Ext-version description: HTTP version flat_name: http.response.Ext.version ignore_above: 1024 level: custom name: response.Ext.version normalize: [] short: HTTP version type: keyword http.response.body.bytes: dashed_name: http-response-body-bytes description: Size in bytes of the response body. example: 887 flat_name: http.response.body.bytes format: bytes level: extended name: response.body.bytes normalize: [] short: Size in bytes of the response body. type: long http.response.body.content: dashed_name: http-response-body-content description: The full HTTP response body. example: Hello world flat_name: http.response.body.content level: extended multi_fields: - flat_name: http.response.body.content.text name: text type: match_only_text name: response.body.content normalize: [] short: The full HTTP response body. type: wildcard http.response.bytes: dashed_name: http-response-bytes description: Total size in bytes of the response (body and headers). example: 1437 flat_name: http.response.bytes format: bytes level: extended name: response.bytes normalize: [] short: Total size in bytes of the response (body and headers). type: long http.response.status_code: dashed_name: http-response-status-code description: HTTP response status code. example: 404 flat_name: http.response.status_code format: string level: extended name: response.status_code normalize: [] short: HTTP response status code. type: long message: dashed_name: message description: 'For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message.' example: Hello World flat_name: message level: core name: message normalize: [] short: Log message optimized for viewing in a log viewer. type: match_only_text network.bytes: dashed_name: network-bytes description: 'Total bytes transferred in both directions. If `source.bytes` and `destination.bytes` are known, `network.bytes` is their sum.' example: 368 flat_name: network.bytes format: bytes level: core name: bytes normalize: [] short: Total bytes transferred in both directions. type: long network.community_id: dashed_name: network-community-id description: 'A hash of source and destination IPs and ports, as well as the protocol used in a communication. This is a tool-agnostic standard to identify flows. Learn more at https://github.com/corelight/community-id-spec.' example: 1:hO+sN4H+MG5MY/8hIrXPqc4ZQz0= flat_name: network.community_id ignore_above: 1024 level: extended name: community_id normalize: [] short: A hash of source and destination IPs and ports. type: keyword network.direction: dashed_name: network-direction description: 'Direction of the network traffic. When mapping events from a host-based monitoring context, populate this field from the host''s point of view, using the values "ingress" or "egress". When mapping events from a network or perimeter-based monitoring context, populate this field from the point of view of the network perimeter, using the values "inbound", "outbound", "internal" or "external". Note that "internal" is not crossing perimeter boundaries, and is meant to describe communication between two hosts within the perimeter. Note also that "external" is meant to describe traffic between two hosts that are external to the perimeter. This could for example be useful for ISPs or VPN service providers.' example: inbound expected_values: - ingress - egress - inbound - outbound - internal - external - unknown flat_name: network.direction ignore_above: 1024 level: core name: direction normalize: [] short: Direction of the network traffic. type: keyword network.iana_number: dashed_name: network-iana-number description: IANA Protocol Number (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). Standardized list of protocols. This aligns well with NetFlow and sFlow related logs which use the IANA Protocol Number. example: 6 flat_name: network.iana_number ignore_above: 1024 level: extended name: iana_number normalize: [] short: IANA Protocol Number. type: keyword network.packets: dashed_name: network-packets description: 'Total packets transferred in both directions. If `source.packets` and `destination.packets` are known, `network.packets` is their sum.' example: 24 flat_name: network.packets level: core name: packets normalize: [] short: Total packets transferred in both directions. type: long network.protocol: dashed_name: network-protocol description: 'In the OSI Model this would be the Application Layer protocol. For example, `http`, `dns`, or `ssh`. The field value must be normalized to lowercase for querying.' example: http flat_name: network.protocol ignore_above: 1024 level: core name: protocol normalize: [] short: Application protocol name. type: keyword network.transport: dashed_name: network-transport description: 'Same as network.iana_number, but instead using the Keyword name of the transport layer (udp, tcp, ipv6-icmp, etc.) The field value must be normalized to lowercase for querying.' example: tcp flat_name: network.transport ignore_above: 1024 level: core name: transport normalize: [] short: Protocol Name corresponding to the field `iana_number`. type: keyword network.type: dashed_name: network-type description: 'In the OSI Model this would be the Network Layer. ipv4, ipv6, ipsec, pim, etc The field value must be normalized to lowercase for querying.' example: ipv4 flat_name: network.type ignore_above: 1024 level: core name: type normalize: [] short: In the OSI Model this would be the Network Layer. ipv4, ipv6, ipsec, pim, etc type: keyword process.Ext: dashed_name: process-Ext description: Object for all custom defined fields to live in. flat_name: process.Ext level: custom name: Ext normalize: [] short: Object for all custom defined fields to live in. type: object process.Ext.ancestry: dashed_name: process-Ext-ancestry description: An array of entity_ids indicating the ancestors for this event flat_name: process.Ext.ancestry ignore_above: 1024 level: custom name: Ext.ancestry normalize: [] short: An array of entity_ids indicating the ancestors for this event type: keyword process.Ext.code_signature: dashed_name: process-Ext-code-signature description: Nested version of ECS code_signature fieldset. flat_name: process.Ext.code_signature level: custom name: Ext.code_signature normalize: [] short: Nested version of ECS code_signature fieldset. type: nested process.Ext.code_signature.exists: dashed_name: process-Ext-code-signature-exists description: Boolean to capture if a signature is present. example: 'true' flat_name: process.Ext.code_signature.exists level: custom name: Ext.code_signature.exists normalize: [] short: Boolean to capture if a signature is present. type: boolean process.Ext.code_signature.status: dashed_name: process-Ext-code-signature-status description: 'Additional information about the certificate status. This is useful for logging cryptographic errors with the certificate validity or trust status. Leave unpopulated if the validity or trust of the certificate was unchecked.' example: ERROR_UNTRUSTED_ROOT flat_name: process.Ext.code_signature.status ignore_above: 1024 level: custom name: Ext.code_signature.status normalize: [] short: Additional information about the certificate status. type: keyword process.Ext.code_signature.subject_name: dashed_name: process-Ext-code-signature-subject-name description: Subject name of the code signer example: Microsoft Corporation flat_name: process.Ext.code_signature.subject_name ignore_above: 1024 level: custom name: Ext.code_signature.subject_name normalize: [] short: Subject name of the code signer type: keyword process.Ext.code_signature.trusted: dashed_name: process-Ext-code-signature-trusted description: 'Stores the trust status of the certificate chain. Validating the trust of the certificate chain may be complicated, and this field should only be populated by tools that actively check the status.' example: 'true' flat_name: process.Ext.code_signature.trusted level: custom name: Ext.code_signature.trusted normalize: [] short: Stores the trust status of the certificate chain. type: boolean process.Ext.code_signature.valid: dashed_name: process-Ext-code-signature-valid description: 'Boolean to capture if the digital signature is verified against the binary content. Leave unpopulated if a certificate was unchecked.' example: 'true' flat_name: process.Ext.code_signature.valid level: custom name: Ext.code_signature.valid normalize: [] short: Boolean to capture if the digital signature is verified against the binary content. type: boolean process.code_signature.exists: dashed_name: process-code-signature-exists description: Boolean to capture if a signature is present. example: 'true' flat_name: process.code_signature.exists level: core name: exists normalize: [] original_fieldset: code_signature short: Boolean to capture if a signature is present. type: boolean process.code_signature.signing_id: dashed_name: process-code-signature-signing-id description: 'The identifier used to sign the process. This is used to identify the application manufactured by a software vendor. The field is relevant to Apple *OS only.' example: com.apple.xpc.proxy flat_name: process.code_signature.signing_id ignore_above: 1024 level: extended name: signing_id normalize: [] original_fieldset: code_signature short: The identifier used to sign the process. type: keyword process.code_signature.status: dashed_name: process-code-signature-status description: 'Additional information about the certificate status. This is useful for logging cryptographic errors with the certificate validity or trust status. Leave unpopulated if the validity or trust of the certificate was unchecked.' example: ERROR_UNTRUSTED_ROOT flat_name: process.code_signature.status ignore_above: 1024 level: extended name: status normalize: [] original_fieldset: code_signature short: Additional information about the certificate status. type: keyword process.code_signature.subject_name: dashed_name: process-code-signature-subject-name description: Subject name of the code signer example: Microsoft Corporation flat_name: process.code_signature.subject_name ignore_above: 1024 level: core name: subject_name normalize: [] original_fieldset: code_signature short: Subject name of the code signer type: keyword process.code_signature.team_id: dashed_name: process-code-signature-team-id description: 'The team identifier used to sign the process. This is used to identify the team or vendor of a software product. The field is relevant to Apple *OS only.' example: EQHXZ8M8AV flat_name: process.code_signature.team_id ignore_above: 1024 level: extended name: team_id normalize: [] original_fieldset: code_signature short: The team identifier used to sign the process. type: keyword process.code_signature.trusted: dashed_name: process-code-signature-trusted description: 'Stores the trust status of the certificate chain. Validating the trust of the certificate chain may be complicated, and this field should only be populated by tools that actively check the status.' example: 'true' flat_name: process.code_signature.trusted level: extended name: trusted normalize: [] original_fieldset: code_signature short: Stores the trust status of the certificate chain. type: boolean process.code_signature.valid: dashed_name: process-code-signature-valid description: 'Boolean to capture if the digital signature is verified against the binary content. Leave unpopulated if a certificate was unchecked.' example: 'true' flat_name: process.code_signature.valid level: extended name: valid normalize: [] original_fieldset: code_signature short: Boolean to capture if the digital signature is verified against the binary content. type: boolean process.entity_id: dashed_name: process-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] short: Unique identifier for the process. type: keyword process.entry_leader.entity_id: dashed_name: process-entry-leader-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.entry_leader.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] original_fieldset: process short: Unique identifier for the process. type: keyword process.entry_leader.parent.entity_id: dashed_name: process-entry-leader-parent-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.entry_leader.parent.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] original_fieldset: process short: Unique identifier for the process. type: keyword process.executable: dashed_name: process-executable description: Absolute path to the process executable. example: /usr/bin/ssh flat_name: process.executable ignore_above: 1024 level: extended multi_fields: - flat_name: process.executable.caseless ignore_above: 1024 name: caseless normalizer: lowercase type: keyword - flat_name: process.executable.text name: text norms: false type: text name: executable normalize: [] short: Absolute path to the process executable. type: keyword process.group_leader.entity_id: dashed_name: process-group-leader-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.group_leader.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] original_fieldset: process short: Unique identifier for the process. type: keyword process.name: dashed_name: process-name description: 'Process name. Sometimes called program name or similar.' example: ssh flat_name: process.name ignore_above: 1024 level: extended multi_fields: - flat_name: process.name.caseless ignore_above: 1024 name: caseless normalizer: lowercase type: keyword - flat_name: process.name.text name: text norms: false type: text name: name normalize: [] short: Process name. type: keyword process.parent.entity_id: dashed_name: process-parent-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.parent.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] original_fieldset: process short: Unique identifier for the process. type: keyword process.parent.group_leader.entity_id: dashed_name: process-parent-group-leader-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.parent.group_leader.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] original_fieldset: process short: Unique identifier for the process. type: keyword process.pid: dashed_name: process-pid description: Process id. example: 4242 flat_name: process.pid format: string level: core name: pid normalize: [] short: Process id. type: long process.session_leader.entity_id: dashed_name: process-session-leader-entity-id description: 'Unique identifier for the process. The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process. Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.' example: c2c455d9f99375d flat_name: process.session_leader.entity_id ignore_above: 1024 level: extended name: entity_id normalize: [] original_fieldset: process short: Unique identifier for the process. type: keyword process.thread.id: dashed_name: process-thread-id description: Thread ID. example: 4242 flat_name: process.thread.id format: string level: extended name: thread.id normalize: [] short: Thread ID. type: long source.address: dashed_name: source-address description: 'Some event source addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the `.address` field. Then it should be duplicated to `.ip` or `.domain`, depending on which one it is.' flat_name: source.address ignore_above: 1024 level: extended name: address normalize: [] short: Source network address. type: keyword source.as.number: dashed_name: source-as-number description: Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. example: 15169 flat_name: source.as.number level: extended name: number normalize: [] original_fieldset: as short: Unique number allocated to the autonomous system. type: long source.as.organization.name: dashed_name: source-as-organization-name description: Organization name. example: Google LLC flat_name: source.as.organization.name ignore_above: 1024 level: extended multi_fields: - flat_name: source.as.organization.name.text name: text type: match_only_text name: organization.name normalize: [] original_fieldset: as short: Organization name. type: keyword source.bytes: dashed_name: source-bytes description: Bytes sent from the source to the destination. example: 184 flat_name: source.bytes format: bytes level: core name: bytes normalize: [] short: Bytes sent from the source to the destination. type: long source.domain: dashed_name: source-domain description: 'The domain name of the source system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment.' example: foo.example.com flat_name: source.domain ignore_above: 1024 level: core name: domain normalize: [] short: The domain name of the source. type: keyword source.geo.city_name: dashed_name: source-geo-city-name description: City name. example: Montreal flat_name: source.geo.city_name ignore_above: 1024 level: core name: city_name normalize: [] original_fieldset: geo short: City name. type: keyword source.geo.continent_code: dashed_name: source-geo-continent-code description: Two-letter code representing continent's name. example: NA flat_name: source.geo.continent_code ignore_above: 1024 level: core name: continent_code normalize: [] original_fieldset: geo short: Continent code. type: keyword source.geo.continent_name: dashed_name: source-geo-continent-name description: Name of the continent. example: North America flat_name: source.geo.continent_name ignore_above: 1024 level: core name: continent_name normalize: [] original_fieldset: geo short: Name of the continent. type: keyword source.geo.country_iso_code: dashed_name: source-geo-country-iso-code description: Country ISO code. example: CA flat_name: source.geo.country_iso_code ignore_above: 1024 level: core name: country_iso_code normalize: [] original_fieldset: geo short: Country ISO code. type: keyword source.geo.country_name: dashed_name: source-geo-country-name description: Country name. example: Canada flat_name: source.geo.country_name ignore_above: 1024 level: core name: country_name normalize: [] original_fieldset: geo short: Country name. type: keyword source.geo.location: dashed_name: source-geo-location description: Longitude and latitude. example: '{ "lon": -73.614830, "lat": 45.505918 }' flat_name: source.geo.location level: core name: location normalize: [] original_fieldset: geo short: Longitude and latitude. type: geo_point source.geo.name: dashed_name: source-geo-name description: 'User-defined description of a location, at the level of granularity they care about. Could be the name of their data centers, the floor number, if this describes a local physical entity, city names. Not typically used in automated geolocation.' example: boston-dc flat_name: source.geo.name ignore_above: 1024 level: extended name: name normalize: [] original_fieldset: geo short: User-defined description of a location. type: keyword source.geo.postal_code: dashed_name: source-geo-postal-code description: 'Postal code associated with the location. Values appropriate for this field may also be known as a postcode or ZIP code and will vary widely from country to country.' example: 94040 flat_name: source.geo.postal_code ignore_above: 1024 level: core name: postal_code normalize: [] original_fieldset: geo short: Postal code. type: keyword source.geo.region_iso_code: dashed_name: source-geo-region-iso-code description: Region ISO code. example: CA-QC flat_name: source.geo.region_iso_code ignore_above: 1024 level: core name: region_iso_code normalize: [] original_fieldset: geo short: Region ISO code. type: keyword source.geo.region_name: dashed_name: source-geo-region-name description: Region name. example: Quebec flat_name: source.geo.region_name ignore_above: 1024 level: core name: region_name normalize: [] original_fieldset: geo short: Region name. type: keyword source.geo.timezone: dashed_name: source-geo-timezone description: The time zone of the location, such as IANA time zone name. example: America/Argentina/Buenos_Aires flat_name: source.geo.timezone ignore_above: 1024 level: core name: timezone normalize: [] original_fieldset: geo short: Time zone. type: keyword source.ip: dashed_name: source-ip description: IP address of the source (IPv4 or IPv6). flat_name: source.ip level: core name: ip normalize: [] short: IP address of the source. type: ip source.packets: dashed_name: source-packets description: Packets sent from the source to the destination. example: 12 flat_name: source.packets level: core name: packets normalize: [] short: Packets sent from the source to the destination. type: long source.port: dashed_name: source-port description: Port of the source. flat_name: source.port format: string level: core name: port normalize: [] short: Port of the source. type: long source.registered_domain: dashed_name: source-registered-domain description: 'The highest registered source domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk".' example: example.com flat_name: source.registered_domain ignore_above: 1024 level: extended name: registered_domain normalize: [] short: The highest registered source domain, stripped of the subdomain. type: keyword source.top_level_domain: dashed_name: source-top-level-domain description: 'The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk".' example: co.uk flat_name: source.top_level_domain ignore_above: 1024 level: extended name: top_level_domain normalize: [] short: The effective top level domain (com, org, net, co.uk). type: keyword user.Ext: dashed_name: user-Ext description: Object for all custom defined fields to live in. flat_name: user.Ext level: custom name: Ext normalize: [] short: Object for all custom defined fields to live in. type: object user.Ext.real: dashed_name: user-Ext-real description: User info prior to any setuid operations. flat_name: user.Ext.real level: custom name: Ext.real normalize: [] short: User info prior to any setuid operations. type: object user.Ext.real.id: dashed_name: user-Ext-real-id description: One or multiple unique identifiers of the user. flat_name: user.Ext.real.id ignore_above: 1024 level: custom name: Ext.real.id normalize: [] short: One or multiple unique identifiers of the user. type: keyword user.Ext.real.name: dashed_name: user-Ext-real-name description: Short name or login of the user. flat_name: user.Ext.real.name ignore_above: 1024 level: custom name: Ext.real.name normalize: [] short: Short name or login of the user. type: keyword user.domain: dashed_name: user-domain description: 'Name of the directory the user is a member of. For example, an LDAP or Active Directory domain name.' flat_name: user.domain ignore_above: 1024 level: extended name: domain normalize: [] short: Name of the directory the user is a member of. type: keyword user.email: dashed_name: user-email description: User email address. flat_name: user.email ignore_above: 1024 level: extended name: email normalize: [] short: User email address. type: keyword user.full_name: dashed_name: user-full-name description: User's full name, if available. example: Albert Einstein flat_name: user.full_name ignore_above: 1024 level: extended multi_fields: - flat_name: user.full_name.text name: text type: match_only_text name: full_name normalize: [] short: User's full name, if available. type: keyword user.group.Ext: dashed_name: user-group-Ext description: Object for all custom defined fields to live in. flat_name: user.group.Ext level: custom name: Ext normalize: [] original_fieldset: group short: Object for all custom defined fields to live in. type: object user.group.Ext.real: dashed_name: user-group-Ext-real description: Group info prior to any setgid operations. flat_name: user.group.Ext.real level: custom name: Ext.real normalize: [] original_fieldset: group short: Group info prior to any setgid operations. type: object user.group.Ext.real.id: dashed_name: user-group-Ext-real-id description: Unique identifier for the group on the system/platform. flat_name: user.group.Ext.real.id ignore_above: 1024 level: custom name: Ext.real.id normalize: [] original_fieldset: group short: Unique identifier for the group on the system/platform. type: keyword user.group.Ext.real.name: dashed_name: user-group-Ext-real-name description: Name of the group. flat_name: user.group.Ext.real.name ignore_above: 1024 level: custom name: Ext.real.name normalize: [] original_fieldset: group short: Name of the group. type: keyword user.group.domain: dashed_name: user-group-domain description: Name of the directory the group is a member of. For example, an LDAP or Active Directory domain name. flat_name: user.group.domain ignore_above: 1024 level: extended name: domain normalize: [] original_fieldset: group short: Name of the directory the group is a member of. type: keyword user.group.id: dashed_name: user-group-id description: Unique identifier for the group on the system/platform. flat_name: user.group.id ignore_above: 1024 level: extended name: id normalize: [] original_fieldset: group short: Unique identifier for the group on the system/platform. type: keyword user.group.name: dashed_name: user-group-name description: Name of the group. flat_name: user.group.name ignore_above: 1024 level: extended name: name normalize: [] original_fieldset: group short: Name of the group. type: keyword user.hash: dashed_name: user-hash description: 'Unique user hash to correlate information for a user in anonymized form. Useful if `user.id` or `user.name` contain confidential information and cannot be used.' flat_name: user.hash ignore_above: 1024 level: extended name: hash normalize: [] short: Unique user hash to correlate information for a user in anonymized form. type: keyword user.id: dashed_name: user-id description: Unique identifier of the user. example: S-1-5-21-202424912787-2692429404-2351956786-1000 flat_name: user.id ignore_above: 1024 level: core name: id normalize: [] short: Unique identifier of the user. type: keyword user.name: dashed_name: user-name description: Short name or login of the user. example: a.einstein flat_name: user.name ignore_above: 1024 level: core multi_fields: - flat_name: user.name.text name: text type: match_only_text name: name normalize: [] short: Short name or login of the user. type: keyword