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平台, 后端开发, 安全运营, 扫描框架, 数据可视化, 无后门, 自动化响应, 逆向工具