Veds20/CyberSafe-Campus

GitHub: Veds20/CyberSafe-Campus

一款基于MERN架构、专为高等教育机构打造的集中式网络安全管理与威胁情报平台,解决校园安全工具碎片化与跨部门威胁可见性不足的问题。

Stars: 0 | Forks: 0

# 🛡️ CyberSafe 校园 ![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg) ![Build Status](https://img.shields.io/badge/Build-Passing-brightgreen.svg) ![Version](https://img.shields.io/badge/Version-1.0.0--MVP-orange.svg) ![Node](https://img.shields.io/badge/Node.js-%3E%3D18.0.0-green.svg) ![React](https://img.shields.io/badge/React-18.x-blue.svg) ![MongoDB](https://img.shields.io/badge/MongoDB-Atlas-green.svg) ## 📌 项目简介 **CyberSafe Campus** 是一个企业级的综合网络安全管理与威胁情报平台,专门为高等教育机构、大学和研究校园量身定制。 教育机构管理着庞大的网络、成千上万的个人与研究设备 (BYOD)、高带宽的公共 Wi-Fi 网络以及关键研究数据——这使其成为勒索软件、网络钓鱼活动、数据泄露和未修补的零日漏洞等网络威胁的首要目标。 CyberSafe Campus 为机构的安全治理提供了集中化的指挥中心,涵盖威胁监控、漏洞管理、自动化事件报告、网络钓鱼检测、URL 信誉评分以及学生安全意识培训等功能。 ## 🎯 问题陈述与愿景 ### 问题陈述 现代大学 IT 基础设施面临着安全工具碎片化、师生安全意识薄弱、事件响应时间延迟以及跨部门缺乏统一威胁可见性等问题。 ### 愿景 致力于为全球教育机构提供一个易于访问、可扩展且自动化的网络安全生态系统,以最大程度地降低数字风险,培养积极主动的安全文化,并保护学术知识产权。 ## 🚀 核心目标 1. **集中化事件管理**:简化各大学院安全事件的报告、分类和解决流程。 2. **自动化威胁情报**:提供实时的 URL 信誉评分和基于 AI 的网络钓鱼邮件分析。 3. **持续漏洞追踪**:监控校园 Web 资产、开放端口和存在漏洞的服务。 4. **互动式安全意识教育**:通过游戏化的培训模块和模拟网络钓鱼演练来教育师生。 5. **实时高管分析**:为 IT 领导层提供高级仪表板和可下载的审计报告。 ## 🏗️ 系统架构 ``` +-----------------------------------------------------------------------------------+ | USER LAYER | | +-------------------+ +--------------------+ +------------------------+ | | | Student / Staff | | IT Security Team | | System Administrator | | | +---------+---------+ +---------+----------+ +-----------+------------+ | +------------|-------------------------|----------------------------|---------------+ | | | v v v +-----------------------------------------------------------------------------------+ | FRONTEND LAYER (Vite + React) | | +--------------------+ +--------------------+ +---------------------------+ | | | Auth & RBAC Module | | Threat Dashboard | | Incident & Vuln Portal | | | +---------+----------+ +---------+----------+ +-------------+-------------+ | | | | | | | +------------------------+----------------------------+ | | | Axios (REST API) | +-------------------------------------|---------------------------------------------+ v +-----------------------------------------------------------------------------------+ | BACKEND LAYER (Node.js + Express) | | +-------------------+ +---------------------+ +---------------------------+ | | | JWT / Auth Engine | | Middleware Security | | Threat Intelligence Hub | | | | & RBAC Controller | | (Helmet, CORS, Rate)| | (URL, Phishing, Scans) | | | +---------+---------+ +----------+----------+ +-------------+-------------+ | +------------|------------------------|----------------------------|----------------+ | v | | +---------------------+ | | | MongoDB Atlas (ODM) | | | +---------------------+ v v +-----------------------+ +--------------------+ | Future API Integrations| | File Storage / | | (VirusTotal, Gmail, | | Report Generation | | Nmap, Nuclei, OWASP) | +--------------------+ +-----------------------+ ``` ## 🛠️ 技术栈 | 领域 | 技术 | 描述 | | :--- | :--- | :--- | | **Frontend** | React 18 (Vite) | 高性能单页应用框架 | | | Tailwind CSS | 现代的实用优先响应式样式框架 | | | React Router v6 | 客户端路由与页面导航 | | | Axios | 基于 Promise 的 HTTP 客户端,用于 API 通信 | | | Lucide React | 简洁、可扩展的 UI 图标库 | | **Backend** | Node.js | 异步服务端 JavaScript 运行时 | | | Express.js | 强大的 RESTful Web 应用框架 | | | JSON Web Tokens (JWT) | 无状态用户认证与 RBAC 授权 | | **Database** | MongoDB Atlas | 基于云的 NoSQL 数据库,搭配 Mongoose ODM | | **集成 (未来)** | VirusTotal API | 文件与 URL 信誉情报 | | | Gmail API | 网络钓鱼分析与自动化邮件解析 | | | Nmap / Nuclei / OWASP ZAP | 自动化扫描引擎 | | **部署** | Vercel (Frontend) | 用于 React 前端的边缘网络部署 | | | Render (Backend) | 用于 Node.js 后端的容器化云主机 | | **版本控制**| Git / GitHub | 分布式版本控制与 CI/CD 工作流 | ## 📂 仓库结构 ``` CyberSafeCampus/ ├── client/ # React Frontend Application │ ├── public/ # Static assets & public resources │ ├── src/ │ │ ├── assets/ # Images, branding, vector graphics │ │ ├── components/ # Reusable UI components (Buttons, Cards, Modals) │ │ ├── pages/ # Application view pages (Dashboard, Incidents, etc.) │ │ ├── layouts/ # Root & Protected Layout wrappers │ │ ├── hooks/ # Custom React hooks (useAuth, useFetch) │ │ ├── services/ # API service calls (Axios endpoints) │ │ ├── utils/ # Helper functions, formatters, validators │ │ ├── context/ # React Context Providers (AuthContext, ThemeContext) │ │ ├── routes/ # Protected & Public routing definitions │ │ ├── styles/ # Global CSS & Tailwind directives │ │ ├── App.jsx # Core Application Component │ │ └── main.jsx # React DOM entry point │ ├── .env.example # Client environment variable template │ ├── package.json # Frontend dependencies & scripts │ ├── vite.config.js # Vite server configuration │ └── tailwind.config.js # Tailwind CSS design system config ├── server/ # Node.js + Express Backend Application │ ├── src/ │ │ ├── config/ # Database & external service configurations │ │ ├── controllers/ # Request handling logic │ │ ├── middlewares/ # Auth, Error handling, Rate limiting │ │ ├── models/ # Mongoose Database Schemas │ │ ├── routes/ # Express API Route declarations │ │ ├── services/ # Business logic & threat engine services │ │ ├── utils/ # Logger, token generator, custom errors │ │ ├── validators/ # Request validation schemas (express-validator) │ │ ├── app.js # Express application builder │ │ └── server.js # Node HTTP server entry point │ ├── database/ # Seeding scripts & migration helpers │ ├── scripts/ # Maintenance & maintenance utilities │ ├── uploads/ # Local evidence file uploads directory │ ├── .env.example # Server environment variable template │ ├── nodemon.json # Nodemon configuration │ └── package.json # Backend dependencies & scripts ├── docs/ # Comprehensive Architecture & Project Documentation │ ├── ProblemStatement.md # Detailed problem definition & campus scope │ ├── SRS.md # Software Requirements Specification │ ├── Architecture.md # System Architecture & Component Interactions │ ├── API_Documentation.md # REST API endpoint specifications │ ├── DatabaseDesign.md # ER Diagrams, Mongoose models & Schema design │ ├── Workflow.md # Git branching model, CI/CD, & Dev workflows │ ├── Roadmap.md # Version 1 (MVP) through Phase 7 Release Roadmap │ ├── MeetingNotes.md # Architectural Decision Records (ADRs) │ └── assets/screenshots/ # UI wireframes & architectural diagrams ├── .gitignore # Workspace root Git exclusion rules ├── LICENSE # MIT Open Source License └── README.md # Main Project Overview & Setup Guide ``` ## 🔥 核心功能 (MVP 与未来规划) - 🔐 **认证与 RBAC**:安全的基于 JWT 的认证,支持多角色访问(学生、教职工、安全分析师、管理员)。 - 🚨 **事件报告系统**:允许学生和教职工提交安全事件,并支持添加文件证据附件和优先级追踪。 - 🎯 **漏洞评估仪表板**:集中管理校园 Web 资产、已公开的漏洞披露以及补丁状态。 - 🔗 **URL 信誉检测器**:针对已知威胁数据库进行实时的域名/IP 信誉分析。 - 📧 **AI 网络钓鱼检测引擎**:对可疑邮件头和正文进行自然语言处理 (NLP) 与启发式分析。 - 🎓 **安全意识门户**:为校园用户提供交互式模块、测验和意识评分表。 - 📊 **仪表板分析与 PDF 报告**:动态图表展示实时事件趋势,并自动生成 PDF 审计报告。 - 🔔 **通知引擎**:针对严重威胁和事件状态更新发送即时提醒。 ## 🗺️ 项目路线图 - **阶段 1:架构与仓库设置** *(已完成)* - 初始仓库布局、配置文件以及全面的文档套件。 - **阶段 2:认证与核心数据库引擎** - 用户注册/登录、JWT 认证、RBAC 中间件以及 MongoDB Atlas schema。 - **阶段 3:事件报告与工作流管理** - 事件提交门户、状态追踪、管理员分类仪表板、文件附件。 - **阶段 4:漏洞评估引擎** - 校园资产注册表、严重性矩阵、手动与定期的漏洞记录。 - **阶段 5:威胁情报与 URL 信誉** - URL 分析器模块、API 集成(VirusTotal / Google Safe Browsing 模拟)。 - **阶段 6:AI 网络钓鱼检测与安全意识** - 邮件头分析器、网络钓鱼评分计算器、培训门户模块。 - **阶段 7:综合测试与云端部署** - 自动化单元/集成测试、Vercel 前端部署、Render 后端部署。 ## 💻 安装与本地开发 ### 前置条件 - Node.js (`v18.0.0` 或更高版本) - npm (`v9.0.0` 或更高版本) - MongoDB Atlas 账户或本地 MongoDB 实例 ### 快速开始指南 1. **克隆仓库** git clone https://github.com/Veds20/CyberSafeCampus.git cd CyberSafeCampus 2. **配置后端环境** cd server cp .env.example .env npm install *编辑 `server/.env` 以提供你的 `MONGODB_URI` 和 `JWT_SECRET`。* 3. **启动后端服务器** npm run dev *服务器将在 `http://localhost:5000` 运行。* 4. **配置前端环境** cd ../client cp .env.example .env npm install 5. **启动前端开发服务器** npm run dev *客户端应用将在 `http://localhost:5173` 启动。* ## 🤝 未来范围 - **原生 Nmap / Nuclei Agent 集成**:用于自动化网络扫描的后台 daemon。 - **Google OAuth 2.0 集成**:使用机构 Google Workspace 账户 (`@university.edu`) 进行单点登录 (SSO)。 - **SIEM / Syslog 转发**:将日志导出至企业级 SIEM 平台(Splunk, Elastic SIEM)。 - **移动端配套应用**:基于 React Native 的移动应用,用于即时威胁通知和事件报告。 ## 📜 许可证 基于 MIT 许可证分发。查看 [`LICENSE`](file:///C:/Users/Admin/.gemini/antigravity/scratch/CyberSafeCampus/LICENSE) 获取更多信息。 ## 👤 作者与贡献者 - **Veds20** - *首席架构师与全栈开发者* - GitHub: [@Veds20](https://github.com/Veds20)
标签:AES-256, MERN, MITM代理, Streamlit, 威胁情报, 开发者工具, 漏洞评估, 网络安全管理, 自定义脚本, 访问控制, 钓鱼检测