• Stars
    star
    429
  • Rank 101,271 (Top 2 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web Based Event Viewer (GUI) for Suricata EVE Events in Elastic Search

EveBox

EveBox is a web based Suricata "EVE" event viewer for Elastic Search.

EveBox

Features

  • A web based event viewer with an "Inbox" approach to alert management.
  • Event search.
  • An agent for sending Suricata events to the EveBox server (but you can use Filebeat/Logstash instead).
  • Embedded SQLite for self-contained installations.

Requirements

  • Suricata - to generate alerts and events.

And one of...

  • An existing ElasticSearch/Logstash (version 7 or greater) setup already handling Suricata events (EveBox has issues with Filebeat indices at this time).
  • Just Elastic Search, using EveBox or the EveBox agent to add events.
  • Nothing - EveBox can use an embedded SQLite database suitable for lower load installations (note: not all features supported yet).
  • A modern web browser.

Installation.

Download a package and run the evebox application against your existing Elastic Search server.

Example:

./evebox server -e http://localhost:9200

Then visit http://localhost:5636 with your browser.

Available downloads including RPM and Debian package repositories can be found at https://evebox.org/#downloads.

SELKS

EveBox is also included in SELKS which provides Suricata and an ELK stack configured and ready to go.

Docker

If you wish to install EveBox with Docker an up to date image is hosted on Docker hub.

Example:

docker pull jasonish/evebox:latest
docker run -it -p 5636:5636 jasonish/evebox:latest -e http://elasticsearch:9200

replacing your http://elasticsearch:9200 with that of your Elastic Search URL. You most likely do not want to use localhost here as that will be the localhost of the container, not of the host.

OR if you want to link to an already running Elastic Search container:

docker run -it -p 5636:5636 --link elasticsearch jasonish/evebox:latest

Then visit http://localhost:5636 with your browser.

Usage

EveBox runs as a server exposing a web interface on port 5636 by default.

With an Existing Elastic Search Server With Events

The basic mode where eve events are being sent to Elastic Search with Logstash and or Filebeat.

evebox server -e http://elasticsearch:9200

With the Embedded SQLite Database

This is useful if you don't have Elastic Search and running EveBox on the same machine as Suricata. It uses an embedded SQLite database for events and is suitable for ligher loads. Currently SQLite does not support reporting.

evebox server -D . --datastore sqlite --input /var/log/suricata/eve.json

More documentation can be found at http://evebox.readthedocs.io/en/latest/.

Building EveBox

EveBox consists of a JavaScript frontend, and a backend written in Rust. To build Evebox the following requirements must first be satisfied:

  • Node.js v16.13.1 or newer installed.
  • Latest Rust stable.

First checkout EveBox:

git clone https://github.com/jasonish/evebox.git ~/projects/evebox

Then to build the binary:

make

Or to build a release package:

make dist

Possible Issues

JavaScript heap out of memory

If you get a JavaScript out of memory issue while building, try setting the following environment variable and rebuild:

export NODE_OPTIONS="--max-old-space-size=4096"

Run in Development Mode

./dev.sh -e http://elasticsearch:9200

to run in development mode using an Elastic Search datastore at http://elasticsearch:9200.

The connect your browser to http://localhost:4200. Note this port is different than the EveBox port, as the Angular CLI/Webpack development server is used to serve up the web application with backend requests being proxied to the Go application.

In development mode changes to Go files will trigger a recompile/restart, and changes to the web app will trigger a recompile of the javascript and a browser refresh.

Change Log

See https://github.com/jasonish/evebox/blob/master/CHANGELOG.md .

License

MIT.

More Repositories

1

py-idstools

idstools: Snort and Suricata Rule and Event Utilities in Python (Including a Rule Update Tool)
Python
275
star
2

docker-suricata

A Suricata Docker image.
Shell
258
star
3

libevent-examples

C
150
star
4

suricata-trafficid.ARCHIVED

Application and service identification rules for Suricata
Python
29
star
5

dumpy

A web frontend to libpcap spool directories as produced by tcpdump or daemonlogger.
Rust
26
star
6

jetty-springmvc-jsp-template

Java
22
star
7

docker-suricata-elk

[ABANDONED] A Docker container running Suricata and the ELK stack.
Shell
22
star
8

suricata-rpms

Suricata RPMs for CentOS/RHEL and Fedora
M4
19
star
9

go-unified2

A Go(lang) Library for Handling Snort and Suricata unified2 Log Files
Go
17
star
10

tailq-example

C
15
star
11

jetty-springmvc-thymeleaf-template

A template Spring application using that embeds Jetty and uses Thymeleaf as the view technology.
Java
14
star
12

go-idsrules

A Go(lang) IDS rule parser
Go
13
star
13

suricata-example-plugins

C
11
star
14

simple-ids

A very simple way to try Suricata and EveBox
Rust
10
star
15

suricatax-rule-parser-rs

Rust
9
star
16

suricata-redis-output

Suricata Eve Redis Output Plugin
Rust
7
star
17

experimental-suricata-training

Shell
6
star
18

ruleman

[ABANDONED] A tool for managing Snort and/or Suricata IDS rules.
Python
5
star
19

openshift-spring-boot

Example Spring Boot application running on OpenShift
Java
5
star
20

ruledownloader

[ABANDONED] A tool for downloading and archiving Snort and Suricata rules.
Python
4
star
21

arpscan

A simple ARP scanner.
C
4
star
22

suricata-test-builders

Suricata builders for various distributions and operating systems using Docker and Vagrant
Shell
4
star
23

docker-snort

A Snort Docker image - for testing purposes.
Python
3
star
24

suricatactl

Python
3
star
25

udptap

A tool to passively tap and resend UDP packets.
C
3
star
26

libpcap.py

A minimal libpcap wrapper for Python.
Python
3
star
27

imaparchive

[ABANDONED] A script to archive IMAP folders similar to Thunderbirds archive method.
Python
2
star
28

suricata-codespace-user

Dockerfile
2
star
29

suricata-devcontainer

Dockerfile
2
star
30

nsm-rpms

[ABANDONED] NSM RPMs for Enterprise Linux
Python
1
star
31

suricata-ci

1
star
32

liblogger

C
1
star
33

docker-mtpot

Docker container for the Mirai honeypot (https://github.com/CymmetriaResearch/MTPot)
Shell
1
star
34

oisf-docker-demo

1
star
35

suricata-lua-sys

C
1
star
36

fedora-suricata-af-packet-ips

1
star
37

suricata-snap

[Experimental] Suricata Snap Package
Shell
1
star