delgadoroberto/log-analyzer
GitHub: delgadoroberto/log-analyzer
一款基于 Python 的轻量级工具,通过解析 Linux SSH 认证日志识别失败登录和潜在的暴力破解活动。
Stars: 0 | Forks: 0
# 🔐 日志分析器
一个基于 Python 的轻量级日志分析工具,旨在从 Linux SSH 日志中识别可疑的身份验证活动。
## 概述
日志分析器通过分析密码失败事件和重复的源 IP 地址,来解析 Linux 身份验证日志并识别潜在的恶意登录尝试。
本项目作为网络安全实践工具创建,旨在演示 SOC 和 Blue Team 环境中常用的基础日志解析、威胁检测和安全自动化概念。
## 功能
- 检测失败的登录尝试
- 统计身份验证失败次数
- 识别重复的源 IP 地址
- 突出显示潜在的暴力破解活动
- 生成基于文本的安全报告
- 如果 reports 目录不存在,则自动创建
## 项目结构
```
log-analyzer/
│
├── analyzer.py
├── sample_logs.txt
├── examples/
│ └── auth.log
├── reports/
│ └── report.txt
├── README.md
├── LICENSE
├── .gitignore
└── requirements.txt
```
## 包含的数据集
### sample_logs.txt
一个用于快速测试和开发的小型合成数据集。
示例:
```
Failed password for root from 192.168.1.10
Failed password for admin from 192.168.1.10
Accepted password for user from 192.168.1.15
Failed password for root from 10.0.0.5
Failed password for root from 192.168.1.10
Failed password for test from 10.0.0.5
```
### examples/auth.log
一个更大、更真实的 Linux 身份验证日志,用于解析器验证和分析练习。
该数据集包含典型的身份验证事件,例如:
- SSH 守护进程启动
- 成功的 SSH 登录
- 失败的 SSH 登录尝试
- PAM 会话事件
- sudo 命令执行
- 用户会话创建和终止
示例:
```
Mar 27 13:08:09 ip-10-77-20-248 sshd[1361]: Accepted publickey for ubuntu from 85.245.107.41 port 54259 ssh2
Mar 27 13:09:37 ip-10-77-20-248 sudo: ubuntu : TTY=pts/0 ; USER=root ; COMMAND=/usr/bin/curl
```
## 用法
克隆仓库:
```
git clone https://github.com/delgadoroberto/log-analyzer.git
cd log-analyzer
```
运行分析器:
```
python3 analyzer.py
```
执行后,将在 `reports/` 目录内生成一份报告。
## 示例输出
```
=== SECURITY LOG ANALYSIS ===
Failed login attempts: 5
Suspicious IPs:
192.168.1.10 -> 3 failed attempts
10.0.0.5 -> 2 failed attempts
```
## 涵盖的安全概念
- Linux 身份验证日志
- 日志分析
- SSH 监控
- 身份验证监控
- 暴力破解攻击检测
- IOC (妥协指标) 识别
- 基础 Blue Team 工作流
- 用于网络安全的 Python 自动化
## 未来改进
- 成功登录跟踪
- SSH 会话统计
- sudo 活动分析
- 最受攻击的用户名
- JSON 报告导出
- CSV 报告导出
- 可配置的检测阈值
- 命令行参数
- 原生支持 `/var/log/auth.log`
- 源 IP 地址的 GeoIP 丰富
### 未来报告示例
```
========================================
SECURITY LOG ANALYSIS REPORT
========================================
Successful SSH logins : 15
Failed SSH logins : 42
Top source IPs
85.245.107.41 : 12 events
192.168.1.10 : 8 events
Sudo executions : 31
Potential brute-force sources
203.0.113.25 : 18 failed attempts
```
## 要求
- Python 3.x
无需外部库。
## 许可证
本项目基于 MIT 许可证授权。有关详细信息,请参阅 `LICENSE` 文件。
## 作者
**Roberto Delgado**
高级网络安全顾问
网络安全 | 漏洞管理 | 云安全 | DevSecOps | 安全工程
标签:Python, SSH监控, 免杀技术, 无后门, 暴力破解检测, 逆向工具