Ovotron-net/SentinelSIEM
GitHub: Ovotron-net/SentinelSIEM
一个轻量级、模块化的开源 SIEM 平台,专为小型安全团队提供实时日志分析和威胁监控能力。
Stars: 3 | Forks: 1
# SentinelSIEM
一个轻量级、模块化、开源的 **SIEM (Security Information and Event Management)** 平台,用于实时日志分析和威胁监控 —— 专为 SOC 和蓝队工作流而构建。
[](LICENSE)
[](https://github.com/Ovotron-net/SentinelSIEM/issues)
[](https://github.com/Ovotron-net/SentinelSIEM/stargazers)
[](https://linkedin.com/in/bhavyakantawala/)
[](https://github.com/BhavyaKantawala)
## 关于
SentinelSIEM 旨在为小型安全团队和蓝队爱好者提供一个可自托管、简单实用的解决方案,以替代重量级的商业 SIEM 平台。它能够接入日志和事件,对其进行标准化和存储,并通过简单的 Web 仪表板展示告警 —— 而无需专门的团队来进行搭建和数据工程处理。
本项目在设计上具有高度的模块化:接入和处理日志的组件、提供数据服务的 API 以及进行可视化的仪表板相互独立,因此任何一部分都可以被替换、扩展或独立运行。
## 功能
- 🔍 **实时日志接入**和事件处理 pipeline
- 🧩 **模块化架构** —— backend、processor 和 frontend 作为独立服务运行
- 🔐 基于 **JWT** 的身份验证,用于 API 访问
- 📊 **Web 仪表板**,用于浏览事件和审查告警
- 🗄️ **MongoDB**,提供灵活、轻 schema 的事件存储
- ⚙️ 通过环境变量进行配置,方便部署
## 架构
本仓库被组织为多个独立的模块:
```
SentinelSIEM/
├── backend/ # REST API — auth, data access, alert logic
├── processor/ # Log ingestion & event processing pipeline
├── frontend/ # Web dashboard (UI)
├── docs/ # Project documentation
├── .env.sample # Example environment configuration
└── docker-compose.yml # Multi-service local orchestration
```
从宏观层面来看,日志从您的数据源流入 **processor**,processor 对事件进行标准化并将其转发给 **backend**,backend 随后将其持久化到 MongoDB,并通过 API 暴露给 **frontend** 仪表板。
## 技术栈
- **数据库:** MongoDB
- **Backend:** Node.js/Express 风格的 REST API,JWT 身份验证
- **Frontend:** 基于 Web 的仪表板
- **编排:** Docker Compose
## 快速开始
### 前置条件
- [Node.js](https://nodejs.org/)(推荐使用 LTS 版本)
- [MongoDB](https://www.mongodb.com/)(本地实例或 Atlas)
- [Docker](https://www.docker.com/) & Docker Compose(可选,用于容器化部署)
- Git
### 1. 克隆仓库
```
git clone https://github.com/Ovotron-net/SentinelSIEM.git
cd SentinelSIEM
```
### 2. 配置环境变量
复制示例环境文件,并根据您的配置更新相应的值:
```
cp .env.sample .env
```
```
MONGO_URI=mongodb://localhost:27017/sentinelsiem
JWT_SECRET=replace_me
PORT=5000
LOG_LEVEL=INFO
```
⚠️ **在将项目部署到本地以外的任何环境之前,请务必将 `JWT_SECRET` 替换为一个强且唯一的密钥。**
### 3. 安装依赖
为您计划运行的每个模块安装依赖:
```
cd backend && npm install
cd ../frontend && npm install
cd ../processor && npm install
```
### 4. 运行服务
**选项 A —— Docker Compose(推荐用于本地开发):**
```
docker compose up --build
```
**选项 B —— 分别运行各个模块:**
```
# 在单独的终端中
cd backend && npm start
cd processor && npm start
cd frontend && npm start
```
Backend API 将可以通过 `http://localhost:5000`(或您配置的 `PORT`)访问,而 frontend 仪表板将运行在它自己的本地端口上。
## 项目结构说明
- **`backend/`** —— 处理身份验证,暴露 REST endpoint,并与 MongoDB 进行通信。
- **`processor/`** —— 负责在原始日志/事件到达 backend 之前对其进行接入和标准化。
- **`frontend/`** —— 用于审查事件和告警的仪表板 UI。
- **`docs/`** —— 补充文档;随着项目的发展,您可以在此处查看更深入的解析。
## 路线图
有什么想法吗?[提交一个 Issue](https://github.com/Ovotron-net/SentinelSIEM/issues) 来讨论一下吧。
## 许可证
本项目基于 [MIT 许可证](LICENSE) 授权。
## 致谢
标签:JWT, MITM代理, MongoDB, 威胁监控, 安全运营中心, 数据可视化, 版权保护, 网络映射, 网络测绘, 请求拦截