tanay0505/LogSentinel

GitHub: tanay0505/LogSentinel

一款基于 Python 的 SOC 风格日志分析器,从 Linux SSH 身份验证日志中检测暴力破解、密码喷洒和账户盗用等威胁并生成风险报告。

Stars: 0 | Forks: 0

# 🛡️ 网络安全日志分析器 一个基于 Python 的安全运营中心 (SOC) 启发式日志分析工具,旨在检测 Linux SSH 身份验证日志中的可疑活动。 该分析器能够解析 Linux 身份验证日志、关联事件、识别攻击模式、计算风险评分,并生成安全报告,以协助进行事件调查和威胁检测。 ## 🚀 功能 ### 🔍 日志分析 * 解析 Linux SSH 身份验证日志 * 提取用户名、源 IP 和时间戳 * 处理失败和成功的登录事件 * 使用时间戳关联事件 ### ⚠️ 威胁检测 #### SSH 暴力破解检测 检测来自同一 IP 地址的多次失败登录尝试。 #### 快速暴力破解检测 检测在 10 秒内发生的 3 次或更多次失败登录尝试。 #### 密码喷洒检测 检测在 30 秒内来自同一 IP 的多个目标用户名。 #### 账户盗用检测 检测在多次失败登录尝试后不久发生的成功登录。 #### IP 黑名单检测 检测源自黑名单中列出的已知恶意 IP 地址的连接。 ## 📊 风险评估 分析器根据检测到的威胁生成动态风险评分。 威胁等级: * 低 * 中 * 高 * 严重 ## 📄 报告 ### JSON 报告生成 生成: ``` reports/auth_20260605_014725.json reports/compromise_20260605_015148.json reports/password_spray_20260605_015201.json reports/brute_force_20260605_015137.json reports/normal_20260605_015157.json ``` ### 攻击摘要 提供包含以下内容的摘要: * 暴力破解攻击 * 快速暴力破解尝试 * 密码喷洒事件 * 被盗用的账户 * 黑名单 IP * 最高风险 IP ## 🎨 用户体验 * 使用 Colorama 实现彩色终端输出 * 命令行界面 (CLI) * 结构化的 SOC 风格报告 ## 🏗️ 项目结构 ``` log-analyzer/ ├── analyzer.py # Entry point — orchestrates the pipeline ├── parser.py # Log parsing and data extraction ├── detector.py # Threat detection and risk scoring ├── reporter.py # Terminal output and report generation ├── blacklist.txt # Known malicious IPs ├── test_analyzer.py # Unit tests (29 tests) ├── .gitignore │ ├── logs/ │ ├── auth.log │ ├── normal.log │ ├── brute_force.log │ ├── password_spray.log │ └── compromise.log │ ├── reports/ │ ├── auth_20260605_014725.json │ ├── brute_force_20260605_015137.json │ ├── compromise_20260605_015148.json │ ├── normal_20260605_015157.json │ └── password_spray_20260605_015201.json │ ├── requirements.txt └── README.md ``` ## 📦 安装 ``` git clone https://github.com//log-analyzer.git cd log-analyzer pip install -r requirements.txt ``` ## ▶️ 用法 分析日志文件: ``` python analyzer.py logs/auth.log ``` 测试单个攻击场景: ``` python analyzer.py logs/normal.log python analyzer.py logs/brute_force.log python analyzer.py logs/password_spray.log python analyzer.py logs/compromise.log ``` ## 🧪 测试 该项目包含 29 个单元测试,涵盖了所有检测规则、解析逻辑和风险评分。 运行完整的测试套件: ``` python -m pytest test_analyzer.py -v ``` 预期输出: ``` 29 passed in 0.04s ``` ### 测试覆盖率 | 模块 | 测试 | |--------|-------| | `parser.py` | 黑名单加载、时间戳解析、日志解析 | | `detector.py` | 暴力破解、快速暴力破解、密码喷洒、账户盗用、黑名单 IP、威胁等级计算 | ## 🚨 检测示例 ``` [HIGH] SSH Brute Force Detected -> 192.168.1.5 [HIGH] Password Spraying Detected -> 45.67.89.10 [CRITICAL] Rapid Brute Force Attack -> 192.168.1.5 [CRITICAL] Possible Account Compromise -> 192.168.1.5 [CRITICAL] Blacklisted IP Detected -> 45.67.89.10 ``` ## 📈 攻击摘要示例 ``` === ATTACK SUMMARY === Brute Force Attacks : 2 Rapid Brute Force : 2 Password Spraying : 1 Compromised Accounts : 1 Blacklisted IPs : 1 Highest Risk IP : 45.67.89.10 ``` ## 🛠️ 使用的技术 * Python * 正则表达式 (Regex) * CSV * JSON * Colorama * Datetime * Unittest * Pytest ## 🎯 展现的技能 * 日志分析 * 威胁检测工程 * 事件关联 * 事件调查 * 安全监控 * Linux 安全 * Python 开发 * SOC 基础 * 风险评估 * 模块化软件设计 * 单元测试 ## 📚 学习成果 该项目帮助加深了对以下方面的理解: * 安全运营中心 (SOC) * 防御性安全 * 事件响应 * 身份验证安全 * 日志关联 * 威胁检测逻辑 * 安全自动化 * 编写可测试的模块化代码 ## 🚀 未来改进 * Flask 仪表盘 * 实时日志监控 * 邮件告警 * Apache/Nginx 日志支持 * 威胁情报集成 * GeoIP 丰富化 * 多源日志关联 * 基于规则的检测引擎
标签:AMSI绕过, Homebrew安装, PB级数据处理, Python, SSH, 威胁检测, 安全运维, 无后门, 红队行动, 逆向工具