dhillon65/security-orchestration-platform
GitHub: dhillon65/security-orchestration-platform
基于 Python Flask 构建的轻量级 SOAR 平台,通过工作流引擎和剧本自动化处理安全告警,并提供集中化 SOC 仪表板进行监控。
Stars: 0 | Forks: 0
# 安全编排平台
一个使用 Python、Flask、Bootstrap 和 JavaScript 构建的现代安全编排、自动化与响应(SOAR)平台。该平台通过集中的安全运营中心(SOC)仪表板,自动化处理安全告警、执行工作流、管理剧本以及进行响应操作。
## 概述
安全团队通常会从 IDS、SIEM、防火墙和终端保护平台等安全工具接收到海量的告警。本项目展示了如何使用预定义的工作流和剧本,通过 SOAR 平台自动化处理重复性的事件响应任务。
该平台接收告警,识别匹配的工作流,执行自动化的响应操作,记录活动日志,并提供一个集中化的仪表板用于监控安全运营。
## 功能
### 告警管理
* 接收并存储安全告警
* 通过 REST API 和仪表板查看告警
* 跟踪告警状态和严重程度
* 告警历史管理
### 工作流引擎
* 事件驱动的工作流执行
* 自动化剧本匹配
* 动态操作执行
* 工作流统计跟踪
### 自动化响应操作
* IP 信誉查询(模拟)
* IP 封锁(模拟)
* 事件创建
* 分析师通知
* 主机隔离(模拟)
* 制品收集(模拟)
### 操作日志
* 完整的操作执行历史
* 响应审计追踪
* 工作流执行记录
### SOC 仪表板
* 深色主题的企业级仪表板
* KPI 卡片
* 告警监控
* 工作流监控
* 操作时间轴
* 安全指标可视化
* 响应式 UI
### REST API
* 告警 API
* 工作流 API
* 操作 API
## 项目结构
```
security-orchestration-platform/
│
├── app.py
├── requirements.txt
├── README.md
├── .gitignore
│
├── data/
│ ├── alerts.json
│ ├── workflows.json
│ └── actions_log.json
│
├── orchestrator/
│ ├── __init__.py
│ ├── workflow_engine.py
│ ├── alert_manager.py
│ ├── action_executor.py
│ ├── playbook_manager.py
│ └── logger.py
│
├── api/
│ ├── alerts_api.py
│ ├── workflows_api.py
│ └── actions_api.py
│
├── templates/
│ ├── base.html
│ ├── dashboard.html
│ ├── alerts.html
│ ├── workflows.html
│ └── actions.html
│
├── static/
│ ├── css/
│ │ └── style.css
│ └── js/
│ ├── dashboard.js
│ ├── alerts.js
│ ├── workflows.js
│ └── actions.js
│
├── tests/
│ ├── test_alerts.py
│ └── test_workflows.py
```
## 技术栈
### 后端
* Python
* Flask
### 前端
* HTML5
* Bootstrap 5
* JavaScript
* Font Awesome
* Chart.js
### 存储
* 基于 JSON 的存储
### 测试
* PyTest
## 安装说明
### 克隆仓库
```
git clone https://github.com/dhillon65/security-orchestration-platform.git
cd security-orchestration-platform
```
### 创建虚拟环境
```
python -m venv venv
```
### 激活环境
Windows:
```
venv\Scripts\activate
```
Linux / Mac:
```
source venv/bin/activate
```
### 安装依赖
```
pip install -r requirements.txt
```
### 运行应用
```
python app.py
```
应用 URL:
```
http://127.0.0.1:5000
```
## 工作流示例
### 接收告警
```
{
"alert_id": "ALT-001",
"source": "Suricata",
"severity": "High",
"event": "SSH Brute Force",
"ip": "192.168.1.100",
"status": "Open"
}
```
### 触发工作流
```
{
"name": "SSH Brute Force Response",
"trigger": "SSH Brute Force",
"actions": [
"ip_lookup",
"block_ip",
"create_incident",
"notify"
]
}
```
### 自动化响应
```
{
"alert_id": "ALT-001",
"workflow": "SSH Brute Force Response",
"actions_executed": [
"ip_lookup",
"block_ip",
"create_incident",
"notify"
],
"status": "Completed"
}
```
## API 文档
### 告警
#### 获取所有告警
```
GET /api/alerts/
```
#### 创建告警
```
POST /api/alerts/
```
#### 删除告警
```
DELETE /api/alerts/
```
### 工作流
#### 获取工作流
```
GET /api/workflows/
```
#### 创建工作流
```
POST /api/workflows/
```
### 操作
#### 获取操作日志
```
GET /api/actions/
```
## 测试
运行测试请使用:
```
pytest
```
预期输出:
```
2 passed
```
## 未来增强
### 安全特性
* 基于角色的访问控制(RBAC)
* 用户认证
* JWT 认证
* 审计日志
* 多租户支持
### SOAR 特性
* 事件管理
* 案例管理
* 审批工作流
* 分析师笔记
* 威胁狩猎仪表板
### 集成
* Splunk
* Wazuh
* Suricata
* VirusTotal
* AbuseIPDB
* TheHive
* MISP
### 监控
* 实时 WebSockets
* 实时告警流
* 电子邮件通知
* Slack 通知
* Microsoft Teams 集成
## 学习成果
本项目展示了:
* 安全运营中心(SOC)概念
* 安全编排与自动化(SOAR)
* 事件响应工作流
* 剧本开发
* Flask API 开发
* 前端仪表板开发
* 网络安全自动化
* 安全监控架构
## 作者
Satnam Singh
网络安全爱好者 | SOC 分析师候选人 | Python 开发者
## 许可证
本项目基于 MIT 许可证授权。
标签:Flask, Python, SOAR, Web平台, 后端开发, 安全运营, 扫描框架, 数据可视化, 无后门, 自动化响应, 逆向工具