Ovotron-net/SentinelSIEM

GitHub: Ovotron-net/SentinelSIEM

一个轻量级、模块化的开源 SIEM 平台,专为小型安全团队提供实时日志分析和威胁监控能力。

Stars: 3 | Forks: 1

# SentinelSIEM 一个轻量级、模块化、开源的 **SIEM (Security Information and Event Management)** 平台,用于实时日志分析和威胁监控 —— 专为 SOC 和蓝队工作流而构建。 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Issues](https://img.shields.io/github/issues/Ovotron-net/SentinelSIEM)](https://github.com/Ovotron-net/SentinelSIEM/issues) [![Stars](https://img.shields.io/github/stars/Ovotron-net/SentinelSIEM)](https://github.com/Ovotron-net/SentinelSIEM/stargazers) [![LinkedIn](https://shields.io/badge/LinkedIn-0077b5)](https://linkedin.com/in/bhavyakantawala/) [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](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, 威胁监控, 安全运营中心, 数据可视化, 版权保护, 网络映射, 网络测绘, 请求拦截