hemendran-py/Cloud-Security-Log-Analyzer
GitHub: hemendran-py/Cloud-Security-Log-Analyzer
基于 Python 的 Linux auth.log 安全分析工具,通过规则检测暴力破解和异常 IP 行为并生成告警。
Stars: 1 | Forks: 0
# Security Log Analyzer
一个基于 Python 的网络安全工具,用于分析 Linux 身份验证日志(`auth.log`),通过基于规则的检测来发现潜在的安全威胁,例如暴力破解攻击和异常 IP 行为。
## 🚀 功能
- **日志解析**:使用正则表达式解析 `auth.log` 风格的条目
- **数据提取**:提取时间戳、IP 地址和登录状态
- **安全检测**:
- 暴力破解攻击:同一 IP 在 2 分钟内出现超过 5 次失败的登录尝试
- 异常 IP 行为:同一 IP 在 5 分钟内发出超过 20 个请求
- **告警生成**:生成 SOC 风格的告警
- **输出选项**:在控制台打印告警并保存到文件
- **模块化设计**:代码简洁易读,包含独立的解析、规则和分析模块
## 📁 项目结构
```
security-log-analyzer/
├── analyzer.py # Main script
├── rules.py # Detection logic and SecurityAnalyzer class
├── utils.py # Log parsing utilities
├── logs/
│ └── auth.log # Sample log file
├── requirements.txt # Dependencies
├── alerts.txt # Generated alerts output
└── README.md # This file
```
## 🚀 使用方法
1. 将您的 `auth.log` 文件放置在 `logs/` 目录中,或修改 `analyzer.py` 中的路径
2. 运行分析器:
python analyzer.py
3. 在控制台查看告警,并检查 `alerts.txt` 以获取保存的结果
## 📊 示例输出
```
[ALERT] Possible brute-force attack from 192.168.1.100: 7 failed attempts in 2 minutes
[ALERT] Abnormal IP behavior from 192.168.1.200: 31 requests in 5 minutes
Analysis complete. 39 alerts generated and saved to alerts.txt
```
## 🔍 工作原理
### 1. 日志解析 (`utils.py`)
`parse_log_line()` 函数使用正则表达式提取:
- 时间戳(转换为 datetime)
- IP 地址
- 登录状态(成功/失败)
- 用户名
### 2. 检测规则 (`rules.py`)
`SecurityAnalyzer` 类跟踪:
- 每个 IP 带有时间戳的失败尝试
- 每个 IP 带有时间戳的所有请求
**暴力破解检测**:
- 计算 2 分钟时间窗口内的失败登录次数
- 当检测到超过 5 次失败时触发告警
**异常行为检测**:
- 计算 5 分钟时间窗口内的总请求数
- 当检测到超过 20 个请求时触发告警
### 3. 告警生成 (`analyzer.py`)
- 处理每条日志记录
- 应用检测规则
- 生成格式化的告警
- 输出到控制台和文件
## ⚙️ 自定义
### 调整检测阈值
修改 `rules.py` 中的值:
```
# 更改 brute-force 阈值
if len(recent_fails) > 3: # Instead of 5
# 更改异常行为阈值
if len(recent_requests) > 10: # Instead of 20
```
### 支持不同的日志格式
更新 `utils.py` 中的正则表达式:
```
pattern = r'your_custom_regex_here'
```
### 添加新的检测规则
扩展 `rules.py` 中的 `SecurityAnalyzer` 类:
```
def check_new_rule(self, entry):
# Your detection logic here
pass
```
## 📝 示例日志文件
包含的 `logs/auth.log` 内容包括:
- ✅ 正常的成功登录
- 🚨 模拟的暴力破解攻击(来自同一 IP 的多次失败)
- 🚨 异常流量模式(高请求量)
在此文件上运行分析器以查看实际的检测效果!
## 🔒 安全说明
- **教育目的**:这是一个用于学习的基础的基于规则的分析器
- **生产使用**:在实际部署中请考虑与 SIEM 系统集成
- **日志格式**:实际日志可能有所不同;请根据您的环境调整解析规则
- **不执行任何操作**:此工具仅进行分析和告警,不会进行拦截或响应
- **隐私**:在分析日志时,请确保遵守数据处理策略
## 🤝 贡献
欢迎贡献!请:
1. Fork 该仓库
2. 创建一个特性分支
3. 进行您的更改
4. 如适用,添加测试
5. 提交 pull request
标签:AMSI绕过, auth.log, BlueTeam, DNS枚举, Python, 云计算, 免杀技术, 威胁检测, 子域名枚举, 安全告警, 安全运营, 异常IP检测, 扫描框架, 攻击分析, 无后门, 日志解析, 暴力破解检测, 系统安全, 红队行动, 网络安全, 网络安全工具, 自动化分析, 蓝军工具, 规则引擎, 证书伪造, 跨站脚本, 逆向工具, 隐私保护