Guillermo1987/project-security-log-analysis

GitHub: Guillermo1987/project-security-log-analysis

一个使用 Python 模拟 SIEM 并检测暴力破解与异常的安全日志分析项目。

Stars: 0 | Forks: 0

# 安全日志分析 — SIEM 模拟 [![作品集](https://img.shields.io/badge/Portfolio-proyectos--personales.web.app-60a5fa?style=for-the-badge&logo=firebase&logoColor=white)](https://proyectos-personales.web.app) [![技术栈](https://img.shields.io/badge/Stack-Python%20%C2%B7%20stdlib-3776AB?style=for-the-badge&logo=python&logoColor=white)](.) [![领域](https://img.shields.io/badge/Domain-Cybersecurity%20%C2%B7%20SIEM-16a34a?style=for-the-badge)](.) [![ISC2 CC](https://img.shields.io/badge/Author-ISC2%20CC-0a66c2?style=for-the-badge)](.) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](LICENSE) ## 解决的问题 每台服务器每天都会生成数以千计的日志行;攻击往往隐藏在这些噪音之中。安全运营中心的首要任务是将**原始日志转化为信号**——统计失败的登录、发现暴力破解爆发并对值得封禁的 IP 进行排名。该项目端到端地模拟了这一 pipeline,还原了 SIEM(Splunk、Wazuh、Sentinel)的大规模处理机制。 本项目由持有 **ISC2 Certified in Cybersecurity (CC)** 认证的开发者构建,展示了日志解析、异常检测和威胁报告,且无需任何外部依赖。 ## 工作原理 1. **生成** — `generate_logs.py` 生成包含正常和恶意流量的真实安全日志文件。 2. **解析** — `log_analysis.py` 通过 regex 读取每一行,对事件(如 `LOGIN_FAILED` 等)进行分类。 3. **检测** — 统计失败的登录次数,标记**暴力破解尝试**,并使用 `collections.Counter` 对**最高频的恶意 IP** 进行排名。 4. **报告** — 生成 Markdown 格式的威胁报告(`security_analysis_report.md`)。 | 检测内容 | 方法 | |-----------|--------| | 失败的登录 | 事件分类 | | 暴力破解尝试 | 单个来源的重复失败 | | 排名前列的攻击者 IP | 频率排名(前 5 名) | ## 技术栈 | 层级 | 技术 | |-------|-----------| | 语言 | Python 3.12(仅使用标准库 — `re`, `collections`) | | 输出 | Markdown 威胁报告 | | 领域 | 网络安全 · SIEM · 日志分析 | ## 快速开始 ``` git clone https://github.com/Guillermo1987/project-security-log-analysis.git cd project-security-log-analysis python generate_logs.py # build a sample security log python log_analysis.py # analyze and write security_analysis_report.md ``` 无需第三方依赖。 ## 仓库结构 ``` project-security-log-analysis/ ├── generate_logs.py # synthetic security-log generator ├── log_analysis.py # parser + anomaly detection + report ├── LICENSE # MIT └── README.md ``` ## 许可证与联系方式 基于 **[MIT 许可证](LICENSE)** 发布。 - **作品集:** [proyectos-personales.web.app](https://proyectos-personales.web.app) - **LinkedIn:** [Guillermo Ubeda Garay](https://www.linkedin.com/in/guillermo-ubeda-garay) - **Email:** guille.ubeda.garay@gmail.com # 🇪🇸 Español # Security Log Analysis — SIEM 模拟 ## 解决的问题 每台服务器每天都会生成数以千计的日志行;攻击往往隐藏在这些噪音之中。安全运营中心的首要任务是将**原始日志转化为信号**——统计失败的登录、发现暴力破解爆发并对值得封禁的 IP 进行排名。该项目端到端地模拟了这一 pipeline,还原了 SIEM(Splunk、Wazuh、Sentinel)的大规模处理机制。 本项目由持有 **ISC2 Certified in Cybersecurity (CC)** 认证的开发者构建,展示了日志解析、异常检测和威胁报告,且无需任何外部依赖。 ## 工作原理 1. **生成** — `generate_logs.py` 生成包含正常和恶意流量的真实安全日志文件。 2. **解析** — `log_analysis.py` 通过 regex 读取每一行,对事件(如 `LOGIN_FAILED` 等)进行分类。 3. **检测** — 统计失败的登录次数,标记**暴力破解尝试**,并使用 `collections.Counter` 对**最高频的恶意 IP** 进行排名。 4. **报告** — 生成 Markdown 格式的威胁报告(`security_analysis_report.md`)。 | 检测内容 | 方法 | |-----------|--------| | 失败的登录 | 事件分类 | | 暴力破解尝试 | 单个来源的重复失败 | | 排名前列的攻击者 IP | 频率排名(前 5 名) | ## 技术栈 | 层级 | 技术 | |------|-----------| | 语言 | Python 3.12(仅使用标准库 — `re`, `collections`) | | 输出 | Markdown 威胁报告 | | 领域 | 网络安全 · SIEM · 日志分析 | ## 快速开始 ``` git clone https://github.com/Guillermo1987/project-security-log-analysis.git cd project-security-log-analysis python generate_logs.py # genera un log de seguridad de ejemplo python log_analysis.py # analiza y escribe security_analysis_report.md ``` 无需第三方依赖。 ## 仓库结构 ``` project-security-log-analysis/ ├── generate_logs.py # generador de logs de seguridad sintéticos ├── log_analysis.py # parser + detección de anomalías + informe ├── LICENSE # MIT └── README.md ``` ## 许可证与联系方式 基于 **[MIT 许可证](LICENSE)** 发布。 - **作品集:** [proyectos-personales.web.app](https://proyectos-personales.web.app) - **LinkedIn:** [Guillermo Ubeda Garay](https://www.linkedin.com/in/guillermo-ubeda-garay) - **Email:** guille.ubeda.garay@gmail.com *由 [Guillermo Ubeda](https://github.com/Guillermo1987) 构建 · 数据与 BI 分析师 · MBA · ISC2 CC*
标签:AMSI绕过, PB级数据处理, Python, SIEM, 威胁检测, 安全运维, 异常检测, 无后门, 日志分析