0xTaoZ/authlog-watch
GitHub: 0xTaoZ/authlog-watch
一个用于解析 Linux auth.log 中 SSH 登录事件并生成简明分拣报告的轻量级 Python 学习工具。
Stars: 0 | Forks: 0
# authlog-watch
一个小型 Python 工具,用于审查 Linux SSH 认证日志。
它读取 auth.log 风格的日志行,对常见的 SSH 事件进行分组,并输出简短的分拣报告。其目标是通过简单且能一口气读完的代码,来练习蓝队日志审查。
这是一个学习项目,不能替代 SIEM。
## 快速开始
```
PYTHONPATH=src python3 -m authlog_watch samples/auth.log
```
运行测试:
```
PYTHONPATH=src python3 -m unittest discover -s tests
```
## 示例输出
```
authlog-watch
SSH events parsed: 5
Failed passwords: 2
Invalid users: 2
Accepted passwords: 1
Top failed source IPs
- 198.51.100.10: 2
- 203.0.113.50: 2
Top targeted users
- alice: 2
- admin: 1
- test: 1
```
JSON 输出可用于小型脚本:
```
PYTHONPATH=src python3 -m authlog_watch samples/auth.log --json
```
## 重复失败发现
默认报告会在出现 3 次 SSH 登录失败事件后标记源 IP。在审查简短的实验室日志或嘈杂的生产日志时,可以使用更低
或更高的阈值:
```
PYTHONPATH=src python3 -m authlog_watch samples/auth.log --failed-threshold 2
```
这会在文本报告中添加一个 `Findings` 部分,并在 JSON
输出中添加一个 `findings` 列表。该规则会同时计算普通的密码失败尝试和无效用户尝试。
## 当前计划
- 解析常见的 SSH 登录事件
- 汇总失败的登录来源和目标用户
- 输出文本和 JSON 报告
- 保留用于练习的模拟示例日志
- 标记重复失败的登录来源
- 随着时间推移添加更多 SSH 事件类型
标签:PB级数据处理, Python, SSH监控, 安全运维, 无后门, 逆向工具