schemas/v0/dns.yaml (102 lines of code) (raw):

--- title: Endgame Network events. embedded: true fields: # ECS - name: "@timestamp" type: date 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. - name: message type: text 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. - name: host description: > The host fields are used to describe the host that's publishing data. fields: - name: os description: > The description of the operating system. fields: - name: platform type: keyword description: > Currently we just try use the non-normalized "name" (i.e. macos). See https://www.elastic.co/guide/en/ecs/current/ecs-os.html for how we should be mapping this example: darwin - name: name type: keyword description: > Currently we just normalize the name (i.e. macOS, Windows, Linux). See https://www.elastic.co/guide/en/ecs/current/ecs-os.html for how we should be mapping this example: Mac OS X - name: version type: keyword description: > Operating system version as a raw string. example: 10.14.1 - name: ip type: ip description: > The IP address of the sensor, currently this is the IP that the SMP sees. example: 10.0.1.5 - name: hostname type: keyword description: > The hostname of the sensor, currently this is the hostname that the SMP sees. example: laptop-mbp - name: name type: keyword description: > The name of the sensor, currently this is the hostname that the SMP sees. example: laptop-mbp - name: event description: > The event fields are used to describe the event metadata. fields: - name: id type: keyword description: > Unique ID to describe the event. example: 8a4f500d - name: module type: keyword description: > Currently hardcoded to "endgame". example: endgame - name: dataset type: keyword description: > Currently hardcoded to "esensor". example: esensor - name: action type: keyword description: > The event action. example: process_created_event - name: kind type: keyword description: > The event kind. example: event - name: category type: keyword description: > The event category. example: process - name: type type: keyword description: > The event type. example: process_start - name: labels description: > Metadata labels for Endgame data. type: object object_type: keyword example: '{"account_id": 12321,"endpoint_id": 12321}' - name: agent description: > The agent fields are used to describe by which endgame sensor information was collected. fields: - name: version type: keyword description: > Version of the endgame sensor publishing the event. example: 5.31.2 - name: type type: keyword description: > Endgame. example: endgame - name: id type: keyword description: > Unique sensor identifier. example: 8a4f500d - name: network description: > The network is defined as the communication path over which a host or network event happens. fields: - name: transport type: keyword description: > Protocol Name corresponding to the field `iana_number`. - name: protocol type: keyword description: > L7 Network protocol name. - name: community_id type: keyword description: > Learn more at https://github.com/corelight/community-id-spec. - name: bytes type: long format: bytes description: > Total bytes transferred in both directions. - name: packets type: long description: > Total packets transferred in both directions. - name: source description: > Source fields describe details about the source of a packet/event. fields: - name: address type: keyword 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. - name: ip type: ip description: > IP address of the source. Can be one or multiple IPv4 or IPv6 addresses. - name: port type: long description: > Port of the source. - name: bytes format: bytes type: long description: > Bytes sent from the source to the destination. - name: packets type: long description: > Packets sent from the source to the destination. - name: destination description: > Destination fields describe details about the destination of a packet/event. fields: - name: address type: keyword 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." - name: ip type: ip description: > IP address of the destination. Can be one or multiple IPv4 or IPv6 addresses. - name: port type: long description: > Port of the destination. - name: bytes format: bytes type: long description: > Bytes sent from the destination to the source. - name: packets type: long description: > Packets sent from the destination to the source. - name: dns description: > Fields describing DNS queries and answers. fields: - name: question fields: - name: name type: keyword description: > The name being queried. - name: type type: keyword description: > The type of record being queried. - name: registered_domain type: keyword description: > The highest registered domain, stripped of the subdomain. - name: resolved_ip type: ip description: > Array containing all IPs. # Our current stuff - name: endgame description: > The current endgame fields. fields: # BaseDataBuffer - name: serial_event_id type: long # this is a uint64 right now description: "" - name: opcode type: integer # this is a uint32 right now description: "" - name: event_type_full type: keyword description: "" - name: event_subtype_full type: keyword description: "" # GenericDataBuffer - name: timestamp type: date # this is a uint64 right now description: "" - name: timestamp_utc type: keyword description: "" - name: event_message type: keyword description: "" - name: unknown_properties type: keyword # this is a generic object right now, we should get rid of it description: "" - name: pid type: integer # this is a uint32 right now description: "" - name: process_path type: keyword description: "" - name: process_name type: keyword description: "" - name: unique_pid type: long # this is a uint64 right now description: "" # GenericDataBuffer: Windows - name: user_name type: keyword description: "" - name: user_domain type: keyword description: "" - name: user_sid type: keyword description: "" - name: tid type: integer # this is a uint32 right now description: "" # GenericDataBuffer: Posix - name: real_user_name type: keyword description: "" - name: effective_user_name type: keyword description: "" - name: real_group_name type: keyword description: "" - name: effective_group_name type: keyword description: "" - name: real_uid type: integer # this is a uint32 right now description: "" - name: effective_uid type: integer # this is a uint32 right now description: "" - name: real_gid type: integer # this is a uint32 right now description: "" - name: effective_gid type: integer # this is a uint32 right now description: "" # DnsDataBuffer - name: query_name type: keyword description: "" - name: event_id type: integer # this is a uint32 right now description: "" - name: query_type type: integer # this is a uint32 right now description: "" - name: query_status type: integer # this is a uint32 right now description: "" - name: query_options type: long # this is a uint64 right now description: "" - name: query_results type: keyword description: ""