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

Update security service integrations packages mappings #12624

Merged
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
01ba124
Add missing ECS mappings - box_events
mrodm Feb 4, 2025
001e81e
Add missing ECS mappings - claroty_ctd
mrodm Feb 4, 2025
a72f5b4
Avoid using dynamic templates for flattened objects - crowdstrike
mrodm Feb 4, 2025
69d5f8a
Add missing ECS mappings - mimecast
mrodm Feb 5, 2025
ee10501
Fix sublime_security.email_message.headers.hops.fields group mappings…
mrodm Feb 5, 2025
612ce1f
Update event-groups ingest pipeline - teleport
mrodm Feb 5, 2025
1420345
Add missing ECS field in latest_code_scanning transform - github
mrodm Feb 5, 2025
ef021f2
Update destination index transform - github
mrodm Feb 5, 2025
d048cc2
Add missing ECS mappings - ti_anomali
mrodm Feb 5, 2025
0abc3c4
Add mapping for threat.indicator.url.original in transform - ti_custom
mrodm Feb 5, 2025
0bcb54c
Add missing field mappings in transforms - tychon
mrodm Feb 5, 2025
f74e314
Add missing field mappings in transforms - wiz
mrodm Feb 5, 2025
698dbe9
Add changelog entries
mrodm Feb 5, 2025
1469158
Update logstash owner in manifest
mrodm Feb 5, 2025
a9736cc
Remove non-working definition (commented) - sublime_security
mrodm Feb 6, 2025
2415ff2
Test with elastic-package enabling mappings - PR 2381 5b3f7cdba24685a…
mrodm Feb 7, 2025
75c3cec
Revert "Update logstash owner in manifest"
mrodm Feb 7, 2025
8d215d5
Merge upstream/main into update_security-service-integrations_package…
mrodm Feb 10, 2025
4d513db
Merge upstream/main into update_security-service-integrations_package…
mrodm Feb 11, 2025
6325c32
Update changelog descriptions
mrodm Feb 12, 2025
ca89067
Remove blank lines
mrodm Feb 12, 2025
2b18411
add date processors
efd6 Feb 12, 2025
18bc8ed
Update tests box_events
mrodm Feb 12, 2025
58077e4
Regenerate test data for ti_anomali
mrodm Feb 12, 2025
879aa33
Remove commented field definition in sublime_security
mrodm Feb 12, 2025
849a22e
Update README - ti_anomali
mrodm Feb 12, 2025
e1ec321
Update transform settings github
mrodm Feb 12, 2025
ae20579
Update transform settings ti_custom
mrodm Feb 12, 2025
3fa66aa
Update transform settings wiz
mrodm Feb 12, 2025
d18eaba
Update transform settings tychon
mrodm Feb 12, 2025
67bd2ba
Merge upstream/main into update_security-service-integrations_package…
mrodm Feb 12, 2025
7c3e7ed
Merge upstream/main into update_security-service-integrations_package…
mrodm Feb 14, 2025
3ed832d
Update description for headers.hops.fields.position field
mrodm Feb 14, 2025
118d694
Merge upstream/main into update_security-service-integrations_package…
mrodm Feb 19, 2025
695555e
Revert changes in wiz - moved to #12841
mrodm Feb 19, 2025
c5f2640
Revert changes in tychon - moved to #12841
mrodm Feb 19, 2025
689eb49
Revert changes in ti_custom - moved to #12841
mrodm Feb 19, 2025
c96630c
Revert changes in github - moved to #12841
mrodm Feb 19, 2025
994e144
Update set of packages to test
mrodm Feb 19, 2025
a21024c
Teleport - Ensure system tests wait to be ingestd all test docs/logs
mrodm Feb 19, 2025
9283cd3
Remove changes from teleport - moved to #12851
mrodm Feb 20, 2025
66de372
Remove teleport from subset of packages to test
mrodm Feb 20, 2025
c481836
Revert changes to test validation based on mappings
mrodm Feb 20, 2025
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
5 changes: 5 additions & 0 deletions packages/box_events/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "2.11.1"
changes:
- description: Add missing ECS mappings
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "2.11.0"
changes:
- description: Add "preserve_original_event" tag to documents with `event.kind` set to "pipeline_error".
Expand Down
7 changes: 7 additions & 0 deletions packages/box_events/data_stream/events/fields/ecs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This definition could be removed once Kibana constraint is updated
# to 8.15.2 or higher. "ecs@mappings" component template would define
# the correct dynamic template for it.
- external: ecs
name: threat.enrichments.indicator.first_seen
- external: ecs
name: threat.enrichments.indicator.last_seen
2 changes: 2 additions & 0 deletions packages/box_events/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,4 +270,6 @@ Preserves a raw copy of the original event, added to the field `event.original`.
| related.description | Array of `description` derived from `threat[.enrichments].indicator.description` | keyword |
| related.indicator_type | Array of `indicator_type` derived from `threat[.enrichments].indicator.type` | keyword |
| related.location | Array of `location` derived from `related.ip` | geo_point |
| threat.enrichments.indicator.first_seen | The date and time when intelligence source first reported sighting this indicator. | date |
| threat.enrichments.indicator.last_seen | The date and time when intelligence source last reported sighting this indicator. | date |

2 changes: 1 addition & 1 deletion packages/box_events/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: "3.0.3"
name: box_events
title: Box Events
version: "2.11.0"
version: "2.11.1"
description: "Collect logs from Box with Elastic Agent"
type: integration
categories:
Expand Down
5 changes: 5 additions & 0 deletions packages/claroty_ctd/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "0.4.1"
changes:
- description: Add missing ECS mappings
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "0.4.0"
changes:
- description: Add "preserve_original_event" tag to documents with `event.kind` manually set to "pipeline_error".
Expand Down
6 changes: 6 additions & 0 deletions packages/claroty_ctd/data_stream/event/fields/ecs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This definition could be removed once Kibana constraint is updated
# to 8.15.2 or higher. "ecs@mappings" component template would define
# the correct dynamic template for it.
- external: ecs
name: threat.indicator.modified_at

1 change: 1 addition & 0 deletions packages/claroty_ctd/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,7 @@ An example event for `event` looks as following:
| log.offset | Log offset. | long |
| log.source.address | Source address from which the log event read/sent. | keyword |
| tags | User defined tags. | keyword |
| threat.indicator.modified_at | The date and time when intelligence source last modified information for this indicator. | date |


### Assets
Expand Down
2 changes: 1 addition & 1 deletion packages/claroty_ctd/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: 3.1.4
name: claroty_ctd
title: Claroty CTD
version: 0.4.0
version: 0.4.1
description: Collect logs from Claroty CTD using Elastic Agent.
type: integration
categories:
Expand Down
5 changes: 5 additions & 0 deletions packages/crowdstrike/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "1.49.2"
changes:
- description: Avoid using dynamic template for flattened fields
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "1.49.1"
changes:
- description: Fix network direction handling for FDR data stream.
Expand Down
2 changes: 1 addition & 1 deletion packages/crowdstrike/data_stream/fdr/fields/fields.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
type: long
- name: AsepWrittenCount
type: long
- name: assessments.*
- name: assessments
type: flattened
- name: AssociatedFile
type: keyword
Expand Down
2 changes: 1 addition & 1 deletion packages/crowdstrike/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1662,7 +1662,7 @@ and/or `session_token`.
| crowdstrike.__mv_aip | | keyword |
| crowdstrike.__mv_discoverer_aid | | keyword |
| crowdstrike.aipCount | | integer |
| crowdstrike.assessments.\* | | flattened |
| crowdstrike.assessments | | flattened |
| crowdstrike.cid | | keyword |
| crowdstrike.discovererCount | | integer |
| crowdstrike.discoverer_aid | | keyword |
Expand Down
2 changes: 1 addition & 1 deletion packages/crowdstrike/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: crowdstrike
title: CrowdStrike
version: "1.49.1"
version: "1.49.2"
description: Collect logs from Crowdstrike with Elastic Agent.
type: integration
format_version: "3.0.3"
Expand Down
5 changes: 5 additions & 0 deletions packages/github/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "2.3.1"
changes:
- description: Add missing ECS field in latest_code_scanning transform
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "2.3.0"
changes:
- description: Do not remove `event.original` in main ingest pipeline.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@
name: rule.name
- external: ecs
name: tags
- external: ecs
name: message
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ source:
# that ability in order to prevent having duplicate data and prevent query
# time field type conflicts.
dest:
index: "logs-github_latest.dest_code_scanning-1"
index: "logs-github_latest.dest_code_scanning-2"
Copy link
Contributor Author

@mrodm mrodm Feb 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a new field definition is added to a transform, should this destination index be updated (increment suffix number)? Or keep that destination index without changes?

Same doubt for the other packages updating field definitions in transforms (tychon and wiz).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/cc @kcreddy

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We increment the index to avoid any conflicts due to mapping changes.
I also simulated an integration upgrade from keyword to match_only_text on same index. After the upgrade, the type remained to be keyword and didn't change to match_only_text.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, I guess this would mean that the destination index must be updated, am I right ? @kcreddy

In the other transforms (from other packages), there are changes related to field definitions with changes in mappings like:

  • keyword to ip
  • text to ip
  • text to keyword
  • text to match_only_text
  • keyword to wildcard
  • keyword to match_only_text

Should we update also the destination index there?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, I guess this would mean that the destination index must be updated, am I right ?

@mrodm, yes the destination index version has to be updated

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've bumped the version defined in the fleet_transform_version setting for all the transforms that I've modified here @kcreddy

aliases:
- alias: "logs-github_latest.code_scanning"
move_on_creation: true
Expand Down
2 changes: 1 addition & 1 deletion packages/github/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: github
title: GitHub
version: "2.3.0"
version: "2.3.1"
description: Collect logs from GitHub with Elastic Agent.
type: integration
format_version: "3.0.2"
Expand Down
3 changes: 1 addition & 2 deletions packages/logstash/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ conditions:
elastic:
subscription: basic
owner:
github: elastic/stack-monitoring
github: elastic/logstash
type: elastic
screenshots:
- src: /img/kibana-logstash-log.png
Expand Down Expand Up @@ -131,4 +131,3 @@ policy_templates:
multi: false
required: false
show_user: false

5 changes: 5 additions & 0 deletions packages/mimecast/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "2.4.4"
changes:
- description: Add missing ECS field mappings
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "2.4.3"
changes:
- description: Fix rendering of CEL programs in configuration.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This definition could be removed once Kibana constraint is updated
# to 8.15.2 or higher. "ecs@mappings" component template would define
# the correct dynamic template for it.
- external: ecs
name: threat.indicator.modified_at
- external: ecs
name: threat.indicator.first_seen

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This definition could be removed once Kibana constraint is updated
# to 8.15.2 or higher. "ecs@mappings" component template would define
# the correct dynamic template for it.
- external: ecs
name: threat.indicator.modified_at
- external: ecs
name: threat.indicator.first_seen
Comment on lines +4 to +7
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two fields are mapped as keywords but they should date.

[0] field "threat.indicator.first_seen" is undefined: actual mapping type (keyword) does not match with ECS definition type: date
[1] field "threat.indicator.modified_at" is undefined: actual mapping type (keyword) does not match with ECS definition type: date

Using external ecs definition to update their mappings.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fields are safe; obtained from date processor.


4 changes: 4 additions & 0 deletions packages/mimecast/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1018,6 +1018,8 @@ An example event for `threat_intel_malware_customer` looks as following:
| mimecast.type | The indicator type, can for example be "domain, email, FileHash-SHA256". | keyword |
| mimecast.valid_from | The valid from date. | date |
| mimecast.value | The value of the indicator. | keyword |
| threat.indicator.first_seen | The date and time when intelligence source first reported sighting this indicator. | date |
| threat.indicator.modified_at | The date and time when intelligence source last modified information for this indicator. | date |


### Threat Intel Feed Malware: Grid
Expand Down Expand Up @@ -1134,6 +1136,8 @@ An example event for `threat_intel_malware_grid` looks as following:
| mimecast.type | The indicator type, can for example be "domain, email, FileHash-SHA256". | keyword |
| mimecast.valid_from | The valid from date. | date |
| mimecast.value | The value of the indicator. | keyword |
| threat.indicator.first_seen | The date and time when intelligence source first reported sighting this indicator. | date |
| threat.indicator.modified_at | The date and time when intelligence source last modified information for this indicator. | date |


### TTP Attachment Logs
Expand Down
2 changes: 1 addition & 1 deletion packages/mimecast/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: "3.0.2"
name: mimecast
title: "Mimecast"
version: "2.4.3"
version: "2.4.4"
description: Collect logs from Mimecast with Elastic Agent.
type: integration
categories: ["security", "email_security"]
Expand Down
5 changes: 5 additions & 0 deletions packages/sublime_security/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "1.4.1"
changes:
- description: Fix sublime_security.email_message.headers.hops.fields group mappings
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "1.4.0"
changes:
- description: Add support for Access Point ARN when collecting logs via the AWS S3 Bucket.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -641,9 +641,22 @@
- name: type
type: keyword
description: The type of authentication result, derived from the field name.
# https://github.com/elastic/kibana/pull/204104
# Option 1: generate all keys as keywords under fields
# - name: fields
# type: object
# object_type: keyword
# object_type_mapping_type: "*"
# Option 2: keep position as long
- name: fields
type: object
object_type: keyword
type: group
fields:
- name: "*"
type: object
object_type: keyword
- name: position
# description: ?
type: long
- name: index
type: long
description: Index indicates the order in which a hop occurred from sender to recipient.
Expand Down
3 changes: 2 additions & 1 deletion packages/sublime_security/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1222,7 +1222,8 @@ An example event for `email_message` looks as following:
| sublime_security.email_message.headers.hops.authentication_results.spf_details.server.valid | Whether the domain is valid. | boolean |
| sublime_security.email_message.headers.hops.authentication_results.spf_details.verdict | Verdict of the SPF. | keyword |
| sublime_security.email_message.headers.hops.authentication_results.type | The type of authentication result, derived from the field name. | keyword |
| sublime_security.email_message.headers.hops.fields | | object |
| sublime_security.email_message.headers.hops.fields.\* | | object |
| sublime_security.email_message.headers.hops.fields.position | | long |
| sublime_security.email_message.headers.hops.index | Index indicates the order in which a hop occurred from sender to recipient. | long |
| sublime_security.email_message.headers.hops.received.additional.raw | The raw string for remaining additional clauses, such as transport information. | keyword |
| sublime_security.email_message.headers.hops.received.id.raw | The raw string of 'id' section. | keyword |
Expand Down
2 changes: 1 addition & 1 deletion packages/sublime_security/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: 3.2.1
name: sublime_security
title: Sublime Security
version: 1.4.0
version: 1.4.1
description: Collect logs from Sublime Security with Elastic Agent.
type: integration
categories:
Expand Down
Copy link
Contributor Author

@mrodm mrodm Feb 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Not sure what would be best here.

The problem is that this Ingest pipeline fails in some steps, but this was not detected since the trigger in the default pipeline was ignoring the failures:

# Process most of the field groups.
- pipeline:
name: '{{ IngestPipeline "event-groups" }}'
ignore_failure: true

These errors can be checked if ignore_failure is set to false as:

   # Process most of the field groups.
   - pipeline:
       name: '{{ IngestPipeline "event-groups" }}'
       ignore_failure: false

Those failures cause that some fields are not removed or renamed, and therefore the mappings created in the data stream are not the expected ones. These are the errors found while testing with the sample logs in the package:

[0] field "teleport.audit.account_id" is undefined: field definition not found
[1] field "teleport.audit.aws_host" is undefined: field definition not found
[2] field "teleport.audit.aws_region" is undefined: field definition not found
[3] field "teleport.audit.aws_service" is undefined: field definition not found
[4] field "teleport.audit.exit_code" is undefined: field definition not found
[5] field "teleport.audit.instance_id" is undefined: field definition not found
[6] field "teleport.audit.region" is undefined: field definition not found
[7] field "teleport.audit.status" is undefined: field definition not found
[8] field "teleport.audit.target" is undefined: field definition not found

Could you check if there are other better options in the pipeline to solve these errors? In the case of the rename processor, if the name already exists, it throws an error. Here, I just set override as true to avoid that error, but I miss the context to know what it is the best approach.

This could happen in other steps for other fields too (depending on the documents ingested). Just some examples (there could be more):

  • teleport.audit.mfa_device.uuid is tried to be updated with rename processor several times in that pipeline.
    • If it is set in the first processor (line 10), the other steps would fail since the field already exists, and the pipeline would fail and all the following step would not be run.
  • teleport.audit.kubernetes.labels
  • teleport.audit.database.query_parameters

Maybe there are other cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As tested in this PR #12801
Failures in this package are independent of the validation used.

In that PR, it is ensured that the system tests wait for all the test documents (270 in total) before running the validation, and it fails too.

Original file line number Diff line number Diff line change
Expand Up @@ -872,14 +872,20 @@ processors:
field: teleport.audit.aws_region
target_field: cloud.region
ignore_missing: true
# This was failing due to `cloud.region` already existed
override: true # Should it be added an if condition? Should it be added a remove processor?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect this is the correct approach. It looks to me like we want the teleport data rather than the agent data.

/cc @andrewkroh

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested to wait for all 270 documents defined in the test folder, and it also fails with the current validation used in elastic-package (no mapping checks involved).

#12801

Locally, this does not fail for me, I guess it is related to VM agents created/used in CI.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect this is the correct approach. It looks to me like we want the teleport data rather than the agent data.

The concern with the changes that I set in this PR is that for instance cloud.instance.id could be overwritten 3 times (depending on the values).

As this is also can be reproduced with the current validation performed by elastic-package, should it be created a separated issue for it so you can take a look at it? In this PR, it is shown how to reproduce it in the CI #12801

The problem is that the errors in this package could be blocking the next release elastic-package version (when merging it into the integrations repo).

cc @efd6 @jsoriano

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were related semantic concerns in #10277 where the issue is that the user wanted cloud provider identities being stored in these fields rather than the elastic agent identity.

Summary of behaviour:

  • cloud.region: explicitly from teleport.audit.aws_region, teleport.audit.db_aws_region or teleport.audit.region
  • cloud.service.name: explicitly from teleport.audit.aws_service
  • cloud.instance.id: explicitly from teleport.audit.aws_host, teleport.audit.db_gcp_instance_id or teleport.audit.instance_id
  • cloud.account.id: explicitly from teleport.audit.account_id

The filebeat add_cloud_metadata is always run, and it implicitly adds cloud.{account.id,availability_zone,instance.id,machine.type,image.id,provider,region,service.name} explaining why cloud.service.name and cloud.account.id which only have single explicit sets still have this error path behaviour.

If we enabled an approach like the solution that was implemented for the qualys case (user can specify what they are interested in), or a hard "use the data from the data source" approach, then those two fields cease to be an issue. The remaining fields, cloud.region and cloud.instance.id look like they would then just fall out (depending on how teleport handles the teleport.audit.{region,instance_id} cases (are they disjoint with the explicitly named fields, teleport.audit.{aws,db_aws} and teleport.audit.{aws_host,db_gcp_instance_id} respectively. Unfortunately the test cases don't give any indication about this and I cannot find any reference for it in the teleport documentation; my feeling is that the more generic case should be overridden by the more specific case, but if an override occurs, then an error should be written in and the pipeline be continued. In the case that the we see apparently inconsistent fields being set (e.g. teleport.audit.aws_host, teleport.audit.db_gcp_instance_id) this would just be an error. I'm not sure what the behaviour of teleport.audit.aws_region v. teleport.audit.db_aws_region should be; are these mutually exclusive?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One option here to move forward could be creating an issue with the information we have now, and skip this teleport system test linking to that issue.

If the test is skipped, I'll remove the changes done to the event-groups ingest pipeline in this PR.

WDYT ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added the assert configuration to ensure that elastic-package would wait for that number of docs ingested into the data stream (a21024c)

assert:
  hit_count: 270

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@efd6 As I'm not totally confident about the changes for this ingest pipeline, I'll create a new PR just for the teleport changes, so it can be checked independently.

To not block merging the changes of the other packages.

- rename:
field: teleport.audit.aws_service
target_field: cloud.service.name
ignore_missing: true
# This was failing due to `cloud.service.name` already existed
override: true # Should it be added an if condition? Should it be added a remove processor?
- rename:
field: teleport.audit.aws_host
target_field: cloud.instance.id
ignore_missing: true
# This was failing due to `cloud.instance.id` already existed
override: true # Should it be added an if condition? Should it be added a remove processor?
- rename:
field: teleport.audit.aws_assumed_role
target_field: teleport.audit.app.aws.assumed_role
Expand Down Expand Up @@ -968,6 +974,8 @@ processors:
field: teleport.audit.db_gcp_instance_id
target_field: cloud.instance.id
ignore_missing: true
# This was failing due to `cloud.instance.id` already existed
override: true # Should it be added an if condition? Should it be added a remove processor?
- rename:
field: teleport.audit.db_roles
target_field: teleport.audit.database.roles
Expand Down Expand Up @@ -1407,6 +1415,8 @@ processors:
field: teleport.audit.instance_id
target_field: cloud.instance.id
ignore_missing: true
# This was failing due to `cloud.instance.id` already existed
override: true # Should it be added an if condition? Should it be added a remove processor?
- rename:
field: teleport.audit.exit_code
target_field: process.exit_code
Expand All @@ -1426,11 +1436,17 @@ processors:
field: teleport.audit.account_id
target_field: cloud.account.id
ignore_missing: true
# This was failing due to `cloud.account.id` already existed
override: true # Should it be added an if condition? Should it be added a remove processor?
- rename:
field: teleport.audit.region
target_field: cloud.region
ignore_missing: true
ignore_failure: true
ignore_failure: true # it could already exist this field
# in case it fails previous rename processor, remove the field (not defined in the package)
- remove:
field: teleport.audit.region
ignore_missing: true
- rename:
field: teleport.audit.stdout
target_field: teleport.audit.database.aws.ssm_run.stdout
Expand Down
5 changes: 5 additions & 0 deletions packages/ti_anomali/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "1.25.1"
changes:
- description: Add missing ECS field in intelligence datastream
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "1.25.0"
changes:
- description: Do not remove `event.original` in main ingest pipeline.
Expand Down
6 changes: 6 additions & 0 deletions packages/ti_anomali/data_stream/intelligence/fields/ecs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This definition could be removed once Kibana constraint is updated
# to 8.15.2 or higher. "ecs@mappings" component template would define
# the correct dynamic template for it.
- external: ecs
name: threat.indicator.modified_at

1 change: 1 addition & 0 deletions packages/ti_anomali/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ An example event for `intelligence` looks as following:
| labels.is_ioc_transform_source | Indicates whether an IOC is in the raw source data stream, or the in latest destination index. | constant_keyword |
| threat.feed.dashboard_id | Dashboard ID used for Kibana CTI UI | constant_keyword |
| threat.feed.name | Display friendly feed name | constant_keyword |
| threat.indicator.modified_at | The date and time when intelligence source last modified information for this indicator. | date |


### Anomali ThreatStream via the Elastic Extension
Expand Down
2 changes: 1 addition & 1 deletion packages/ti_anomali/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: ti_anomali
title: Anomali
version: "1.25.0"
version: "1.25.1"
description: Ingest threat intelligence indicators from Anomali with Elastic Agent.
type: integration
format_version: 3.0.2
Expand Down
5 changes: 5 additions & 0 deletions packages/ti_custom/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "0.7.1"
changes:
- description: Add mapping for threat.indicator.url.original in transform
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "0.7.0"
changes:
- description: Add mapping for log file fingerprint.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@
type: keyword
- name: threat.indicator.url.full
type: keyword
- name: threat.indicator.url.original
type: wildcard
# Below fields to be moved into base-fields.yml after kibana.version changed to >= 8.14
# Related to fix: https://github.com/elastic/kibana/pull/177608
- name: event.module
Expand Down
2 changes: 1 addition & 1 deletion packages/ti_custom/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: ti_custom
title: Custom Threat Intelligence
description: Ingest threat intelligence data in STIX 2.1 format with Elastic Agent
type: integration
version: 0.7.0
version: 0.7.1
categories:
- custom
- security
Expand Down
5 changes: 5 additions & 0 deletions packages/tychon/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
- version: "0.2.2"
changes:
- description: Add missing field mappings in transforms
type: bugfix
link: http://github.com/elastic/integrations/pull/12624
- version: "0.2.1"
changes:
- description: Fix broken links in Security Service integrations packages.
Expand Down
2 changes: 2 additions & 0 deletions packages/tychon/elasticsearch/transform/arp/fields/ecs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,5 @@
name: network.type
- external: ecs
name: tags
- external: ecs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to get @chrisberkhout to think about this when he is back.

name: related.ip # should it be kept as keyword instead of IP ? Would that be a breaking change?
Loading