jasonish/evebox
GitHub: jasonish/evebox
一款专为 Suricata EVE 告警设计的 Web 可视化与事件管理工具,支持 Elasticsearch 和轻量化 SQLite 部署。
Stars: 485 | Forks: 75
# EveBox
EveBox 是一个基于 Web 的 Suricata "EVE" 事件查看器,专为 Elasticsearch 设计。
- 主页和文档:https://evebox.org

## 功能特性
- 一个基于 Web 的事件查看器,采用“收件箱”式的告警管理方式。
- 事件搜索。
- 一个 Agent,用于将 Suricata 事件发送到 EveBox 服务器(但您也可以使用 Filebeat/Logstash 替代)。
- 内嵌 SQLite,支持独立安装。
## 系统要求
- Suricata - 用于生成告警和事件。
以及以下之一...
- 一个现有的 ElasticSearch/Logstash(版本 7 或更高)环境,且已在处理 Suricata 事件(目前 EveBox 对 Filebeat 索引存在兼容性问题)。
- 仅 Elastic Search,使用 EveBox 或 EveBox Agent 来添加事件。
- 无需其他组件 - EveBox 可以使用内嵌的 SQLite 数据库,这适用于负载较低的安装环境(注意:目前尚未支持所有功能)。
- 一个现代 Web 浏览器。
## 安装
下载软件包,并针对您现有的 Elastic Search 服务器运行 evebox 应用程序。
示例:
```
./evebox server -e http://localhost:9200
```
然后在浏览器中访问 http://localhost:5636。
可用的下载包(包括 RPM 和 Debian 软件仓库)可以在 [https://evebox.org/#downloads](https://evebox.org/#downloads) 找到。
### EveCtl
EveCtl (https://evebox.org/evectl) 是在 Linux 机器上快速上手 Suricata 和 EveBox 的简便方法。(注意:需要 Podman 或 Docker)。
### ClearNDR Community Edition
EveBox 包含在 [ClearNDR Community Edition](https://www.stamus-networks.com/clear-ndr-community) 中。
### 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,而不是主机的。
或者,如果您想链接到一个已经运行的 Elastic Search 容器:
```
docker run -it -p 5636:5636 --link elasticsearch jasonish/evebox:latest
```
然后在浏览器中访问 http://localhost:5636。
## 使用方法
EveBox 作为服务器运行,默认在端口 5636 上提供 Web 界面。
### 配合已有事件的 Elastic Search 服务器使用
这是基本模式,即 `eve` 事件通过 Logstash 和/或 Filebeat 发送到 Elastic Search。
```
evebox server -e http://elasticsearch:9200
```
### 使用内嵌 SQLite 数据库
如果您没有 Elastic Search,并且在与 Suricata 相同的机器上运行 EveBox,这会很有用。它使用内嵌的 SQLite 数据库存储事件,适用于较轻的负载。目前 SQLite 不支持报表功能。
```
evebox server -D . --datastore sqlite --input /var/log/suricata/eve.json
```
更多文档可以在 http://evebox.readthedocs.io/en/latest/ 找到。
## 构建 EveBox
EveBox 由 JavaScript 前端和用 Rust 编写的后端组成。要构建 Evebox,必须首先满足以下要求:
* 已安装 Node.js v18 或更新版本。
* 最新的 Rust 稳定版。
首先检出 EveBox 代码:
```
git clone https://github.com/jasonish/evebox.git ~/projects/evebox
```
然后构建二进制文件:
```
make
```
或者构建发布包:
```
make dist
```
### 可能的问题
## 在开发模式下运行
```
./dev.sh -e http://elasticsearch:9200
```
这将以开发模式运行,并使用位于 http://elasticsearch:9200 的 Elastic Search 作为数据存储。
然后在浏览器中连接到 http://localhost:4200。注意此端口与 EveBox 端口不同,因为这里使用的是 Angular CLI/Webpack 开发服务器来提供 Web 应用,后端请求会被代理到 Go 应用程序。
在开发模式下,对 Go 文件的修改将触发重新编译/重启,对 Web 应用的修改将触发 JavaScript 的重新编译和浏览器刷新。
## 更新日志
参见 https://github.com/jasonish/evebox/blob/master/CHANGELOG.md 。
## 许可证
MIT。
标签:AMSI绕过, Docker, Elasticsearch, Elastic Stack, EVE, Filebeat, Logstash, NDR, SQLite, Suricata, Web GUI, 可视化界面, 告警管理, 威胁检测, 安全事件可视化, 安全运营, 安全防御评估, 开源安全工具, 扫描框架, 数据可视化, 流量重放, 现代安全运营, 网络安全, 请求拦截, 逆向工程平台, 通知系统, 隐私保护