LeonKohli/prebetter

GitHub: LeonKohli/prebetter

一个为 Prelude IDS 提供现代化 Web 界面的仪表盘,用 Nuxt 4 和 FastAPI 构建更好的告警浏览和分析体验。

Stars: 0 | Forks: 0

# Prebetter 一个用于 [Prelude IDS](https://www.prelude-siem.org/) 的 Web 仪表盘。通过现代化界面浏览、过滤和分析安全告警,以替代 Prelude 的默认工具。 ## 这是什么? Prebetter 直接连接到 Prelude 的 MySQL 数据库,并在此基础上提供 Web UI。你可以获得告警过滤、时间轴统计、心跳监控、CSV 导出以及基于角色的用户管理功能。 Prelude IDS 是一个开源的入侵检测系统。它的默认界面……不尽如人意。这个项目之所以存在,是因为我们需要更好的工具。 ## 架构 ``` ┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ │ Browser │────▶│ Frontend │────▶│ Backend API │ │ │ │ (Nuxt 4) │ │ (FastAPI) │ └─────────────┘ └──────────────┘ └────────┬────────┘ │ ┌───────┴─────────┐ │ │ ┌─────▼──────┐ ┌──────▼───────┐ │ Prelude DB │ │ Prebetter DB │ │ (read-only │ │ (users) │ └────────────┘ └──────────────┘ ``` 前端是 Nuxt 4 / Vue 3 SPA(使用 shadcn-vue、Tailwind CSS、支持深色/浅色模式)。后端是带有 JWT 认证的 FastAPI REST API。使用两个 MySQL 数据库:Prelude 现有的数据库(只读)和一个用于用户管理的独立数据库。 ## 快速开始 ### 前置条件 - Python 3.13+ - Node.js 20+ - MySQL 5.7+ - uv (Python 包管理器) - Bun (JavaScript 包管理器) ### 安装说明 1. **克隆仓库:** git clone https://github.com/LeonKohli/prebetter.git cd prebetter 2. **设置后端:** cd backend uv sync cp .env.example .env # 使用你的数据库凭据编辑 .env fastapi dev 3. **设置前端:** cd frontend bun install bun run dev 4. **访问应用:** - Frontend: http://localhost:3000 - Backend API: http://localhost:8000 - API 文档: http://localhost:8000/api/v1/docs ## 功能 - 告警浏览,支持按严重程度、分类、IP、日期范围过滤 - 按源/目标 IP 对告警进行分组 - 心跳监控(查看哪些 Agent 在线,哪些已掉线) - 时间轴和摘要统计 - CSV 导出 - JWT 认证,支持超级用户/普通用户角色 - 深色/浅色模式 ## 技术栈 | 层级 | 技术 | |-------|-----------| | 前端 | Nuxt 4, Vue 3, TypeScript, Tailwind CSS v4, shadcn-vue | | 后端 | FastAPI, SQLAlchemy, Pydantic, PyJWT | | 数据库 | MySQL 5.7+ (Prelude DB + 用户管理 DB) | | 包管理器 | [uv](https://docs.astral.sh/uv/) (Python), [Bun](https://bun.sh/) (JS) | ## 文档 - [后端 README](./backend/README.md) — API 端点、数据库 Schema、设置详情 - [前端 README](./frontend/README.md) — 组件结构、认证流程、样式 - [API 文档](http://localhost:8000/api/v1/docs) — 交互式 Swagger UI(运行时可用) ## 动机 Prelude IDS 本身工作得很好,但用于查看其收集数据的现有工具并没有跟上步伐。我们需要一种方法来快速浏览告警,了解网络中发生的事情,并且在此过程中不与 UI 较劲。所以我们构建了一个。 ## 贡献 1. Fork 本仓库 2. 从 `dev` 创建一个功能分支 3. 进行彻底测试 4. 提交 Pull Request ## 许可证 [GPL-3.0](./LICENSE)
标签:AV绕过, FastAPI, HTTP/HTTPS抓包, JWT认证, Mutation, Nuxt4, PB级数据处理, Prelude, Python, Python后端, Tailwind CSS, Vue3, Web界面, 代码示例, 仪表盘, 入侵检测系统, 可视化, 安全告警, 安全数据湖, 安全运维, 开源, 态势感知, 数据分析, 无后门, 监控, 网络安全, 角色权限管理, 隐私保护