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, 威胁检测, 安全运维, 无后门, 红队行动, 逆向工具