saburovicmuamer96-jpg/SOC-Reporting-Installer
GitHub: saburovicmuamer96-jpg/SOC-Reporting-Installer
一套轻量级的安全运营中心事件报告与威胁情报管理平台,帮助SOC团队实现跨多环境的事件结构化跟踪、CVE管理和运营效能度量。
Stars: 0 | Forks: 0
# SOC 报告系统
一个功能齐全的**安全运营中心 (SOC) 事件报告平台**,专为管理跨多个操作环境的安全事件而构建。专为需要结构化事件跟踪、威胁情报管理和操作指标的 SOC 团队而设计——一切尽在一处。
使用 PHP 8、MariaDB/MySQL 和原生 JavaScript 构建。除数据库外,无需任何框架和依赖项。
## 功能特性
### 事件管理
- **多机器架构** — 跨多达 4 个独立环境跟踪事件,每个环境拥有独立的数据库
- **结构化报告工作流** — 草稿 → 已提交 → 已审查 → 已关闭的生命周期,带有审计跟踪
- **动态表单生成器** — 管理员可为每台机器配置报告字段(无需更改代码)
- **部门状态跟踪** — 将事件标记为已通知或已解决,并附带解决时间戳
- **事件 ID 系统** — 自动生成格式为 `M{machine}-{YYYYMMDD}-{seq}` 的 ID,以便于追溯
### 威胁情报
- **CVE/威胁日志管理** — 跟踪 CVE 及其严重性(严重/高/中/低/信息)、CVSS 评分和受影响的系统
- **状态生命周期** — 新建 → 已通知 → 已修补 → 已缓解 → 已关闭,并带有自动时间戳记录
- **部门通知跟踪** — 记录哪些部门已收到有关各威胁的通知
- **缓解文档** — 记录补救步骤和受影响系统的详细信息
### 操作指标
- **MTTC (平均遏制时间)** — 从事件发生到创建报告的平均时间(按机器统计)
- **MTTR (平均解决时间)** — 从创建报告到解决的平均时间(按机器统计)
- **单机和整体平均值** — 仪表板级别直观展示响应性能
- **今日活动计数器** — 实时统计每台机器今日创建的报告数量
### PDF 导出
- **TCPDF 集成** — 为事件报告和威胁日志提供原生 PDF 生成功能
- **HTML 备用方案** — 未安装 TCPDF 时,提供打印到 PDF 的视图
- **专业排版** — 包含品牌标识、严重性徽章、元数据网格和时间戳的报告
### 管理
- **用户管理** — 基于角色的访问控制(管理员/用户),使用 bcrypt 进行密码哈希处理
- **机器配置** — 命名并配置每个操作环境
- **表单生成器** — 每台机器的拖放式字段配置
- **下拉数据管理** — 集中管理所有表单的下拉选项
- **已删除报告归档** — 带有完整审计跟踪和恢复功能的软删除
- **审计日志** — 每项重要操作均记录用户名和时间戳
### 安全性
- **CSRF 保护** — 所有表单和 API 端点均采用基于令牌的保护
- **预处理语句** — 所有数据库查询均使用参数化 PDO 查询
- **会话管理** — 可配置的会话生命周期、安全标志、HTTP-only Cookie
- **账户锁定** — 多次登录失败后自动锁定(阈值可配置)
- **输入净化** — 所有输出均进行 HTML 实体编码(`e()` 辅助函数)
### UI/UX
- **深色与浅色主题** — 在深色(默认)和 PS1 灰色浅色模式之间切换,状态通过 localStorage 持久化
- **双语支持** — 通过 `label()` 辅助函数全面支持英语/德语
- **响应式设计** — 适配桌面和平板电脑屏幕
- **动画侧边栏** — 带有轨道列车动画的地球仪 Logo
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| 后端 | PHP 8.x (无框架) |
| 数据库 | MariaDB / MySQL (5 个数据库:1 个系统数据库 + 4 个机器数据库) |
| 前端 | 原生 JavaScript, CSS 自定义属性 |
| PDF | TCPDF (可选),带 HTML 备用方案 |
| 认证 | bcrypt, CSRF 令牌, 基于会话 |
| 部署 | Apache/Nginx, 跨平台安装程序 |
## 架构
```
SOC-Reporting/
├── api/ # JSON API endpoints
│ ├── export_pdf.php # Report PDF generation
│ ├── export_threat_pdf.php # Threat log PDF generation
│ ├── update_dept_status.php # Department status AJAX
│ ├── update_threat_status.php # Threat status AJAX
│ ├── reports.php # Report CRUD API
│ └── charts_data.php # Chart data endpoints
├── assets/
│ ├── css/style.css # Theme system (dark/light variables)
│ └── js/ # Frontend scripts
├── config/
│ ├── app.php # Application settings
│ └── database.php.example # Database config template
├── includes/
│ ├── auth.php # Authentication & CSRF
│ ├── db.php # Database abstraction layer
│ ├── helpers.php # Utility functions
│ └── session.php # Session management
├── pages/
│ ├── dashboard.php # Main dashboard with metrics
│ ├── reports_list.php # Report listing with filters
│ ├── report_create.php # Dynamic report form
│ ├── report_view.php # Report detail view
│ ├── threat_logs.php # Threat/CVE listing
│ ├── threat_view.php # Threat detail view
│ ├── threat_create.php # New threat entry
│ ├── charts.php # Analytics charts
│ └── admin/ # Admin panel pages
├── sql/
│ ├── system.sql # System database schema
│ ├── machine_template.sql # Machine database template
│ └── threat_logs.sql # Threat logs table
└── index.php # Router & main layout
```
### 数据库架构
系统使用**多数据库设计**来隔离机器数据:
- `soc_system` — 用户、会话、审计日志、机器配置、表单字段、威胁日志
- `soc_machine_1` 至 `soc_machine_4` — 每个环境的独立报告存储
这种设计允许每个操作环境独立扩展,并提供机器间的数据隔离。
## 安装
### Linux / macOS
```
git clone https://github.com/saburovicmuamer96-jpg/SOC-Reporting-Installer.git
cd SOC-Reporting-Installer
sudo bash install.sh
```
安装程序会自动检测您的发行版并安装 Apache、PHP 和 MariaDB:
- **Ubuntu/Debian** (apt)
- **Fedora** (dnf)
- **CentOS/RHEL** (yum)
- **Arch Linux** (pacman)
- **macOS** (Homebrew)
### Windows
```
Right-click INSTALL.bat → "Run as administrator"
```
自动下载并配置 XAMPP。
### 手动设置
1. 安装 PHP 8.x、MariaDB/MySQL 和 Apache/Nginx
2. 将 `SOC-Reporting/` 复制到您的 Web 根目录
3. 将 `config/database.php.example` 复制为 `config/database.php` 并更新凭据
4. 导入 SQL 架构:`system.sql`、`machine_template.sql`(适用于机器 1-4)、`threat_logs.sql`
5. 打开 `http://localhost/SOC-Reporting/setup.php` 进行验证
6. 使用 `admin` / `Admin@SOC2024` 登录
7. **立即更改密码**
8. 删除 `setup.php`
## 默认凭据
| 账户 | 用户名 | 密码 |
|---------|----------|----------|
| 应用程序 | `admin` | `Admin@SOC2024` |
| 数据库 | `soc_admin` | `SOC_Local_2024!` |
## 服务器管理
```
# Linux/macOS
bash start-server.sh # Start Apache + MariaDB
bash stop-server.sh # Stop services
# Windows
START-SERVER.bat # Start XAMPP services
STOP-SERVER.bat # Stop XAMPP services
```
## 配置
所有配置均位于 `SOC-Reporting/config/` 中:
- **`app.php`** — 会话生命周期、身份验证设置、分页、日期格式、语言
- **`database.php`** — 数据库主机、凭据、字符集(从 `.example` 模板创建)
## 许可证
本项目按原样提供,用于教育和操作用途。
由 [Muamer Saburovic](https://www.hmtech.at) 构建 | [GitHub](https://github.com/saburovicmuamer96-jpg)
标签:CVE管理, ffuf, GPT, IT运维, MariaDB, MTTC, MTTR, PDF导出, PHP 8, Socks5代理, 事件响应系统, 企业管理系统, 多环境管理, 威胁情报, 安全事件管理, 安全报表, 安全运营中心, 工单系统, 平均恢复时间, 平均遏制时间, 库, 应急响应, 开发者工具, 数据可视化, 暗黑模式, 漏洞管理, 网络安全, 网络映射, 网络研究, 运维看板, 隐私保护