1 个不稳定版本

0.13.0 2021年3月18日

#1871数据库接口

AGPL-3.0

720KB
16K SLoC

Rust 9K SLoC // 0.1% comments TypeScript 6.5K SLoC // 0.2% comments SQL 479 SLoC // 0.1% comments Shell 409 SLoC // 0.1% comments JavaScript 57 SLoC // 0.1% comments Bitbake 34 SLoC // 0.1% comments Python 30 SLoC // 0.7% comments

EveBox 文档状态

EveBox 是一个基于Web的Suricata "eve" 事件查看器,用于Elastic Search。

EveBox

特性

  • 基于Web的事件查看器,采用“收件箱”方式管理警报。
  • 事件搜索。
  • 一个代理,用于将Suricata事件发送到EveBox服务器(但您也可以使用Filebeat/Logstash)。
  • 内嵌SQLite,适用于独立安装。

要求

  • Suricata - 生成警报和事件。

以及以下之一...

  • 现有的ElasticSearch/Logstash(版本6或更高)设置,已经处理Suricata事件(EveBox目前存在与Filebeat索引的问题)。
  • 仅Elastic Search,使用EveBox或EveBox代理添加事件。
  • 无 - EveBox可以使用适合低负载安装的内嵌SQLite数据库(注意:并非所有功能都受支持)。
  • 现代网络浏览器。

安装。

下载一个包,并运行evebox应用程序,针对您现有的Elastic Search服务器。

示例

./evebox server -e https://127.0.0.1:9200

然后使用您的浏览器访问 https://127.0.0.1:5636

最新发布版本构建可以在 https://evebox.org/files/release/latest/ 找到。

最新开发版本(来自git master)可以在 https://evebox.org/files/development/ 找到。

还有一个 RPMDebian 软件包仓库。

SELKS

EveBox 也包含在 SELKS 中,它提供了配置和准备就绪的Suricata和ELK堆栈。

Docker

如果您希望使用Docker安装EveBox,最新的镜像托管在Docker hub上。

示例

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

用您的 http://elasticsearch:9200 替换Elastic Search URL。您很可能不想在这里使用localhost,因为这将是指容器的localhost,而不是宿主机的localhost。

或者,如果您想链接到已运行的 Elastic Search 容器

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

然后使用您的浏览器访问 https://127.0.0.1:5636

这不需要修改您的 Elastic Search 配置。与 Evebox 的早期版本不同,您不需要启用动态脚本和 CORS。

使用方法

EveBox 默认以服务器形式运行,在端口 5636 上公开 Web 界面。

与具有事件的现有 Elastic Search 服务器

基本模式,其中 eve 事件通过 Logstash 和或 Filebeat 发送到 Elastic Search。

evebox server -e http://elasticsearch:9200

与嵌入式 SQLite 数据库

如果您没有 Elastic Search 且 EveBox 与 Suricata 在同一台机器上运行,这很有用。它使用嵌入式 SQLite 数据库来存储事件,适用于较轻的负载。目前 SQLite 不支持报告。

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

更多文档可在 http://evebox.readthedocs.io/en/latest/ 找到。

构建 EveBox

EveBox 由一个 JavaScript 前端和一个用 Go 编写的非常简单的后端组成。要构建 EveBox,必须首先满足以下要求

  • 安装 Node.js v12.16.1 或更高版本。
  • 最新的 Rust 稳定版本。

首先检出 EveBox

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

然后构建二进制文件

make

或构建发行版软件包

make dist

如果您不想使用所需的开发工具,但已安装 Docker,可以使用以下命令构建 Linux 发行版

./build.sh linux

可能的问题

JavaScript 堆内存不足

如果在构建过程中遇到 JavaScript 内存不足问题,请尝试设置以下环境变量并重新构建

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

以开发模式运行

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

要使用位于 http://elasticsearch:9200 的 Elastic Search 数据存储库以开发模式运行。

将您的浏览器连接到 https://127.0.0.1:4200。注意,此端口号不同于 EveBox 端口,因为 Angular CLI/Webpack 开发服务器用于提供 Web 应用程序,而后端请求被代理到 Go 应用程序。

在开发模式下,Go 文件的更改将触发重新编译/重启,而 Web 应用的更改将触发 JavaScript 的重新编译和浏览器刷新。

变更日志

请参阅 https://github.com/jasonish/evebox/blob/master/CHANGELOG.md

许可证

Affero GPL。 https://www.gnu.org/licenses/agpl-3.0.en.html

依赖项

~67MB
~1M SLoC