TheGhostPacket/security-log-analyzer

GitHub: TheGhostPacket/security-log-analyzer

结合多源威胁情报的 Flask Web 应用,用于自动分析 Apache/Nginx/SSH 日志中的安全威胁并生成可视化报告。

Stars: 0 | Forks: 0

# 🔍 Security Log Analyzer v2.0
![Python](https://img.shields.io/badge/Python-3.9+-blue.svg) ![Flask](https://img.shields.io/badge/Flask-2.3.3-green.svg) ![Status](https://img.shields.io/badge/Status-Live-brightgreen.svg) ![APIs](https://img.shields.io/badge/APIs-4%20Sources-purple.svg) **结合多源威胁情报的高级服务器日志威胁检测** 上传您的 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安全, 后端开发, 威胁情报, 开发者工具, 无后门, 蓝队分析, 逆向工具