prajakta-89/Cyber-Shield-SOC

GitHub: prajakta-89/Cyber-Shield-SOC

一个基于 Python 和 Streamlit 构建的企业级安全运营中心平台,通过规则引擎实时监控日志并计算动态风险评分,实现威胁检测与可视化分析。

Stars: 1 | Forks: 0

# Cyber-Shield-SOC CyberShield Analytics 是一个使用 Python、MySQL 和 Streamlit 开发的企业级安全运营中心(SOC)平台。该平台监控系统日志和模拟的网络流量,使用基于规则的检测引擎识别恶意活动,计算动态风险评分,并将威胁情报存储在 MySQL 数据库中。

## 核心功能: - 实时日志监控:自动扫描服务器日志,查找如 "FAILED" 或 "ATTACK" 等关键词。 - 动态风险评分:根据事件严重程度和资产关键性计算威胁等级。 - 交互式仪表板:使用 Plotly 图表显示警报总数、独立攻击者数量和威胁分布情况。 - 数据库集成:将所有事件数据安全地存储在 MySQL 数据库中,以实现长期审计跟踪。 ## 技术栈 - 前端:Streamlit (Python) - 后端:Python 3.x - 数据库:MySQL - 开发环境:VS Code ## 如何运行系统 ### 1. 设置数据库 - 打开你的 MySQL Workbench。 - 创建一个 cyber_security_db 数据库 - 运行提供的 cyber_security_db.sql 来创建表并存储数据 ### 3. 安装依赖 ``` pip install streamlit mysql-connector-python plotly pandas ``` ### 4. 运行检测器 打开终端并启动监控日志的后台脚本: ``` python detector.py ``` ### 5. 启动仪表板 打开第二个终端并运行 UI: ``` streamlit run ap.py ``` ### 6. 工作原理(逻辑)检测: detector.py 脚本充当“监控器”。它保持活动状态(使用 while 循环),每隔几秒读取一次 server_access.log 文件。 分析:当发现威胁时,它会使用以下公式计算风险评分: ``` Risk Score = Severity * Asset Criticality ``` 存储:该脚本使用 mysql-connector 将威胁详情(IP、类型、时间戳)INSERT 到你的数据库中。 可视化:Streamlit 的 app.py 会查询数据库,并将这些原始数据行转化为美观且易于阅读的图表。 ### 7. 结果网格 - result_grid1

- result_grid2

标签:Kubernetes, Python, Streamlit, 威胁情报, 安全仪表盘, 安全运营中心, 开发者工具, 无后门, 网络映射, 访问控制, 逆向工具, 风险评分