prkhars/Real-time-mini-siem-project

GitHub: prkhars/Real-time-mini-siem-project

一个基于 Python 构建的轻量级实时 SIEM 仪表板,用于日志监控、攻击检测和告警通知。

Stars: 0 | Forks: 0

# 使用 Python 构建的实时 MINI-SIEM 仪表板 一个轻量级的安全信息和事件管理 (SIEM) 平台,使用 Python、SQLite、Dash 和 Plotly 构建,用于实时日志监控、攻击检测、告警和可视化。 ## 功能 * 实时日志监控 * 暴力破解攻击检测 * 无效用户检测 * 滑动窗口阈值关联 * 基于 SQLite 的日志存储 * 交互式 SOC 风格仪表板 * Slack 告警集成 * 邮件告警集成 * Top 攻击者 IP 追踪 * 实时事件时间线可视化 * 自动刷新仪表板 * 暗色主题 SOC 界面 ## 技术栈 * Python * SQLite * Dash * Plotly * Pandas * Watchdog * Slack Webhooks * SMTP (Gmail) ## 仪表板预览 将截图添加到 `screenshots/` 文件夹中。 示例截图: * 仪表板 UI * 告警信息流 * Slack 告警 * 邮件告警 * 终端监控 ## 安装说明 克隆仓库: ``` git clone https://github.com/YOUR_USERNAME/python-mini-siem.git cd python-mini-siem ``` 安装依赖: ``` pip install -r requirements.txt ``` ## 运行项目 ### 终端 1 — 启动日志解析器 ``` python3 log_parser.py ``` ### 终端 2 — 启动仪表板 ``` python3 dashboard.py ``` 打开浏览器: ``` http://localhost:8050 ``` ## 模拟攻击 ### 暴力破解模拟 ``` for i in {1..10}; do echo "May 28 10:20:00 kali sshd: Failed password for invalid user attacker$i from 192.168.1.50" >> test.log; sleep 1; done ``` ### 无效用户探测 ``` for i in {1..5}; do echo "May 28 10:25:00 kali sshd: Invalid user admin$i from 10.0.0.5" >> test.log; sleep 1; done ``` ## 告警系统 ### 邮件告警 * Gmail SMTP 集成 * 使用应用专用密码 * 可配置的收件人 ### Slack 告警 * Slack Incoming Webhooks * 实时 SOC 通知 ## 检测逻辑 该 SIEM 使用滑动窗口阈值机制: * 60 秒内 5 次登录失败 → 暴力破解告警 * 60 秒内 3 次无效用户尝试 → 无效用户告警 ## 仪表板组件 * KPI 卡片 * 事件时间线 * 事件类型环形图 * Top 源 IP 可视化 * 实时告警信息流 * 实时日志追踪 ## 未来改进 * 机器学习异常检测 * Elasticsearch 集成 * Docker 部署 * 多主机监控 * 威胁情报源 * 基于角色的身份验证 ## 作者 Prkhar Sharma B.Tech CSE (网络安全) Bennett University
标签:Dash, Python, SQLite, 安全告警, 安全运营, 扫描框架, 无后门, 红队行动, 逆向工具