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

provide alternate configuration for Arkime capture to listen on the interface directly rather than post-processing PCAPs #281

Closed
mmguero opened this issue Nov 1, 2023 · 1 comment
Assignees
Labels
capture Relating to pcap-capture container cloud Relating to deployment of Malcolm in the cloud and/or with Kubernetes enhancement New feature or request
Milestone

Comments

@mmguero
Copy link
Collaborator

mmguero commented Nov 1, 2023

When Malcolm captures live traffic by monitoring local network interfaces the Zeek and Suricata containers capture directly from the interface, but Arkime doesn't: instead, the pcap-capture container uses netsniff-ng or tcpdump to create a PCAP file which is then periodically rolled over and processed by capture in the arkime container.

The reason it's done that way is due to the requirement that network_mode: host is set for the ability to capture on an interface: with Zeek and Suricata we are just writing log files into directories that are then watched and picked up by other containers without direct signalling between them. However, Arkime can't do that because it needs to communicate with the opensearch container to write the metadata directly. That container is not network_mode: host, so it can't communicate with it. In other words, there's not a way for a container to be both network_mode: host and communicate with the internal OpenSearch container (at least not that I'm aware of).

However, we now have a few different configurations that might not be constrained like that:

I'd like to look at creating a container that allows arkime capture to be run live and would write directly to the URL specified by the OPENSEARCH_PRIMARY environment variable. I'm thinking it would be very similar to how we have a suricata and suricata-live, zeek and zeek-live container: we have an arkime container that does the Viewer process and processes uploaded files, and then an arkime-live container that is only going to be used in the few scenarios listed above.

@mmguero mmguero added capture Relating to pcap-capture container enhancement New feature or request cloud Relating to deployment of Malcolm in the cloud and/or with Kubernetes labels Nov 1, 2023
@mmguero mmguero added this to the v23.12.0 milestone Nov 14, 2023
@mmguero mmguero self-assigned this Nov 27, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Nov 28, 2023
@mmguero
Copy link
Collaborator Author

mmguero commented Nov 28, 2023

Here are the scenarios where live arkime capture is required:

Here are the scenarios where live arkime capture is not allowed:

  • when OPENSEARCH_PRIMARY=opensearch-local (i.e., standalone Malcolm)

Here are the scenarios where live arkime capture is allowed:

  • when OPENSEARCH_PRIMARY=opensearch-remote or OPENSEARCH_PRIMARY=elasticsearc-remote

mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 7, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 8, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 8, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 8, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 8, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 8, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 8, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 19, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 19, 2023
mmguero added a commit to mmguero-dev/Malcolm that referenced this issue Dec 19, 2023
@mmguero mmguero closed this as completed Dec 20, 2023
@mmguero mmguero changed the title provide alternate configuration for Arkime capture listen to the interface directly rather than post-processing PCAPs provide alternate configuration for Arkime capture to listen on the interface directly rather than post-processing PCAPs Dec 20, 2023
This was referenced Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
capture Relating to pcap-capture container cloud Relating to deployment of Malcolm in the cloud and/or with Kubernetes enhancement New feature or request
Projects
Status: Released
Development

No branches or pull requests

1 participant