rafaeldev-ops/GS-Laboratorio-SIEM

GitHub: rafaeldev-ops/GS-Laboratorio-SIEM

SecuraPy 是一个基于 Python 的简易 SIEM 系统,用于安全事件检测和日志分析。

Stars: 1 | Forks: 0

# SecuraPy — 简化版 SIEM ![Python](https://img.shields.io/badge/Python-3.8%2B-blue?logo=python) ![许可](https://img.shields.io/badge/License-MIT-green) ![FIAP](https://img.shields.io/badge/FIAP-Coding%20for%20Security-red) ![状态](https://img.shields.io/badge/Status-Funcional-brightgreen) ## 英文概述 **SecuraPy** 是一个完全用 Python 编写的教育级 SIEM(安全信息和事件管理)系统,作为大学“安全编码”课程的项目。它实时收集、分析和关联多个日志源的安全事件,检测如下攻击: - SSH/认证的暴力破解 - 通过防火墙分析进行的端口扫描 - 已知的黑名单 IP - Web 攻击 — 路径遍历、XSS、SQLi、Nikto/sqlmap/DirBuster 扫描器 **展示的技能:** Python、TCP 套接字、多线程、日志解析、JSON 驱动的规则引擎、REST API 消费、威胁关联、错误处理、模块化架构。 ## 描述 **SecuraPy** 实时收集、分析并关联多个日志源的安全事件,检测如下攻击: - **暴力破解** 在 SSH/认证中 - **端口扫描** 通过防火墙分析 - **黑名单中的 IP** 已知 - **Web 攻击** — 路径遍历、XSS、SQLi、Reconnaissance 扫描器 ## 🏗️ 架构 ``` flowchart LR subgraph Fontes["📂 Fontes de Log"] A[auth.log] B[firewall.log] C[web_access.log] end subgraph Core["🧠 Motor SecuraPy"] D[coletor.py\nNormalização] E[regras.py\nMotor de Regras JSON] F[detector.py\nCorrelação de Ameaças] G[enriquecimento.py\nGeo IP + Cache] end subgraph Saida["📤 Saídas"] H[servidor_alertas.py\nTCP Broadcast] I[relatorios.py\nDashboard + JSON] end A & B & C --> D D --> E --> F --> G G --> H & I H --> J[cliente_alertas.py] ``` ## 项目结构 ``` GS-Laboratorio-SIEM/ ├── main.py # Ponto de entrada e orquestração ├── coletor.py # Módulo 1: Coleta e normalização de logs ├── regras.py # Módulo 2: Motor de regras configurável ├── detector.py # Módulo 3: Correlação e detecção ├── servidor_alertas.py # Módulo 4: Servidor TCP de alertas ├── cliente_alertas.py # Módulo 4: Cliente TCP de alertas ├── enriquecimento.py # Módulo 5: Geolocalização de IPs ├── relatorios.py # Módulo 6: Dashboard e exportação ├── config/ │ └── regras.json # Regras de detecção R001–R005 (editável) ├── logs/ │ ├── auth.log # Logs de autenticação (SSH, sudo) │ ├── firewall.log # Logs de firewall (UFW/iptables) │ └── web_access.log # Logs de acesso web (Apache/Nginx) ├── saida/ # Relatórios JSON exportados (no .gitignore) ├── requirements.txt ├── .gitignore └── LICENSE ``` ## 快速开始 ### 预先要求 - Python 3.8+ - pip ### 安装 ``` git clone https://github.com/rafaeldev-ops/GS-Laboratorio-SIEM.git cd GS-Laboratorio-SIEM pip install -r requirements.txt ``` ### 执行 ``` # 系统主界面(分析+仪表盘) python main.py # TCP警报服务器(终端1) python servidor_alertas.py # 警报客户端(终端2) python cliente_alertas.py ``` ## MITRE ATT&CK 检测和映射 | 规则 | 名称 | ATT&CK 技术名称 | 战术 | 严重性 | |-------|------|---------------|--------|------------| | R001 | 用户登录 | [T1078](https://attack.mitre.org/techniques/T1078/) – Valid Accounts / [T1110](https://attack.mitre.org/techniques/T1110/) – Brute Force | 初始访问 / 凭据访问 | 🔴 高 | | R002 | 访问关键端口 | [T1046](https://attack.mitre.org/techniques/T1046/) – Network Service Discovery | 发现 | 🟡 中 | | R003 | 路径遍历 | [T1190](https://attack.mitre.org/techniques/T1190/) – Exploit Public-Facing Application | 初始访问 | 🔴 高 | | R004 | Web 请求中的 XSS | [T1190](https://attack.mitre.org/techniques/T1190/) – Exploit Public-Facing Application | 初始访问 | 🟡 中 | | R005 | Web 识别(扫描器) | [T1595](https://attack.mitre.org/techniques/T1595/) – Active Scanning | 侦察 | 🟡 中 | | — | 关联:暴力破解 | [T1110.001](https://attack.mitre.org/techniques/T1110/001/) – Password Guessing | 凭据访问 | 🔴 高 | | — | 关联:端口扫描 | [T1046](https://attack.mitre.org/techniques/T1046/) – Network Service Discovery | 发现 | 🔴 高 | | — | 黑名单 IP | [T1090](https://attack.mitre.org/techniques/T1090/) – Proxy (Tor Exit Node) | 命令和控制 | 🔴 高 | ## 示例数据 `logs/` 目录中的文件包含用于演示的逼真合成数据: | 来源 | 内容 | |-------|----------| | `auth.log` | 暴力破解 SSH 对 root/admin,合法登录 | | `firewall.log` | 端口扫描关键端口,黑名单流量被阻止 | | `web_access.log` | 路径遍历、XSS、SQLi、Nikto/sqlmap/DirBuster 扫描器 | **模拟 IP:** | IP | 模拟来源 | |----|----------------| | `185.220.101.1` | Tor 出口节点(块 185.220.101.x/DE) | | `45.33.32.156` | 识别主机(参考:scanme.nmap.org) | | `91.240.118.172` | 有历史扫描记录的主机 | | `23.94.5.100` | 与垃圾邮件/扫描活动相关的宿主 | ## 配置规则 编辑 `config/regras.json` 以自定义检测,无需修改代码: ``` { "id": "R002", "nome": "Acesso a Porta Crítica", "condicao": "porta_critica", "portas": [22, 23, 445, 3389, 3306, 5432, 1433], "severidade": "media" } ``` ## 已知限制 - **警报服务器监听 `0.0.0.0:9999` 无认证** — 适用于本地实验室;不要在生产环境中暴露,除非添加 TLS 和认证。 - **ipinfo.io 的速率限制** — IP 富化模块使用 backoff 处理 HTTP 429 错误,但免费计划每月有 50k 请求限制。使用 `IPINFO_TOKEN` 变量替换为付费计划。 - **教育性重实现** — 此项目从零开始重实现了 SIEM 的概念。它不是 Wazuh、Elastic SIEM 或 Splunk 等企业解决方案的替代品。 ## 许可证 在 MIT 许可证下分发。有关详细信息,请参阅 [`LICENSE`](LICENSE)。
标签:BurpSuite集成, CISA项目, FIAP认证, Homebrew安装, JSON配置, PoC, Python, REST API, TCP通信, Web攻击, 威胁情报, 安全信息管理, 安全编码, 开发者工具, 教育项目, 数据统计, 文档安全, 无后门, 暴力破解, 模块化架构, 端口扫描, 自动化分析, 跨站脚本, 路径遍历, 逆向工具, 黑名单检测