MazenAlaa305/ORCHESTRATION-SECURITY-CENTER

GitHub: MazenAlaa305/ORCHESTRATION-SECURITY-CENTER

面向中小企业的网络安全编排平台,整合资产发现、漏洞扫描、风险评分、SIEM/SOAR 集成与审计报告,降低安全运营门槛。

Stars: 0 | Forks: 0

# Orchestration Security Center 一个面向中小企业(SME)的网络安全编排平台。该系统将资产发现、漏洞扫描、风险评分、SIEM/SOAR 集成以及审计就绪报告整合在一个仪表板中。 毕业设计项目,赫尔万国际技术大学。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39faa54be350a1dab8afd3b2fb8c1c83e4d9cff84abfef2374d19a18053687c4.svg)](https://github.com/MazenAlaa305/ORCHESTRATION-SECURITY-CENTER/actions/workflows/ci.yml) [![Status](https://img.shields.io/badge/status-active-success)]() [![License](https://img.shields.io/badge/license-Academic-blue)]() [![Stack](https://img.shields.io/badge/stack-FastAPI%20%2B%20React-informational)]() ## 目录 - [项目摘要](#project-summary) - [截图](#screenshots) - [工作原理](#how-it-works) - [主要功能](#main-features) - [技术栈](#technology-stack) - [快速开始](#quick-start) - [配置](#configuration) - [默认访问凭据](#default-access) - [常用命令](#useful-commands) - [测试](#testing) - [项目结构](#project-structure) - [文档](#documentation) ## 项目摘要 Orchestration Security Center 帮助中小企业团队运行实用的安全工作流,而无需购买完整的企业级 SIEM/SOAR 产品。它能够发现资产、启动开源扫描器、验证发现结果、对风险进行排名,并通过管理者和分析师都能理解的 Web 仪表板展示结果。 该项目专注于确定性的编排:扫描器的决策基于发现的服务和配置的扫描范围,因此平台能够产生可重复的结果,而不是产生大量嘈杂、随机的告警。 ## 截图 以下截图取自最终的毕业项目演示。 | 标题 | 登录 | 拓扑 | |---|---|---| | ![演示标题幻灯片](https://static.pigsec.cn/wp-content/uploads/repos/cas/7b/7be7d2457d73d4cba118a1c95c70d4eca6141b34096284c9542b7049d9390fa5.png) | ![登录页面幻灯片](https://static.pigsec.cn/wp-content/uploads/repos/cas/cd/cd76defb594b15295b25054989996e4c76ab34c2ae766fb64a2c70139df7d965.png) | ![网络拓扑幻灯片](https://static.pigsec.cn/wp-content/uploads/repos/cas/2a/2a6a8b3928983736e38fdaaea189a76599afb3bbdecada271b61362626e09ccd.png) | | 完整报告 | 分析师档案 | |---|---| | ![报告生成幻灯片](https://static.pigsec.cn/wp-content/uploads/repos/cas/23/23f7baa5b1c7f8c9164600c4f36aaea4ded9c7e9d0668a843551057e1361bb68.png) | ![分析师档案幻灯片](https://static.pigsec.cn/wp-content/uploads/repos/cas/c5/c523b7411629fa003231bac78f819708a29beb59e062855bab330d904275a703.png) | ## 工作原理 ``` Target / Lab Network | v Asset discovery and service fingerprinting | v Scanner orchestration: Nmap, Nuclei, OpenVAS | v Validation, deduplication, and framework tagging | v Risk scoring, remediation workflow, and reporting | v Dashboard, SIEM events, SOAR actions, PDF/JSON exports ``` ## 主要功能 | 领域 | 提供的功能 | |---|---| | 身份验证 | JWT 登录、基于角色的访问控制、档案管理、审计日志 | | 资产发现 | 目标清单、子网发现、拓扑生成、资产去重 | | 扫描 | Nmap、Nuclei、OpenVAS、验证探测以及异步 Celery worker | | 风险管理 | 面向业务的风险评分、严重性细分、SLA 跟踪、风险解释 | | 漏洞工作流 | 状态变更、修复说明、误报处理以及重新验证 | | 报告 | 签名的 PDF 报告、JSON 导出、报告验证、审计证据 | | SIEM/SOAR | 可选的 Wazuh、Elasticsearch、Kibana 和 n8n 集成 | | 实验环境 | 包含漏洞的 Docker 实验环境,用于演示、测试和可重复的评估 | | AI 咨询 | 可选的基于 Gemini 的修复指导,带有防护措施和兜底逻辑 | ## 技术栈 | 层级 | 技术 | |---|---| | 前端 | React 18、Vite、Tailwind CSS、Framer Motion、D3.js、Recharts、React Router、React Query、Zustand | | 后端 | FastAPI、SQLAlchemy、Alembic、Pydantic、Celery、Redis、PostgreSQL、JWT | | 安全工具 | Nmap、Nuclei、OpenVAS/GVM、验证探测、范围防护 | | SIEM/SOAR | Wazuh、Elasticsearch、Kibana、n8n | | 基础设施 | Docker Compose、Caddy、CoreDNS、隔离的 Docker 实验网络 | | 测试 | pytest、Vitest、Playwright 风格的 E2E 测试、Postman 集合 | ## 快速开始 ### 1. 前置条件 在运行项目之前,请先安装以下内容: - 带有 Docker Compose v2 的 Docker Desktop - Windows 上的 PowerShell 5.1+,或 Linux/macOS 上的 Bash - Git - Lite 模式最低需要 16 GB 内存 - Full 模式建议使用 32 GB 内存 - 20 GB 可用磁盘空间 ### 2. 克隆仓库 ``` git clone https://github.com/MazenAlaa305/ORCHESTRATION-SECURITY-CENTER.git cd ORCHESTRATION-SECURITY-CENTER ``` ### 3. 创建环境配置 复制示例文件并填写密钥: ``` Copy-Item .env.example .env ``` ``` cp .env.example .env ``` 生成所需的密钥: ``` python -c "import secrets; print(secrets.token_hex(32))" python -c "import base64, os; print(base64.urlsafe_b64encode(os.urandom(32)).decode())" ``` 将第一个值放入 `.env` 文件中的 `JWT_SECRET`,第二个值放入 `CREDENTIAL_ENCRYPTION_KEY`。 ### 4. 启动 Lite 模式 Lite 模式是推荐的首次运行方式。它会启动仪表板、后端、数据库、Redis、Celery worker 以及较小的漏洞靶场环境。 ``` powershell -ExecutionPolicy Bypass -File .\start-lite.ps1 ``` ``` bash start-lite.sh ``` 打开: - 仪表板:`https://localhost` - 后端 API 文档:`http://localhost:8000/docs` - Juice Shop 靶场目标:`http://localhost:3000` - 靶场 API 网关:`http://localhost:8081` 在浏览器中接受本地自签名证书警告。 ### 5. 启动 Full 模式 Full 模式增加了较重的集成组件:OpenVAS、Elasticsearch、Kibana、Wazuh、n8n、Celery Beat 以及完整的靶场配置文件。 ``` powershell -ExecutionPolicy Bypass -File .\start-full.ps1 ``` ``` bash start-full.sh ``` 仅当 Docker Desktop 分配了足够的内存时才使用 Full 模式。如果容器重启或变得不健康,请增加 Docker 资源并再次运行该命令。 ## 配置 配置从项目根目录的 `.env` 文件加载。请勿提交真实的密钥。 | 变量 | 必填 | 用途 | |---|---|---| | `JWT_SECRET` | 是 | 签发身份验证 token | | `CREDENTIAL_ENCRYPTION_KEY` | 是 | 加密存储的目标凭据 | | `DATABASE_URL` | 提供 Docker 默认值 | 后端数据库连接 | | `REDIS_URL` | 提供 Docker 默认值 | Celery broker 和 runtime cache | | `GEMINI_API_KEY` | 可选 | 启用 Gemini 修复指导 | | `LLM_PROVIDER` | 可选 | 使用 `gemini` 或 `none` | | `SIEM_ENABLED` | 可选 | 在后端服务准备就绪时启用 SIEM 集成 | | `SOAR_ENABLED` | 可选 | 启用 n8n SOAR webhook | | `OPENVAS_ENABLED` | 可选 | 启用 OpenVAS 集成 | | `LAB_ENABLED` | 可选 | 启用与靶场相关的后端功能 | | `REPORT_SIGNING_KEY` | 建议 | 签发报告元数据和验证数据 | 可选集成默认处于禁用状态,在未配置时会平滑失效。 ## 默认访问凭据 在后端首次启动时,应用程序会为开发/演示用途初始化一个本地管理员账户: | 角色 | 邮箱 | 密码 | 备注 | |---|---|---|---| | 管理员 | `admin@local` | `Admin#159` | 首次启动时初始化;登录后请及时修改 | 可以使用以下命令创建其他演示用户: ``` docker compose exec backend python seed_demo_users.py ``` ## 常用命令 | 任务 | Windows | Linux/macOS | |---|---|---| | 启动 Lite 技术栈 | `powershell -ExecutionPolicy Bypass -File .\start-lite.ps1` | `bash start-lite.sh` | | 不重新构建启动 Lite | `powershell -ExecutionPolicy Bypass -File .\start-lite.ps1 -NoBuild` | `bash start-lite.sh --no-build` | | 启动 Full 技术栈 | `powershell -ExecutionPolicy Bypass -File .\start-full.ps1` | `bash start-full.sh` | | 停止所有容器 | `powershell -ExecutionPolicy Bypass -File .\stop-all.ps1` | `bash stop-all.sh` | | 查看后端日志 | `docker compose logs -f backend` | `docker compose logs -f backend` | | 查看所有容器 | `docker compose ps` | `docker compose ps` | | 重新构建主技术栈 | `docker compose up -d --build` | `docker compose up -d --build` | ## 故障排除 | 问题 | 解决方法 | |---|---| | Docker 命令失败 | 启动 Docker Desktop 并等待其完全运行 | | 后端启动失败 | 确保在 `.env` 中设置了 `JWT_SECRET` 和 `CREDENTIAL_ENCRYPTION_KEY` | | 浏览器警告证书问题 | 接受 `https://localhost` 的本地自签名证书 | | Full 模式容器重启 | 增加 Docker Desktop 的内存分配或使用 Lite 模式 | | 数据初始化请求失败 | 等待靶场启动完成,然后从仪表板运行初始化操作,或重试启动脚本 | | 端口已被占用 | 停止冲突的服务或更新 compose 的端口映射 | ## 测试 运行后端测试: ``` pytest backend/tests/ -v --cov=backend/app ``` 运行前端测试: ``` npm --prefix frontend test ``` 运行项目测试助手: ``` python run_tests.py ``` API 集合: ``` postman/OrchestrationSecurityCenter_API.postman_collection.json ``` ## 项目结构 ``` . |-- backend/ FastAPI app, services, models, migrations, tests |-- frontend/ React and Vite dashboard |-- infra/ Caddy, isolation, and OpenVAS infrastructure files |-- lab/ Vulnerable lab containers and sample data |-- lab_config/ Lab bootstrap configuration |-- postman/ API collection |-- tests/ End-to-end test suite |-- all_tests/ Extended backend and frontend tests |-- docs/screenshots/ README screenshots |-- docker-compose.yml Main application stack |-- docker-compose.lab.yml Vulnerable lab stack |-- start-lite.ps1/.sh Lite stack launcher |-- start-full.ps1/.sh Full stack launcher |-- stop-all.ps1/.sh Shutdown scripts |-- TEAM_PLAN.md Team roles and responsibilities |-- TECHNICAL_NOTES.md Architecture and implementation notes |-- FYP_Documentation.md Full academic documentation |-- FYP_Figures.md Figure catalogue `-- Orchestration_Security_Center_Presentation.pptx.pdf ``` ## 文档 | 文件 | 用途 | |---|---| | [TEAM_PLAN.md](TEAM_PLAN.md) | 团队所有权、角色、职责和入职说明 | | [TECHNICAL_NOTES.md](TECHNICAL_NOTES.md) | 架构、API、数据模型和操作说明 | | [FYP_Documentation.md](FYP_Documentation.md) | 学术项目文档 | | [FYP_Figures.md](FYP_Figures.md) | 图表列表和捕获指南 | | [Orchestration_Security_Center_Presentation.pptx.pdf](Orchestration_Security_Center_Presentation.pptx.pdf) | 最终演示 PDF | ## 安全提示 - 仅在您拥有或获得授权测试的系统和网络上使用此项目。 - 该靶场故意包含易受攻击的服务和弱凭据以供演示。 - 将靶场网络与真实的生产网络保持隔离。 - 请勿提交 `.env`、真实的 API key、包含敏感数据的导出报告或生产环境凭据。 ## 团队 团队由十一名成员组成,涵盖领导、后端、AI、前端、可视化、扫描、QA 和文档等方向。完整的归属详情记录在 [TEAM_PLAN.md](TEAM_PLAN.md) 中。 ## 许可证 学术项目,赫尔万国际技术大学。项目团队保留所有权利。外部使用需获得团队负责人的书面许可。
标签:AV绕过, CTI, FastAPI, React, SIEM/SOAR, Syscalls, 安全管理平台, 安全规则引擎, 实时处理, 插件系统, 搜索引擎查询, 测试用例, 版权保护, 网络安全, 自定义脚本, 越狱测试, 隐私保护