abiramr44/log-analyzer
GitHub: abiramr44/log-analyzer
一款基于 Python 的安全日志分析工具,通过解析 SSH、Nginx 和 Apache 日志自动检测暴力破解与提权行为,并集成 IP 信誉查询生成结构化报告。
Stars: 2 | Forks: 0
# Log Analyzer — SSH 认证日志安全工具
一个基于 Python 的日志分析工具,用于解析认证日志、检测可疑活动、检查 IP 信誉,并生成 TXT 和 JSON 两种格式的结构化安全报告。
## 检测内容
- 暴力破解 SSH 登录尝试以及通过 401/403 状态码触发的 Web 暴力破解
- 通过 sudo 提权至 root
- 按源 IP 统计的失败登录尝试
## 功能
- 多格式日志支持:auth.log、nginx 和 Apache 访问日志
- 基于 browser 的 dashboard UI,用于可视化警报(加载 security_report.json)
- 检测到 HIGH 严重级别警报时的电子邮件提醒
- 命令行参数支持:可分析任意日志文件
- AbuseIPDB 集成:实时 IP 信誉检查
- 双重报告输出:同时生成 .txt 和 .json 报告
- 模块化代码库:parser、detector、reporter 和 reputation 作为独立模块
## 支持的日志格式
- auth.log:SSH 暴力破解、失败登录、sudo 提权
- Nginx 访问日志:401/403 状态码激增检测
- Apache 访问日志:401/403 状态码激增检测
## Dashboard UI
在任何 browser 中打开 dashboard.html 并加载 security_report.json 以可视化查看:
- 按严重程度分类的警报摘要卡片
- 包含源 IP 和时间戳的暴力破解尝试表
- 权限提升事件
- 来自 AbuseIPDB 的 IP 信誉分数
## 电子邮件提醒
在 config.py 中进行配置 — 默认禁用。设置 `EMAIL_ENABLED = True` 并提供 SMTP 凭证,以便在检测到 HIGH 严重级别的事件时接收提醒。
## 项目结构
log-analyzer/
├── analyzer.py # 主入口
├── parser.py # 多格式日志解析模块
├── detector.py # 检测逻辑
├── reporter.py # 报告生成(TXT + JSON)
├── reputation.py # AbuseIPDB IP 信誉检查器
├── notifier.py # 电子邮件提醒模块
├── config.py # 电子邮件和阈值配置
├── dashboard.html # 基于 browser 的警报可视化
├── sample_logs/ # 用于测试的 auth、nginx、apache 示例日志
├── reports/ # 生成的报告在此输出
└── requirements.txt # Python 依赖项
## 用法
python3 analyzer.py
示例:
python3 analyzer.py sample_logs/auth.log
python3 analyzer.py sample_logs/nginx.log
python3 analyzer.py sample_logs/apache.log
## 安装说明
pip install -r requirements.txt
export ABUSEIPDB_API_KEY="your_api_key_here"
在 https://abuseipdb.com 获取免费的 API key
## 检测逻辑
- 暴力破解 (SSH):标记任何有 3 次及以上失败密码尝试的 IP
- 暴力破解 (Web):标记在 nginx/apache 日志中有 3 次及以上 401/403 响应的 IP
- Sudo 提权:标记任何提权至 root 的 sudo 命令
- IP 信誉:向 AbuseIPDB 查询所有被标记 IP 的滥用置信度分数
## 示例输出
[*] Starting log analysis...
[*] Target log file: sample_logs/auth.log
[+] Parsed 12 log entries
[*] Running detections...
[*] Checking IP reputation...
[+] 192.168.1.105 — Score: 0/100 | Reports: 0 | Status: CLEAN
[+] 10.0.0.55 — Score: 0/100 | Reports: 0 | Status: CLEAN
[*] Generating report...
TOTAL ALERTS: 3
## 展现的技能
- 使用 Python 正则表达式进行多格式日志解析(auth、nginx、apache)
- 跨 SSH 和 Web 攻击向量的基于模式的威胁检测
- AbuseIPDB REST API 集成
- 用于安全警报可视化的基于 browser 的 dashboard
- 针对 SOC 工作流的 SMTP 电子邮件提醒
- 双重格式报告生成(TXT + JSON)
- 模块化 Python 架构
- 与 SOC 相关的警报分类逻辑
## 作者
Abiram R — 有志成为 SOC Analyst | ISC2 CC Candidate
GitHub: https://github.com/abiramr44
Medium: https://medium.com/@abiramr44
LinkedIn: https://linkedin.com/in/abiramr44
标签:IP信誉查询, Python, URL发现, 免杀技术, 可视化面板, 多模态安全, 安全检测, 无后门, 暴力破解检测, 红队行动, 逆向工具