1tnv/soc-log-analyzer
GitHub: 1tnv/soc-log-analyzer
一个基于 Python 的 SOC 日志分析工具,用于解析 Apache 日志并集成威胁情报,实现暴力破解与黑名单等规则检测与告警关联。
Stars: 0 | Forks: 0
# SOC日志分析器
一个检测工程工具,用于解析Apache访问日志、应用SOC风格检测规则、集成威胁情报数据,并生成带有可视化活动报告的高优先级告警。
作为一个展示SOC分析师和Python自动化技能的组合项目。
## 检测内容
| 规则 | 严重性 | 描述 |
|---|---|---|
| 暴力破解 | 高 | 来自同一IP的5次以上失败登录(401) |
| 黑名单命中 | 高 | 来自威胁情报列表中的IP的请求 |
| 高流量 | 中 | 单个IP请求数超过阈值 |
| 流量突增 | 中 | 分钟桶计数为平均值的3倍以上 |
| 关联行为 | 严重 | 同一IP同时出现暴力破解与黑名单命中 |
## 项目结构
```
soc-log-analyzer/
├── main.py # Entry point and orchestration
├── config.py # Thresholds and settings
├── parser_module.py # Apache log parser
├── ti.py # Threat Intelligence loader (cache → API → fallback)
├── detection.py # Detection rules and correlation logic
├── reporter.py # JSON report and activity chart
├── data/
│ ├── access.log # Sample log file
│ └── blacklist_cache.json # Local TI cache (replaces API in dev)
├── output/ # Generated by the tool (gitignored)
│ ├── report.json
│ └── activity.png
├── requirements.txt
└── .gitignore
```
## 快速开始
```
git clone https://github.com/1tnv/soc-log-analyzer
cd soc-log-analyzer
pip install -r requirements.txt
python main.py
```
结果输出至 `output/` 目录:
- `report.json` — 按严重性排序的所有告警
- `activity.png` — 每分钟请求量图表
- `analyzer.log` — 运行日志
## 配置
编辑 `config.py` 以调整检测阈值:
```
FAILED_LOGIN_THRESHOLD = 5 # 401 responses before brute force alert
HIGH_REQUEST_THRESHOLD = 200 # requests/IP before high traffic alert
SPIKE_MULTIPLIER = 3 # how many × average = spike
```
**威胁情报:** 工具优先检查 `data/blacklist_cache.json`。如需使用实时的 AbuseIPDB 数据,请在 `config.py` 中设置 `TI_API_KEY`。结果会自动缓存。
## 示例输入
```
192.168.1.10 - - [10/Oct/2025:13:55:36 +0000] "POST /login HTTP/1.1" 401 128
45.33.32.156 - - [10/Oct/2025:13:56:10 +0000] "GET / HTTP/1.1" 200 1024
45.33.32.156 - - [10/Oct/2025:13:56:12 +0000] "POST /login HTTP/1.1" 401 128
```
## 示例输出(`report.json`)
```
{
"summary": {
"generated_at": "2025-10-10T14:00:00Z",
"total_alerts": 4,
"by_severity": { "CRITICAL": 1, "HIGH": 2, "MEDIUM": 1 }
},
"alerts": [
{
"type": "BLACKLIST_HIT",
"ip": "45.33.32.156",
"requests": 7,
"abuse_confidence": 97,
"country": "US",
"severity": "CRITICAL",
"correlated": true
}
]
}
```
## 技能展示
- **检测工程** — 模块化、基于阈值的规则与关联逻辑
- **威胁情报集成** — API 与本地缓存模式
- **日志解析** — 基于正则的 Apache CLF 解析器,含错误处理
- **Python 安全自动化** — 清晰、类型化、生产级结构的代码
- **数据可视化** — 使用 matplotlib 绘制时间序列活动图表
- **SOC分析师思维** — 严重性分级、告警分级、噪声抑制
## 可能的改进
- 地理IP增强(MaxMind GeoLite2)
- Windows 事件日志解析(EVTX 格式)
- 流式日志支持(tail -f / Kafka)
- Flask 仪表板 UI
- Sigma 规则集成
- 单元测试(pytest)
标签:Apache日志, DNS 反向解析, DNS解析, DNS 解析, IP 地址批量处理, PoC, Python自动化, SOC分析, 后渗透, 告警关联, 威胁情报, 安全运营, 实时处理, 开发者工具, 开发项目, 开源项目, 异常检测, 扫描框架, 数据包嗅探, 数据统计, 暴力破解, 流量突增, 端口扫描, 红队行动, 网络安全, 逆向工具, 隐私保护, 高流量检测, 黑名单命中