Try EveBox
To quickly try EveBox, first download a binary package from the below links and unzip:
Then run EveBox directly against an eve.json file from Suricata:
./evebox oneshot /path/to/eve.json
If a browser doesn't load, open
http://localhost:5636 in your browser. This
is called oneshot mode where a single eve.json file is loaded for
inspection into a temporary database which is destroyed when you close
EveBox.
EveBox 0.28.0 adds two oneshot conveniences:
- EVE events can be read from stdin by using
-as the input, for example:curl https://example.com/eve.json | ./evebox oneshot -. Events are imported as they arrive rather than waiting for end of input. - While events are still being imported,
CTRL-Cstops the import, keeping the events read so far for review. A furtherCTRL-Cexits.
Process a PCAP in Oneshot Mode
Oneshot PCAP processing is available starting in EveBox 0.27.0.
On Linux, oneshot mode can process a local, uncompressed PCAP or PCAPNG file with containerized Suricata before loading the generated EVE events:
./evebox oneshot --pcap /path/to/capture.pcap
PCAP mode requires network access and a local Podman or Docker engine. EveBox tries Podman first and then Docker; remote container engines are not supported. It uses the stock Suricata configuration and updates ET/Open, PAW Patrules, and The Hunters Ledger rules before each capture. The rule download cache is kept in the user's cache directory so unchanged rules do not need to be downloaded again. The capture is processed locally and is not sent to a remote service.
The default image is docker.io/jasonish/suricata:8.0. EveBox downloads it if
it is missing. If a cached image contains Suricata older than 8.0.6, an
interactive run offers to pull an update; a non-interactive run warns and
continues with the cached image.
Useful PCAP options include:
--container-runtime podman|dockerto select a runtime instead of automatic detection.--suricata-image IMAGEto use a compatible custom image. It must provide/usr/bin/suricata,/usr/bin/suricata-update,/bin/sh, asuricatauser, and an entrypoint that runs the supplied command, like the default image.--forceto allow captures larger than 4 GiB. EveBox normally rejects them because it stages a full copy in its temporary workspace.--limit NUMBERto limit imported EVE events. Suricata still processes the complete capture.
PCAP mode is unavailable on Windows and macOS. Ordinary eve.json oneshot mode
continues to work on those platforms.
EveBox 0.28.0 adds a local Suricata backend to PCAP mode, running a locally
installed Suricata (8.0.0 or newer) instead of a container. Select it with
--suricata-backend local, or by pointing --suricata (and optionally
--suricata-update) at the executables. Rules are updated with
suricata-update when available, otherwise they are downloaded directly from
the rule feeds, with the same download caching as the container backend.
Suricata runs in a temporary workspace and the installed Suricata
configuration is left untouched.
The local backend reads the capture in place, so the 4 GiB limit and --force
only apply to the container backend. With both backends, rules that fail to
load are now logged and skipped instead of aborting the run.
The local backend is the default on Windows and macOS, making PCAP mode
available on those platforms, and is used on Linux as a fallback when no
usable container runtime is found. On Windows, rules using the file.magic or
filemagic keywords are removed, as the Windows Suricata builds do not
support them, and packet extraction from the input PCAP is not available.
EveBox Deployment Options
EveBox was initially developed to connect directly to Elasticsearch being fed Suricata events with Logstash, however the deployment options have changed over time and can complicate things a little.
The current deployment options are:
- Elasticsearch with Suricata events being added with Logstash. Note that transforming events can break EveBox's expectations of what a Suricata event looks like
- Elasticsearch with Suricata events being added with Filebeat and the Filebeat plugin
- EveBox Server (and optional agent) with Elasticsearch as a backend
- EveBox server (and optional agent) with built-in SQLite backend
The first two Elasticsearch options are ideal if you are already ingesting Suricata events with Logstash or Filebeat.
The 3rd option, where EveBox is managing events is mostly compatible with the Logstash method and is ideal if you have a rather large event load and are capable of managing Elasticsearch yourself.
The SQLite option is ideal for small deployments such as home networks and is mostly self-managing, and also the simplest way to run EveBox.
SQLite is better for smaller loads, such as low bandwidth sensors or home networks, especially if you're willing to set limits on the database size or its age, such as 14 days and/or 40 gigabytes.
So Which Deployment Option Should I Use?
If you are still asking this question after reading the options above, I suggest you try the built-in SQLite database. There is no "stack" to support and it just works to start. This will at least get you familiar with EveBox with little effort, then you could decide to use Elasticsearch if you have higher loads.
EveBox attempts to keep feature parity with different backends, however Elasticsearch would allow you to also use Kibana for infinite custom report options.