SuchirBob/SOC-Log-Analyzer-Python

GitHub: SuchirBob/SOC-Log-Analyzer-Python

一款基于 Python 的安全日志分析工具,通过规则引擎解析 Linux 身份验证与 Web 服务器日志,自动检测 SSH 暴力破解、可疑 IP 及目录扫描等常见安全威胁并生成报告。

Stars: 0 | Forks: 0

# SOC 日志分析器 (Python) ## 概述 SOC 分析师将大量时间花在审查日志上,以检测恶意活动。本项目通过识别常见的失陷指标 (IOC) 并生成简单的安全报告,实现了对 Linux 和 Web 服务器日志文件的自动化分析。 该项目展示了基础的蓝队技能,包括日志分析、事件关联、威胁检测和事件报告。 ## 功能 - 分析 Linux 身份验证日志 (`auth.log`) - 分析 Apache/Nginx 访问日志 - 检测 SSH 暴力破解攻击 - 检测频繁的登录失败尝试 - 检测可疑 IP 地址 - 检测频繁的 HTTP 404 请求 - 生成基于终端的安全报告 - 将分析结果导出为文本报告 ## 项目结构 ``` SOC-Log-Analyzer/ │ ├── analyzer.py # Main analysis script ├── parser.py # Log parsing functions ├── detector.py # Detection logic ├── report.py # Report generation ├── utils.py # Helper functions │ ├── logs/ # Sample log files │ ├── auth.log │ ├── access.log │ └── nginx.log │ ├── reports/ # Generated reports │ ├── requirements.txt ├── README.md └── LICENSE ``` ## 环境要求 - Python 3.10+ - Linux(推荐) - Kali Linux(可选) 安装依赖项: ``` pip install -r requirements.txt ``` ## 用法 ``` # 仅分析 auth log python analyzer.py --auth logs/auth.log # 仅分析 web access log python analyzer.py --access logs/access.log # 同时分析两者 python analyzer.py --auth logs/auth.log --access logs/access.log # 选择自定义报告输出路径 python analyzer.py --auth logs/auth.log --out reports/custom_report.txt # 仅输出到终端,跳过保存报告文件 python analyzer.py --auth logs/auth.log --no-save ``` ## 支持的日志类型 ### Linux 身份验证日志 示例: - `/var/log/auth.log` - `/var/log/secure` 检测内容: - 失败的 SSH 登录 - 成功的登录 - 无效用户名 - 暴力破解尝试 ### Web 服务器日志 支持: - Apache 访问日志 - Nginx 访问日志 检测内容: - 频繁的 HTTP 404 错误 - 目录扫描 - 可疑请求 - 单个 IP 的高频请求 ## 检测规则 ### SSH 暴力破解 当检测到来自同一 IP 地址的多次登录失败尝试时触发。 ### 失败登录检测 统计身份验证失败次数并识别可疑的登录活动。 ### Web 扫描 检测对不存在页面的频繁请求(404 错误),这可能表明存在自动化扫描行为。 ### 可疑 IP 检测 突出显示导致大量身份验证失败或 Web 请求的 IP 地址。 ## 输出示例 ``` ========================================== SOC Log Analyzer ========================================== [HIGH] SSH Brute Force Detected IP Address: 192.168.1.15 Failed Attempts: 27 ------------------------------------------ [MEDIUM] Repeated 404 Requests IP Address: 10.0.0.8 404 Errors: 41 ------------------------------------------ Summary High Alerts : 1 Medium Alerts : 1 Low Alerts : 0 Report saved to: reports/report.txt ``` ## 工作流 ``` Log File ↓ Parse Log Entries ↓ Extract Relevant Fields ↓ Apply Detection Rules ↓ Generate Alerts ↓ Display Results ↓ Save Report ``` ## 使用的技术 - Python - 正则表达式 (Regex) - Collections - Datetime - 文件处理 ## 学习目标 本项目帮助我掌握了: - 安全运营中心 (SOC) 工作流 - Linux 身份验证日志 - Apache 和 Nginx 日志格式 - 事件关联 - 威胁检测 - 事件报告 - 使用 Python 进行日志解析 ## 未来改进 - 支持 Windows 事件日志 - 导出 JSON 报告 - 导出 CSV 报告 - 邮件警报 - 风险评分 - 命令行参数 - 实时日志监控 - 集成 YARA 规则 ## 示例日志来源 本项目可以分析以下来源的日志: - Linux `/var/log/auth.log` - Apache `access.log` - Nginx `access.log` - 公开的示例日志数据集 ## 免责声明 本项目仅供教育目的使用。它旨在帮助学生了解安全日志分析和 SOC 工作流。请仅分析您拥有或被授权分析的日志文件。 ## 许可证 本项目基于 MIT 许可证授权。
标签:AMSI绕过, IP 地址批量处理, Python, 威胁检测, 安全运营, 扫描框架, 无后门, 逆向工具