cutewizzy11/telnora-soc-platform

GitHub: cutewizzy11/telnora-soc-platform

一个开源、可自托管的安全运营中心平台,提供告警分诊、事件管理、威胁情报关联和分析报告功能,帮助安全团队高效运营和响应。

Stars: 1 | Forks: 0

# Telnora SOC 平台 一个可自托管的安全运营中心(SOC)Web 应用程序,用于警报分诊、安全事件案例管理、威胁情报关联和 SOC 分析分析——旨在为安全团队、MSSP 和研究人员提供一个开源参考平台。 由 **[Telnora Technologies](https://github.com/Telnora-Technologies)** 构建和维护。 ## 功能 - **警报分诊流** — 支持按严重程度、状态、来源和资产提取、过滤和分诊安全警报,并带有 MITRE ATT&CK 战术/技术标签。 - **事件案例管理** — 看板风格的案例面板(打开 → 进行中 → 已控制 → 已解决 → 已关闭),支持指派以及每个事件的评论/时间线记录。 - **真实威胁情报关联** — 从 **AbuseIPDB**(恶意 IP 信誉)、**AlienVault OTX**(社区威胁脉冲)和 **NVD**(CVE 订阅源)中提取实时指标,并自动将传入的警报与已知的恶意 IP 进行关联,以提高风险评分并提升严重级别。 - **分析与 SLA 报告** — 平均检测时间 (MTTD)、平均解决时间 (MTTR) 以及基于严重程度的 SLA 合规性跟踪。 - **基于角色的访问控制** — 在每个 API 路由上强制执行四种内置角色(`admin`、`soc_lead`、`analyst`、`viewer`)。 - **审计日志** — 记录每一个改变状态的操作(登录、警报分诊、事件更新、用户管理、威胁情报刷新),并包含操作者、目标和时间戳。 - **警报模拟器** — 生成逼真的合成警报(部分警报会特意匹配真实的威胁情报 IOC),因此无需接入实时的 SIEM 订阅源即可完整演示该平台。 ## 技术栈 | 层级 | 技术 | |------------|-----------------------------------------------| | 前端 | React + TypeScript + Vite + Tailwind CSS + Recharts | | 后端 | Python + FastAPI + SQLAlchemy | | 数据库 | PostgreSQL(支持使用 SQLite 进行快速的本地运行) | | 认证 | JWT (OAuth2 密码流) + bcrypt 密码哈希 | | 威胁情报 | AbuseIPDB, AlienVault OTX, NVD (NIST) REST API | 有关数据模型和关联引擎的更深入了解,请参阅 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。 ## 截图 _在本地运行该应用程序后,请在此处添加仪表盘、警报流和事件面板的截图——将 PNG 文件放入 `docs/screenshots/` 目录中,并在下方引用它们。_ ## 快速开始 ### 方式 1:Docker Compose(推荐) ``` git clone https://github.com/Telnora-Technologies/telnora-soc-platform.git cd telnora-soc-platform cp .env.example .env # fill in threat intel API keys if you have them (optional) docker compose up --build ``` - 前端: http://localhost:5173 - 后端 API 文档 (Swagger): http://localhost:8000/docs 然后填充演示数据(包括用户、模拟警报,如果设置了密钥,还会拉取实时威胁情报): ``` docker compose exec backend python -m app.scripts.seed ``` 使用 `admin@telnora.io` / `ChangeMe123!` 登录(也可以使用 `lead@`、`analyst@`、`viewer@telnora.io`)。 **在部署到任何公开环境之前,请务必更改默认密码和 `SECRET_KEY`。** ### 方式 2:不使用 Docker 在本地运行 **后端** ``` cd backend pip install -r requirements.txt --break-system-packages # or use a virtualenv cp ../.env.example ../.env # DATABASE_URL defaults to sqlite:///./soc.db if unset python -m app.scripts.seed uvicorn app.main:app --reload ``` **前端** ``` cd frontend npm install npm run dev ``` ### 威胁情报 API 密钥(全为可选,提供免费层级) 该平台在仅有模拟数据的情况下即可开箱即用。要拉取**真实**的威胁情报,请将免费的 API 密钥添加到 `.env` 中: - **AbuseIPDB** — https://www.abuseipdb.com/account/api - **AlienVault OTX** — https://otx.alienvault.com/api - **NVD** — 无需密钥即可使用;可在 https://nvd.nist.gov/developers/request-an-api-key 申请密钥以提高速率限制 系统会妥善处理缺失的密钥——仅跳过相应的订阅源,警报模拟器会继续为演示提供数据。 ## 角色 | 角色 | 权限 | |------------|-------------| | `admin` | 所有权限,包括用户管理和审计日志 | | `soc_lead` | 管理事件/警报,刷新威胁情报,查看审计日志和分析 | | `analyst` | 分诊警报,处理事件,添加评论 | | `viewer` | 整个平台的只读访问权限 | ## 运行测试 ``` cd backend pip install -r requirements.txt --break-system-packages pytest -v ``` ## 项目结构 ``` telnora-soc-platform/ ├── backend/ │ ├── app/ │ │ ├── models/ # SQLAlchemy models (User, Alert, Incident, IOC, AuditLog) │ │ ├── schemas/ # Pydantic request/response schemas │ │ ├── core/ # security (JWT/bcrypt) + RBAC dependencies │ │ ├── routers/ # FastAPI route modules │ │ ├── services/ # threat intel fetchers, correlation engine, alert simulator │ │ └── scripts/ # seed.py — demo data bootstrap │ └── tests/ ├── frontend/ │ └── src/ │ ├── pages/ # Dashboard, Alerts, Incidents, Threat Intel, Analytics, Admin, Audit Log │ ├── components/ # Layout, SeverityBadge, StatCard, ProtectedRoute │ └── context/ # AuthContext (JWT session state) ├── docker-compose.yml └── .env.example ``` ## 路线图 / 贡献者建议 - Alembic 迁移(目前通过 `Base.metadata.create_all` 创建 schema) - 使用 WebSocket 推送实时警报更新以代替轮询 - 添加更多威胁情报源(MISP, Shodan, VirusTotal) - SOAR 风格的自动化剧本(通过防火墙 API 自动拦截 IOC IP) - 多租户组织支持 ## 许可证 MIT — 详见 [`LICENSE`](LICENSE)。可免费使用、分叉和修改。 由 [Telnora Technologies](https://github.com/Telnora-Technologies) 为安全社区构建的开源 SOC 平台。
标签:AV绕过, FastAPI, React, Syscalls, 告警分诊, 威胁情报, 安全运营中心, 开发者工具, 测试用例, 网络映射, 请求拦截, 逆向工具