Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream ECS merge of v1.9.0 #2

Closed
wants to merge 91 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
16514a1
bumping version for 1.x release branch (#921)
ebeahan Aug 13, 2020
5d134c9
[1.x] add related.hosts (#913) (#924)
ebeahan Aug 13, 2020
64ea560
[1.x][DOCS] Fixes SIEM links (#936)
Aug 18, 2020
ab227b3
[1.x] Consolidate field-details doc template (#897) (#946)
ebeahan Aug 20, 2020
e106899
Add http.[request|response].mime_type (#944) (#949)
Aug 24, 2020
4b6742b
[1.x] Cut 1.6 Changelog (#933) (#952) (#953)
ebeahan Aug 25, 2020
357ce24
[1.x] Add threat.technique.subtechnique (#951) (#956)
ebeahan Aug 31, 2020
9c4fc4c
[1.x] Nest as for foreign reuse (#960) (#962)
ebeahan Sep 4, 2020
3eb6d99
[1.x] Remove `expected_event_types` from protocol (#964) (#965)
ebeahan Sep 8, 2020
d5820b9
[1.x] Expand definitions of source and destination field sets (#967) …
ebeahan Sep 23, 2020
e6ba4c4
[1.x] Introduce `--strict` flag (#937) (#975)
ebeahan Sep 23, 2020
214a01c
[1.x] Add example value composite type checking (#966) (#976)
ebeahan Sep 23, 2020
7633cb0
[1.x] Add event category configuration (#963) (#977)
ebeahan Sep 23, 2020
5b353fe
[1.x] Add normalizer multi-field capability (#971) (#978)
ebeahan Sep 24, 2020
c5ccecc
[1.x] Add mapping network event guidance doc (#969) (#983)
ebeahan Sep 29, 2020
7897203
[1.x] Removing unneeded link under `Additional Information` (#984) (#…
ebeahan Sep 29, 2020
23abff6
[1.x] Add discrete attribute to field details page headers (#989) (#990)
ebeahan Sep 30, 2020
e086abb
[1.x] Uniformity across domain name breakdown fields (#981) (#994)
ebeahan Oct 2, 2020
b9b1ba5
Add --oss flag to the ECS generator script (#991) (#995)
Oct 2, 2020
d847184
Add network directions ingress and egress (#945) (#997)
Oct 2, 2020
4a49618
Mention ECS Mapper in the main documentation (#987) (#1000)
Oct 5, 2020
20ae5e0
[1.x] Introduce experimental artifacts (#993) (#1001)
ebeahan Oct 5, 2020
947f410
Bump version to 1.8.0-dev in branch 1.x (#1011)
Oct 6, 2020
1dc6240
Cut 1.7 changelog (#1010) (#1012)
Oct 6, 2020
501d404
[1.x] Clarify that file extension should exclude the dot. (#1016) (#1…
Oct 8, 2020
14141ec
[1.x] Add usage docs section (#988) (#1024)
ebeahan Oct 8, 2020
35764fa
[1.x] feat: include alias path when generating template (#877) (#1035)
ebeahan Oct 16, 2020
a173cda
[1.x] Add support for `scaling_factor` in the generator (#1042) (#1055)
ebeahan Oct 28, 2020
5afd0a5
[1.x] Add fallback for constant_keyword (#1046) (#1056)
ebeahan Oct 28, 2020
7ef838b
[1.x] Add wildcard type support to go code generator (#1050) (#1057)
ebeahan Oct 28, 2020
a28ee14
[1.x] New default make task that generates main and experimental arti…
Oct 29, 2020
52de713
[1.x] Change the index pattern in the sample template. (#1048) (#1068)
Nov 2, 2020
1703ac8
[1.x] Prepare link to Logs docs changing with the 7.10 release in "ge…
Nov 4, 2020
7bad0b0
[1.x] Prepare link to Logs docs changing with the 7.10 release in "pr…
Nov 4, 2020
b4bbe72
[1.x] Add event.category session. (#1049) (#1093)
ebeahan Nov 4, 2020
46210a5
[1.x] Add event.category registry (#1040) (#1094)
ebeahan Nov 4, 2020
1c457b5
[1.x] Add --ref support for experimental artifacts (#1063) (#1101)
ebeahan Nov 10, 2020
ec51a8d
[1.x] Remove experimental event.original definition (#1053) (#1104)
ebeahan Nov 10, 2020
b91b60b
[1.x] Add missing `process.thread.name` to experimental definitions (…
ebeahan Nov 10, 2020
08b63c3
[1.x] Remove index parameter for wildcard fields (#1115) (#1119)
ebeahan Nov 12, 2020
16df1c6
[1.x] Add dns.answer object into experimental schema (#1118) (#1121)
ebeahan Nov 12, 2020
1a83782
[1.x] Clarify x509 definition guidance for network events with only o…
Nov 12, 2020
28a3a69
[1.x] Indicate when artifacts include experimental changes (#1117) (#…
Nov 12, 2020
27fe7e0
[1.x] Add os.type field, with list of allowed values (#1111) (#1130)
Nov 18, 2020
dce6348
[1.x] Add support for constant_keyword's 'value' parameter (#1112) (#…
Nov 18, 2020
35a9cca
[1.x] Beta label support (#1051) (#1133)
ebeahan Nov 18, 2020
2026cd9
[1.x] Backport #1134 and #1135 (#1136)
Nov 19, 2020
12e8827
Two small documentation backports (#1149)
Nov 25, 2020
cf28a27
[1.x] Reinforce the exclusion of the leading dot from url.extension (…
Nov 25, 2020
b7f63a7
[1.x] Make all fields linkable directly via an HTML ID (#1148) (#1154)
Nov 26, 2020
e27a948
[1.x] Tracing fields should be at the root (#1165)
Dec 2, 2020
14c84c0
[1.x] Usage of brackets for a URL containing IPv6 address (#1131) (#1…
ebeahan Dec 3, 2020
ae5568c
[1.x] 6.x index template data type fallback (#1171) (#1172)
ebeahan Dec 7, 2020
48e1ddc
[1.x] Apply RFC 0007 stage 3 changes - multi-user (#1066) (#1175)
Dec 7, 2020
3a22a08
[1.x] Handle `error.stack_trace` case for ES 6.x template (#1176) (#1…
ebeahan Dec 8, 2020
ec42319
[1.x] Add composable index templates artifacts (#1156) (#1179)
Dec 9, 2020
5995da9
[1.x] Move _meta section back inside mappings, in legacy templates. (…
Dec 10, 2020
e288c02
[1.x] Apply the RFC 0005 stage 2 (host metrics) changes in the experi…
ebeahan Dec 10, 2020
0e94d2d
[1.x] Stage 3 changes for wildcard RFC 0001 (#1098) (#1183)
ebeahan Dec 10, 2020
7857351
[1.x] Conditional handling in es_template.template_settings (#1191) (…
ebeahan Dec 14, 2020
e2fef1b
[1.x] Artifacts docs page (#1189) (#1195)
ebeahan Dec 15, 2020
82adfee
[1.x] Remove beta warning label from categorization fields docs (#106…
ebeahan Dec 15, 2020
2ae684e
[1.x] Correct wording of `event.reference` description (#1181) (#1197)
ebeahan Dec 15, 2020
cd6778c
Bump version to 1.9.0-dev in branch 1.x (#1198)
ebeahan Dec 15, 2020
ddf2568
[1.x] Cut 1.8 FF changelog.next.md #1199 (#1201)
ebeahan Dec 16, 2020
d1e08be
Merge custom and core multi_fields arrays (#982) (#1213)
Jan 6, 2021
4ab85fa
[1.x] Stage 2 changes for RFC 0009 - data_stream fields (#1215) (#1222)
ebeahan Jan 13, 2021
2b240f1
[1.x] add http.request.id (#1208) (#1223)
ebeahan Jan 14, 2021
36ebb01
[1.x] add cloud.service.name (#1204) (#1224)
ebeahan Jan 14, 2021
a487613
[1.x] Add ssdeep hash (#1169) (#1227)
ebeahan Jan 15, 2021
bc1f9af
[CI] Switch to GitHub actions (#1236) (#1245)
ebeahan Jan 29, 2021
30e4a10
Revert wildcard adoption back to experimental stage (#1235) (#1243)
ebeahan Jan 29, 2021
324c0bc
Add scaled_float type to go generator (#1250) (#1251)
ebeahan Feb 2, 2021
c8aea73
Add categorization fields usage docs (#1242) (#1257)
ebeahan Feb 10, 2021
90db312
add time_zone, postal_code, and continent_code (#1229) (#1258)
ebeahan Feb 10, 2021
9006c8d
Specify MAC address format (#456) (#1260)
ebeahan Feb 11, 2021
86bc271
finalize 1.8.0 changelog (#1262) (#1265)
ebeahan Feb 16, 2021
b1aca41
Add additional host fields (#1248) (#1267)
ebeahan Feb 16, 2021
9f97ffb
Stage 1 changes for RFC 0014 - extend pe fields (#1256) (#1270)
ebeahan Feb 17, 2021
16a60ec
Add 2 fields to code_signature (#1269) (#1272)
ebeahan Feb 18, 2021
cc9ad49
Stage 3 changes for RFC 0007 - remove beta attribute (#1271) (#1273)
ebeahan Feb 18, 2021
40ee8d0
Stage 1 experimental changes for RFC 0008 - threat.indicator fields (…
ebeahan Feb 18, 2021
bdf980c
Stage 1 changes for RFC 0015 - add elf fieldset (#1261) (#1275)
ebeahan Feb 18, 2021
31bbdd6
Cut 1.9 FF CHANGELOG.next.md (#1277)
ebeahan Feb 18, 2021
5df9b6b
lock go version in actions (#1283) (#1290)
ebeahan Mar 4, 2021
d8bcd18
Bump jinja2 from 2.11.2 to 2.11.3 in /scripts (#1310) (#1320)
kgeller Mar 26, 2021
9a677e1
Bump pyyaml from 5.3b1 to 5.4 in /scripts (#1318) (#1325)
ebeahan Mar 26, 2021
56f6e31
Adjust terminology - change whitelist to allowlist (#1315) (#1331)
ebeahan Mar 29, 2021
5bbed42
Remove -dev label from 1.9 version (#1329)
ebeahan Mar 30, 2021
6ed7e13
Cut 1.9 changelog (#1328)
ebeahan Mar 30, 2021
4237eeb
Merge remote-tracking branch 'upstream/1.9' into ecs_merge__v1.9.0
May 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Tests

on: [push, pull_request]

jobs:
tests:
runs-on: ubuntu-20.04
name: Unit Tests
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: '1.15.x'
- uses: actions/setup-python@v2
with:
python-version: '3.x'
- run: git fetch --prune --unshallow --tags
- run: make setup
- run: make check
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ build
.idea
*.iml
.vscode/*

# experimental exclusions
experimental/generated/elasticsearch/6
experimental/generated/docs
29 changes: 0 additions & 29 deletions .travis.yml

This file was deleted.

234 changes: 234 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,240 @@
# CHANGELOG
All notable changes to this project will be documented in this file based on the [Keep a Changelog](http://keepachangelog.com/) Standard. This project adheres to [Semantic Versioning](http://semver.org/).

## [1.9.0](https://github.com/elastic/ecs/compare/v1.8.0...v1.9.0)

### Schema Changes

#### Added

* Added `hash.ssdeep`. #1169
* Added `cloud.service.name`. #1204
* Added `http.request.id`. #1208
* `data_stream.*` fieldset introduced in experimental schema and artifacts. #1215
* Added `geo.timezone`, `geo.postal_code`, and `geo.continent_code`. #1229
* Added `beta` host metrics fields. #1248
* Added `code_signature.team_id`, `code_signature.signing_id`. #1249
* Extended `pe` fields added to experimental schema. #1256
* Add `elf` fieldset to experimental schema. #1261
* Add `threat.indicator` fields to experimental schema. #1268

#### Improvements

* Include formatting guidance and examples for MAC address fields. #456
* New section in ECS detailing event categorization fields usage. #1242
* `user.changes.*`, `user.effective.*`, and `user.target.*` field reuses are GA. #1271

### Tooling and Artifact Changes

#### Improvements

* Update Python dependencies #1310, #1318
* Adjustments to use terminology that doesn't have negative connotation. #1315


## [1.8.0](https://github.com/elastic/ecs/compare/v1.7.0...v1.8.0)

### Schema Changes

#### Bugfixes

* Clean up `event.reference` description. #1181
* Go code generator fails if `scaled_float` type is used. #1250

#### Added

* Added `event.category` "registry". #1040
* Added `event.category` "session". #1049
* Added usage documentation for `user` fields. #1066
* Added `user` fields at `user.effective.*`, `user.target.*` and `user.changes.*`. #1066
* Added `os.type`. #1111

#### Improvements

* Event categorization fields GA. #1067
* Note `[` and `]` bracket characters may enclose a literal IPv6 address when populating `url.domain`. #1131
* Reinforce the exclusion of the leading dot from `url.extension`. #1151

#### Deprecated

* Deprecated `host.user.*` fields for removal at the next major. #1066

### Tooling and Artifact Changes

#### Bugfixes

* `tracing` fields should be at root of Beats `fields.ecs.yml` artifacts. #1164

#### Added

* Added the `path` key when type is `alias`, to support the [alias field type](https://www.elastic.co/guide/en/elasticsearch/reference/current/alias.html). #877
* Added support for `scaled_float`'s mandatory parameter `scaling_factor`. #1042
* Added ability for --oss flag to fall back `constant_keyword` to `keyword`. #1046
* Added support in the generated Go source go for `wildcard`, `version`, and `constant_keyword` data types. #1050
* Added support for marking fields, field sets, or field reuse as beta in the documentation. #1051
* Added support for `constant_keyword`'s optional parameter `value`. #1112
* Added component templates for ECS field sets. #1156, #1186, #1191
* Added functionality for merging custom and core multi-fields. #982

#### Improvements

* Make all fields linkable directly. #1148
* Added a notice highlighting that the `tracing` fields are not nested under the
namespace `tracing.` #1162
* ES 6.x template data types will fallback to supported types. #1171, #1176, #1186
* Add a documentation page discussing the experimental artifacts. #1189

## [1.7.0](https://github.com/elastic/ecs/compare/v1.6.0...v1.7.0)

### Schema Changes

#### Bugfixes

* The `protocol` allowed value under `event.type` should not have the `expected_event_types` defined. #964
* Clarify the definition of `file.extension` (no dots). #1016

#### Added

* Added Mime Type fields to HTTP request and response. #944
* Added network directions ingress and egress. #945
* Added `threat.technique.subtechnique` to capture MITRE ATT&CK® subtechniques. #951
* Added `configuration` as an allowed `event.category`. #963
* Added a new directory with experimental artifacts, which includes all changes
from RFCs that have reached stage 2. #993, #1053, #1115, #1117, #1118

#### Improvements

* Expanded field set definitions for `source.*` and `destination.*`. #967
* Provided better guidance for mapping network events. #969
* Added the field `.subdomain` under `client`, `destination`, `server`, `source`
and `url`, to match its presence at `dns.question.subdomain`. #981
* Clarified ambiguity in guidance on how to use x509 fields for connections with
only one certificate. #1114

### Tooling and Artifact Changes

#### Breaking changes

* Changed the index pattern of the sample Elasticsearch template from `ecs-*` to
`try-ecs-*` to avoid conflicting with Logstash' `ecs-logstash-*`. #1048

#### Bugfixes

* Addressed issue where foreign reuses weren't using the user-supplied `as` value for their destination. #960
* Experimental artifacts failed to install due to `event.original` index setting. #1053

#### Added

* Introduced `--strict` flag to perform stricter schema validation when running the generator script. #937
* Added check under `--strict` that ensures composite types in example fields are quoted. #966
* Added `ignore_above` and `normalizer` support for keyword multi-fields. #971
* Added ability to supply free-form usage documentation per fieldset. #988
* Added `--oss` flag for users who want to generate ECS templates for use on OSS clusters. #991

#### Improvements

* Field details Jinja2 template components have been consolidated into one template #897
* Add `[discrete]` marker before each section header in field details. #989
* `--ref` now loads `experimental/schemas` based on git ref in addition to `schemas`. #1063


## [1.6.0](https://github.com/elastic/ecs/compare/v1.5.0...v1.6.0)

### Schema Changes

#### Bugfixes

* Field `registry.data.strings` should have been marked as an array field. #790

#### Added

* Added `x509.*` field set. #762
* Add architecture and imphash for PE field set. #763
* Added `agent.build.*` for extended agent version information. #764
* Added `log.file.path` to capture the log file an event came from. #802
* Added more account and project cloud metadata. #816
* Added missing field reuse of `pe` at `process.parent.pe` #868
* Added `span.id` to the tracing fieldset, for additional log correlation #882
* Added `event.reason` for the reason why an event's outcome or action was taken. #907
* Added `user.roles` to capture a list of role names that apply to the user. #917

#### Improvements

* Removed misleading pluralization in the description of `user.id`, it should
contain one ID, not many. #801
* Clarified misleading wording about multiple IPs in src/dst or cli/srv. #804
* Improved verbiage about the MITRE ATT&CK® framework. #866
* Removed the default `object_type=keyword` that was being applied to `object` fields.
This attribute is Beats-specific. It's still supported, but needs to be set explicitly
on a case by case basis now. This default being removed affects `dns.answers`,
`log.syslog`, `network.inner`, `observer.egress`, and `observer.ingress`. #871
* Improved attribute `dashed_name` in `generated/ecs/*.yml` to also
replace `@` with `-`. #871
* Updated several URLs in the documentation with "example.com" domain. #910

#### Deprecated

* Deprecate guidance to lowercase `http.request.method` #840


### Tooling and Artifact Changes

#### Breaking changes

* Removed field definitions at the root of documents for fieldsets that
had `reusable.top_level:false`. This PR affects `ecs_flat.yml`, the csv file
and the sample Elasticsearch templates. #495, #813
* Removed the `order` attribute from the `ecs_nested.yml` and `ecs_flat.yml` files. #811
* In `ecs_nested.yml`, the array of strings that used to be in `reusable.expected`
has been replaced by an array of objects with 3 keys: 'as', 'at' and 'full'. #864
* The subset format now requires `name` and `fields` keys at the top level. #873

#### Bugfixes

* Subsets are created after duplicating reusable fields now so subsets can
be applied to each reused instance independently. #753
* Quoted the example for `labels` to avoid YAML interpreting it, and having
slightly different results in different situations. #782
* Fix incorrect listing of where field sets are nested in asciidoc,
when they are nested deep. #784
* Allow beats output to be generated when using `--include` or `--subset` flags. #814
* Field parameter `index` is now correctly populated in the Beats field definition file. #824

#### Improvements

* Add support for reusing official fieldsets in custom schemas. #751
* Add full path names to reused fieldsets in `nestings` array in `ecs_nested.yml`. #803
* Allow shorthand notation for including all subfields in subsets. #805
* Add support for Elasticsearch `enabled` field parameter. #824
* Add `ref` option to generator allowing schemas to be built for a specific ECS version. #851
* Add `template-settings` and `mapping-settings` options to allow override of defaults in generated ES templates. #856
* When overriding ECS field sets via the `--include` flag, it's no longer necessary
to duplicate the field set's mandatory attributes. The customizations are merged
before validation. #864
* Add ability to nest field sets as another name. #864
* Add ability to nest field sets within themselves (e.g. `process` => `process.parent`). #864
* New attribute `reused_here` is added in `ecs_nested.yml`. It obsoletes the
previous attribute `nestings`, and is able to fully capture details of other
field sets reused under this one. #864
* When chained reuses are needed (e.g. `group` => `user`, then `user` => many places),
it's now necessary to force the order with new attribute `reusable.order`. This
attribute is otherwise optional. It's currently only needed for `group`. #864
* There's a new representation of ECS at `generated/ecs/ecs.yml`, which is a deeply nested
representation of the fields. This file is not in git, as it's only meant for
developers working on the ECS tools. #864
* Jinja2 templates now define the doc structure for the AsciiDoc generator. #865
* Intermediate `ecs_flat.yml` and `ecs_nested.yml` files are now generated for each individual subset,
in addition to the intermediate files generated for the combined subset. #873

#### Deprecated

* In `ecs_nested.yml`, we're deprecating the attribute `nestings`. It will be
removed in a future release. The deprecated `nestings` attribute was an array of
flat field names describing where fields are nested within the field set.
This is replaced with the attribute `reused_here`, which is an array of objects.
The new format still lists where the fields are nested via the same flat field name,
but also specifies additional information about each field reuse. #864


## [1.5.0](https://github.com/elastic/ecs/compare/v1.4.0...v1.5.0)

Expand Down
Loading