yugg755i/log-analyzer
GitHub: yugg755i/log-analyzer
基于 Python 和 Flask 的 SOC 日志分析工具,解析 SSH 认证日志并检测暴力破解,结合 AbuseIPDB 进行威胁情报充实。
Stars: 0 | Forks: 0



# 日志分析器
一个基于 Python 的 SOC 日志分析工具,能够解析 SSH 身份验证日志,检测暴力破解活动,使用 AbuseIPDB 充实公网 IP 信息,并通过 CLI 和 Flask 仪表板展示分析结果。
本项目作为作品集项目开发,旨在真实 SOC 环境中实践日志解析、检测工程和威胁情报工作流程。
## 功能
- SSH 身份验证日志解析
- 暴力破解检测
- AbuseIPDB 威胁情报充实
- SQLite 告警存储
- CSV 和 JSON 导出
- 基于文本的调查报告
- Flask 仪表板
- 按 IP 和用户名搜索
## 截图
### 仪表板

### 搜索界面

### CLI 使用

## 设置
```
git clone https://github.com/yugg755i/log-analyzer.git
cd log-analyzer
pip install -r requirements.txt
```
创建一个 `.env` 文件并填入你的 AbuseIPDB 密钥:
```
ABUSEIPDB_API_KEY=your_key_here
```
将 SSH 身份验证日志(`.log` 文件)放入 `logs/` 目录中。
## 项目结构
```
log-analyzer/
├── app.py # Flask dashboard entry point
├── requirements.txt
├── README.md
├── config/
├── logs/
│ └── auth.log # sample SSH authentication log
├── src/
│ ├── __init__.py
│ ├── parser.py # log parsing and timestamp normalization
│ ├── detector.py # brute-force detection and IP analysis
│ ├── enrichment.py # AbuseIPDB threat intelligence enrichment
│ ├── reporter.py # report generation and JSON export
│ ├── database.py # SQLite storage, search, and CSV export
│ ├── pipeline.py # log processing workflow
│ ├── utils.py # log file discovery utilities
│ └── main.py # CLI entry point
├── templates/
│ ├── dashboard.html # dashboard page
│ └── search.html # search page
├── static/
│ └── style.css # dashboard styling
├── screenshots/ # README screenshots
├── data/ # generated output files
└── tests/
```
## CLI 使用
```
# 显示主要攻击 IPs
python src/main.py --top-ips
# 检测 brute-force 活动
python src/main.py --bruteforce
# 对照 AbuseIPDB 检查 IPs 并显示恶意警报
python src/main.py --malicious-alerts
# 将警报导出至 CSV
python src/main.py --export-csv
# 生成完整调查报告
python src/main.py --report
```
## 仪表板
```
python app.py
```
在 `http://localhost:5000` 打开。显示实时告警统计、带有尝试次数条形图的顶级源 IP、完整告警日志以及 IP/用户名搜索页面。
## 技术栈
- Python 3
- Flask
- SQLite
- Requests
- python-dotenv
- AbuseIPDB API
## 示例输出
```
LOG ANALYZER REPORT
Generated: 2026-06-09 15:34:07
SUMMARY
-------
Total Alerts Parsed: 75
Unique Source IPs: 32
Potential Brute Force Sources: 3
Malicious IPs Identified: 2
TOP SOURCE IPS
--------------
45.155.205.233 : 20 attempts
185.220.101.45 : 15 attempts
91.92.109.126 : 10 attempts
```
标签:Flask, SQLite, 免杀技术, 威胁情报, 字符串匹配, 安全运营中心, 开发者工具, 暴力破解检测, 红队行动, 网络映射, 逆向工具