TheGhostPacket/security-log-analyzer
GitHub: TheGhostPacket/security-log-analyzer
结合多源威胁情报的 Flask Web 应用,用于自动分析 Apache/Nginx/SSH 日志中的安全威胁并生成可视化报告。
Stars: 0 | Forks: 0
# 🔍 Security Log Analyzer v2.0




**结合多源威胁情报的高级服务器日志威胁检测**
上传您的 Apache、Nginx 或 SSH 日志,利用来自 4 个源的威胁情报,即时识别攻击、可疑 IP 和安全漏洞。
[🚀 **在线演示**](https://security-log-analyzer.onrender.com)
## 🎯 功能简介
上传日志文件 → 我们会分析每一行 → 利用 4 个威胁情报源检查可疑 IP → 您将获得包含可操作建议的全面安全报告。
## 🛡️ 威胁检测
| 类别 | 检测到的威胁 |
|----------|-----------------|
| **注入攻击** | SQL Injection、Command Injection、XXE |
| **跨站攻击** | XSS、Script Injection |
| **文件攻击** | LFI/RFI、Path Traversal、Web Shells |
| **漏洞利用** | Log4Shell、WordPress Exploits |
| **侦查探测** | Port Scanning、Directory Enumeration |
| **身份验证** | Brute Force、Failed Logins |
| **工具** | sqlmap、Nikto、DirBuster、Nmap 检测 |
## 🌐 威胁情报来源
| 来源 | 提供的内容 | 免费额度 |
|--------|-----------------|-----------|
| **AbuseIPDB** | 滥用报告、置信度评分、TOR 检测 | 1,000次/天 |
| **IPInfo** | 地理位置、ISP、组织信息 | 50,000次/月 |
| **Shodan** | 开放端口、漏洞、OS 检测 | 100次/月 |
| **GreyNoise** | 已知扫描器/机器人检测、分类 | 100次/天 |
## ✨ 特性
### 分析
- **📤 文件上传** - 拖放上传最大 20MB 的日志
- **📋 粘贴日志** - 或者直接粘贴内容
- **🔍 多格式支持** - Apache、Nginx、SSH、auth.log
- **⚡ 实时分析** - 即时获取结果
### 情报
- **🌍 IP 地理定位** - 在地图上查看攻击来源
- **📊 滥用评分** - AbuseIPDB 置信度评分
- **🔓 端口扫描** - Shodan 开放端口检测
- **🤖 机器人检测** - GreyNoise 扫描器识别
### 报告
- **📈 可视化图表** - 严重程度分布、每小时活动情况
- **💡 建议** - 可操作的安全建议
- **📥 导出报告** - 下载为 CSV 或 JSON 格式
- **🔎 IP 查询工具** - 手动检查任意 IP
## 🚀 快速开始
### 在本地运行
```
# Clone
git clone https://github.com/TheGhostPacket/security-log-analyzer.git
cd security-log-analyzer
# 安装
pip install -r requirements.txt
# 设置 API keys
export ABUSEIPDB_API_KEY="your_key"
export IPINFO_TOKEN="your_token"
export SHODAN_API_KEY="your_key" # Optional
export GREYNOISE_API_KEY="your_key" # Optional
# 运行
python app.py
```
### 部署到 Render
1. 推送到 GitHub
2. 在 Render 上创建 Web Service
3. 添加环境变量(见下文)
4. 部署!
## 🔑 环境变量
| 变量 | 必需 | 获取来源 |
|----------|----------|-------------|
| `ABUSEIPDB_API_KEY` | ✅ 是 | [abuseipdb.com](https://www.abuseipdb.com) |
| `IPINFO_TOKEN` | ✅ 是 | [ipinfo.io](https://ipinfo.io) |
| `SHODAN_API_KEY` | 可选 | [shodan.io](https://account.shodan.io) |
| `GREYNOISE_API_KEY` | 可选 | [greynoise.io](https://www.greynoise.io) |
该工具在没有 Shodan 和 GreyNoise 的情况下也能运行,但 IP 情报功能将受到限制。
## 📁 支持的日志格式
```
# Apache Combined
192.168.1.1 - - [16/Dec/2025:10:15:32 +0000] "GET /page HTTP/1.1" 200 1234 "-" "Mozilla/5.0"
# Apache Common
192.168.1.1 - - [16/Dec/2025:10:15:32 +0000] "GET /page HTTP/1.1" 200 1234
# Nginx Access
192.168.1.1 - - [16/Dec/2025:10:15:32 +0000] "GET /page HTTP/1.1" 200 1234
# SSH Failed Login
Dec 16 10:15:32 server sshd[1234]: Failed password for admin from 192.168.1.1
```
## 📸 示例输出
```
🚨 CRITICAL THREATS DETECTED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Lines Analyzed: 15,432
Threats Found: 127
Critical: 23
Unique IPs: 342
Brute Force IPs: 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚨 Top Suspicious IP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IP: 185.220.101.45
Location: 🇷🇺 Russia
Abuse Score: 100%
Open Ports: 22, 80, 443
Known Scanner: Yes (Tor Exit Node)
Threats: SQL Injection, Brute Force
💡 Action: Block immediately via firewall
```
## 🎓 展示的技能
本项目展示了:
| 技能 | 实现方式 |
|-------|---------------|
| **安全运营** | 日志分析、威胁检测、事件响应 |
| **威胁情报** | 多源 API 集成、IP 信誉 |
| **模式识别** | 基于 Regex 的攻击检测 |
| **数据可视化** | Chart.js 仪表板 |
| **Python 开发** | Flask、API 集成、数据处理 |
| **Web 开发** | 响应式 UI、实时更新 |
## 📝 API Endpoints
| Endpoint | Method | 描述 |
|----------|--------|-------------|
| `/api/analyze` | POST | 分析日志文件或内容 |
| `/api/check-ip` | POST | 检查单个 IP 地址 |
| `/api/export/csv` | POST | 将结果导出为 CSV |
| `/api/export/json` | POST | 将结果导出为 JSON |
| `/api/sample-logs` | GET | 获取示例日志数据 |
| `/api/status` | GET | 检查 API 连通性 |
## 🔒 隐私
- 日志文件仅在内存中处理
- 服务器上不存储任何日志
- 仅针对可疑的公网 IP 调用 API 进行检查
- 私有/内部 IP 绝不会发送到外部服务
## 👤 作者
**TheGhostPacket**
- 个人主页:[theghostpacket.com](https://theghostpacket.com)
- GitHub:[@TheGhostPacket](https://github.com/TheGhostPacket)
## 📜 许可证
MIT 许可证 - 仅用于教育和授权的安全研究。
*为网络安全社区用 ❤️ 构建*标签:CISA项目, Flask, Python, Web安全, 后端开发, 威胁情报, 开发者工具, 无后门, 蓝队分析, 逆向工具