SuchirBob/SOC-Log-Analyzer-Python
GitHub: SuchirBob/SOC-Log-Analyzer-Python
一款基于 Python 的安全日志分析工具,通过规则引擎解析 Linux 身份验证与 Web 服务器日志,自动检测 SSH 暴力破解、可疑 IP 及目录扫描等常见安全威胁并生成报告。
Stars: 0 | Forks: 0
# SOC 日志分析器 (Python)
## 概述
SOC 分析师将大量时间花在审查日志上,以检测恶意活动。本项目通过识别常见的失陷指标 (IOC) 并生成简单的安全报告,实现了对 Linux 和 Web 服务器日志文件的自动化分析。
该项目展示了基础的蓝队技能,包括日志分析、事件关联、威胁检测和事件报告。
## 功能
- 分析 Linux 身份验证日志 (`auth.log`)
- 分析 Apache/Nginx 访问日志
- 检测 SSH 暴力破解攻击
- 检测频繁的登录失败尝试
- 检测可疑 IP 地址
- 检测频繁的 HTTP 404 请求
- 生成基于终端的安全报告
- 将分析结果导出为文本报告
## 项目结构
```
SOC-Log-Analyzer/
│
├── analyzer.py # Main analysis script
├── parser.py # Log parsing functions
├── detector.py # Detection logic
├── report.py # Report generation
├── utils.py # Helper functions
│
├── logs/ # Sample log files
│ ├── auth.log
│ ├── access.log
│ └── nginx.log
│
├── reports/ # Generated reports
│
├── requirements.txt
├── README.md
└── LICENSE
```
## 环境要求
- Python 3.10+
- Linux(推荐)
- Kali Linux(可选)
安装依赖项:
```
pip install -r requirements.txt
```
## 用法
```
# 仅分析 auth log
python analyzer.py --auth logs/auth.log
# 仅分析 web access log
python analyzer.py --access logs/access.log
# 同时分析两者
python analyzer.py --auth logs/auth.log --access logs/access.log
# 选择自定义报告输出路径
python analyzer.py --auth logs/auth.log --out reports/custom_report.txt
# 仅输出到终端,跳过保存报告文件
python analyzer.py --auth logs/auth.log --no-save
```
## 支持的日志类型
### Linux 身份验证日志
示例:
- `/var/log/auth.log`
- `/var/log/secure`
检测内容:
- 失败的 SSH 登录
- 成功的登录
- 无效用户名
- 暴力破解尝试
### Web 服务器日志
支持:
- Apache 访问日志
- Nginx 访问日志
检测内容:
- 频繁的 HTTP 404 错误
- 目录扫描
- 可疑请求
- 单个 IP 的高频请求
## 检测规则
### SSH 暴力破解
当检测到来自同一 IP 地址的多次登录失败尝试时触发。
### 失败登录检测
统计身份验证失败次数并识别可疑的登录活动。
### Web 扫描
检测对不存在页面的频繁请求(404 错误),这可能表明存在自动化扫描行为。
### 可疑 IP 检测
突出显示导致大量身份验证失败或 Web 请求的 IP 地址。
## 输出示例
```
==========================================
SOC Log Analyzer
==========================================
[HIGH]
SSH Brute Force Detected
IP Address:
192.168.1.15
Failed Attempts:
27
------------------------------------------
[MEDIUM]
Repeated 404 Requests
IP Address:
10.0.0.8
404 Errors:
41
------------------------------------------
Summary
High Alerts : 1
Medium Alerts : 1
Low Alerts : 0
Report saved to:
reports/report.txt
```
## 工作流
```
Log File
↓
Parse Log Entries
↓
Extract Relevant Fields
↓
Apply Detection Rules
↓
Generate Alerts
↓
Display Results
↓
Save Report
```
## 使用的技术
- Python
- 正则表达式 (Regex)
- Collections
- Datetime
- 文件处理
## 学习目标
本项目帮助我掌握了:
- 安全运营中心 (SOC) 工作流
- Linux 身份验证日志
- Apache 和 Nginx 日志格式
- 事件关联
- 威胁检测
- 事件报告
- 使用 Python 进行日志解析
## 未来改进
- 支持 Windows 事件日志
- 导出 JSON 报告
- 导出 CSV 报告
- 邮件警报
- 风险评分
- 命令行参数
- 实时日志监控
- 集成 YARA 规则
## 示例日志来源
本项目可以分析以下来源的日志:
- Linux `/var/log/auth.log`
- Apache `access.log`
- Nginx `access.log`
- 公开的示例日志数据集
## 免责声明
本项目仅供教育目的使用。它旨在帮助学生了解安全日志分析和 SOC 工作流。请仅分析您拥有或被授权分析的日志文件。
## 许可证
本项目基于 MIT 许可证授权。
标签:AMSI绕过, IP 地址批量处理, Python, 威胁检测, 安全运营, 扫描框架, 无后门, 逆向工具