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

Move non-ECS fields in Network Packet Capture datastream fields out of root namespace #8185

Open
3 of 6 tasks
efd6 opened this issue Oct 13, 2023 · 6 comments
Open
3 of 6 tasks
Assignees
Labels
Integration:network_traffic Network Packet Capture Team:Security-Linux Platform Linux Platform Security team [elastic/sec-linux-platform]

Comments

@efd6
Copy link
Contributor

efd6 commented Oct 13, 2023

In #5918 it was noted that there is a field definition collision between the Cloud Security Posture integration and the MongoDB datastream in the Network Packet Capture (NPC) integration. This is because both integrations place non-ECS fields in the root namespace.

This appears to be, in the case of NPC, due to Packetbeat predating extensive use of ECS for field definitions.

To address this and the problem more generally, both integrations should move these non-ECS fields into datastream-specific groups. This meta-issue covers the NPC side of this set of changes.

Proposed Approach

Stage 0. (immediately)

Duplicate type into the network.protocol ECS field before all other work.

Notify @brokensound77 when this is done so that detection rules can be updated.

Stage 1. (for 8.12)

Non-ECS fields in Network Packet Capture integration (NPC) datastreams will be placed in their own field group (an example of this is seen in a PR here) and generalised packetbeat-related fields will be placed in relevant ECS fields where appropriate (there is no example of this available yet).

Remapping to be performed in a conditional pipeline that user can opt into in the package's configuration UI. Initially the default will leave mappings in the old state, i.e. to not run the remapping pipeline. Clear documentation detailing the impacts of the choice must be included, including how it will impact on detection rules and so on.

Configuration to be per-datastream to allow progressive application of the proposed changes.

Searches and dashboards to be updated to use both the existing field locations and the the new ECS locations to allow users to continue to query/explore data from prior to the changeover.

Equivalent changes to be applied to the Packetbeat ingest pipelines and kibana assets.

Stage 2 (for 8.13).

Mark old mappings as deprecated in the package documentation and in the configuration UI at the option to perform the remapping. This documentation to include instructions for users on how to make the change to ECS mappings, and a roadmap/timeline for the deprecation (this issue).

Provide a utility pipeline to convert the mappings of old — pre-change — documents to the new mapping via re-indexing for users who need to maintain historical data after the final deprecation and removal of the old mappings.

Stage 3 (stage 2. completion plus 6 months).

Change the default of the ECS-mapping pipeline config from off to on, making installations use the ECS mapping while leaving old installations in their existing state.

This stage will require coordination with Fleet (@nimarezainia) to ensure that UI notifications can be made to inform users of the change in behaviour before an upgrade is made.

Stage 4 (stage 3. completion plus 6 months).

Remove the original mappings and the option to choose which mapping to use. This change to be associated with a major version bump of the integration. Retain old search and dashboard behaviour until stage 5.

This stage will require coordination with Fleet (@nimarezainia) to ensure that UI notifications can be made to inform users of the change in behaviour before an upgrade is made.

BLOCKED: Requires elastic/kibana#187481

  • Completed

Stage 5. (optional: no sooner than stage 4. completion plus 6 months)

Remove old search and dashboard behaviour.

This stage may not happen, but if it is decided that it will, will be preceded with clear notification and likely a further major version bump, again via UI notification.

  • Completed/Dropped

/cc @siposea @andrewkroh @narph @epixa @nimarezainia @brokensound77

@elasticmachine
Copy link

Pinging @elastic/security-external-integrations (Team:Security-External Integrations)

@nimarezainia
Copy link
Contributor

@kpollich wanted to also bring this to your attention.

@narph narph added Team:Security-Linux Platform Linux Platform Security team [elastic/sec-linux-platform] and removed Team:Security-External Integrations labels Jan 29, 2024
@narph narph added Team:Security-Linux Platform Linux Platform Security team [elastic/sec-linux-platform] and removed Team:Security-Linux Platform Linux Platform Security team [elastic/sec-linux-platform] labels Mar 21, 2024
@elasticmachine
Copy link

Pinging @elastic/sec-linux-platform (Team:Security-Linux Platform)

@nimarezainia
Copy link
Contributor

This stage will require coordination with Fleet (@nimarezainia) to ensure that UI notifications can be made to inform users of the change in behaviour before an upgrade is made.

@efd6 these changes are highlighted in the change log correct? could you perhaps open an issue describing what the ask is here. I think the best approach is to have package owners explicitly mention this in the "Compatibility" of the readme for the package, so the information shows up in the integration App and is highlighted for the user to understand and make a decision on.

@efd6
Copy link
Contributor Author

efd6 commented Sep 3, 2024

@nimarezainia The details were to be worked out between fleet and the owners of the integration. We no longer own the integration, but since I wrote the plan, and I see that the step beyond deprecation has caught people unawares, I should raise it as an issue.

@andrewkroh
Copy link
Member

@kpollich has opened elastic/kibana#187481 which I think will meet the needs of informing users of the change in behavior when we get to the stage 4 (which will be no earlier than Feb 2025).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration:network_traffic Network Packet Capture Team:Security-Linux Platform Linux Platform Security team [elastic/sec-linux-platform]
Projects
None yet
Development

No branches or pull requests

6 participants