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

[Filebeat] Refactor Suricata pipeline to use Ingest Node more #22291

Merged
merged 4 commits into from
Nov 5, 2020

Conversation

andrewkroh
Copy link
Member

@andrewkroh andrewkroh commented Oct 30, 2020

What does this PR do?

Refactor the Suricata module pipeline to use Ingest Node more. I moved most processing from Beat processors to Ingest Node. I created a DNS and TLS pipeline to house all of the processing for those protocols respectively.

Other changes

  • Added DNS response IPs to related.ip.
  • Some DNS events were missing dns.header_flags.

Why is it important?

Hopefully by reducing processing in Filebeat this week increase the throughput of the Suricata module. Testing to follow.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

@botelastic botelastic bot added needs_team Indicates that the issue/PR needs a Team:* label and removed needs_team Indicates that the issue/PR needs a Team:* label labels Oct 30, 2020
@elasticmachine
Copy link
Collaborator

elasticmachine commented Oct 30, 2020

💚 Flaky test report

Tests succeeded.

Expand to view the summary

Test stats 🧪

Test Results
Failed 0
Passed 1948
Skipped 259
Total 2207

@elasticmachine
Copy link
Collaborator

elasticmachine commented Oct 30, 2020

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: [Pull request #22291 updated]

  • Start Time: 2020-11-05T18:02:13.182+0000

  • Duration: 48 min 47 sec

Test stats 🧪

Test Results
Failed 0
Passed 1948
Skipped 259
Total 2207

@andrewkroh andrewkroh force-pushed the feature/suricata-ingest-node branch 3 times, most recently from 53a9c67 to e75c87e Compare October 30, 2020 18:30
@andrewkroh andrewkroh marked this pull request as ready for review October 30, 2020 18:30
@elasticmachine
Copy link
Collaborator

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

Refactor the Suricata module pipeline to use Ingest Node more. I moved most
processing from Beat processors to Ingest Node. I created a DNS and TLS
pipeline to house all of the processing for those protocols respectively.

Other changes
- Added DNS response IPs to `related.ip`.
- Some DNS events were missing `dns.header_flags`.
@andrewkroh andrewkroh force-pushed the feature/suricata-ingest-node branch from e75c87e to abd075e Compare November 2, 2020 14:55
Copy link
Contributor

@leehinman leehinman left a comment

Choose a reason for hiding this comment

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

Nice.

I did notice that pipeline.yml is basically switching off the
ctx.suricata.eve.event_type value to set event.type and
network.protocol. What do you think about moving those to a
painless script with params? Like

@andrewkroh
Copy link
Member Author

@leehinman Will you please take another look at the changes I made to adopt the script idea.

@leehinman
Copy link
Contributor

@leehinman Will you please take another look at the changes I made to adopt the script idea.

Looks great. 👍

@andrewkroh andrewkroh added the needs_backport PR is waiting to be backported to other branches. label Nov 5, 2020
@andrewkroh andrewkroh merged commit 2fe9e2a into elastic:master Nov 5, 2020
andrewkroh added a commit to andrewkroh/beats that referenced this pull request Nov 5, 2020
…c#22291)

Refactor the Suricata module pipeline to use Ingest Node more. I moved most
processing from Beat processors to Ingest Node. I created a DNS and TLS
pipeline to house all of the processing for those protocols respectively.

Other changes
- Added DNS response IPs to `related.ip`.
- Some DNS events were missing `dns.header_flags`.


(cherry picked from commit 2fe9e2a)
@andrewkroh andrewkroh added v7.11.0 and removed needs_backport PR is waiting to be backported to other branches. labels Nov 5, 2020
andrewkroh added a commit that referenced this pull request Nov 6, 2020
#22453)

Refactor the Suricata module pipeline to use Ingest Node more. I moved most
processing from Beat processors to Ingest Node. I created a DNS and TLS
pipeline to house all of the processing for those protocols respectively.

Other changes
- Added DNS response IPs to `related.ip`.
- Some DNS events were missing `dns.header_flags`.


(cherry picked from commit 2fe9e2a)
andrewkroh added a commit to andrewkroh/beats that referenced this pull request Nov 30, 2020
…c#22291)

Refactor the Suricata module pipeline to use Ingest Node more. I moved most
processing from Beat processors to Ingest Node. I created a DNS and TLS
pipeline to house all of the processing for those protocols respectively.

Other changes
- Added DNS response IPs to `related.ip`.
- Some DNS events were missing `dns.header_flags`.

(cherry picked from commit 2fe9e2a)
andrewkroh added a commit that referenced this pull request Nov 30, 2020
#22583)

Refactor the Suricata module pipeline to use Ingest Node more. I moved most
processing from Beat processors to Ingest Node. I created a DNS and TLS
pipeline to house all of the processing for those protocols respectively.

Other changes
- Added DNS response IPs to `related.ip`.
- Some DNS events were missing `dns.header_flags`.

(cherry picked from commit 2fe9e2a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants