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监控, 安全运维, 无后门, 逆向工具