NikoloziKhachiashvili/log-forensics

GitHub: NikoloziKhachiashvili/log-forensics

Linux 日志取证 CLI 工具,用于分析 auth.log 和 syslog 文件,检测暴力破解、提权等攻击模式并生成取证报告。

Stars: 1 | Forks: 0

# Linux 日志取证 CLI `log-forensics` 用于分析 Linux `auth.log` 和 syslog 格式的文件,以查找入侵迹象和可疑的管理活动。它能检测暴力破解登录模式、多次失败后的成功访问、异常时段登录、新账户创建、sudo 和 `su` 提权尝试,以及基于防火墙的基础端口扫描特征。 ## 项目结构 - `src/log_forensics/` Python 包和 CLI - `tests/` pytest 测试套件,包含样本驱动覆盖 - `assets/` 合成的 `auth.log` 和 `syslog.log` 测试数据 - `logs/` 在此放置分析人员提供的日志以进行本地运行 - `reports/` 生成的 markdown 报告 ## 安装 ``` python -m pip install -e . ``` 如果您不想进行可编辑安装,可以在直接调用包时设置 `PYTHONPATH=src`。 ## 用法 分析内置的测试数据并将报告写入 `reports/`: ``` $env:PYTHONPATH = "src;.deps" python -m log_forensics.cli analyze assets/auth.log assets/syslog.log --year 2026 ``` 使用您自己的日志: ``` $env:PYTHONPATH = "src;.deps" python -m log_forensics.cli analyze logs/auth.log logs/syslog --report-dir reports --timeline-limit 15 ``` 终端仪表板会显示摘要计数、严重性分布以及按时间排序的可疑事件时间线。一份名为 `forensics_report_20260309_194500.md` 的 markdown 报告将被写入 `reports/`。 ## 检测规则 - 暴力破解攻击:15 分钟内来自同一来源和账户的 5 次失败 SSH 登录 - 疑似入侵:来自同一来源和账户的 3 次近期失败后的成功 SSH 登录 - 异常时段:在 `06:00` 之前或 `22:00` 之后的成功 SSH 登录 - 新用户创建:`useradd` 和 `adduser` 事件 - 权限提升:`sudo` 命令执行、`sudo` 认证失败以及失败的 `su` 尝试 - 端口扫描:2 分钟内来自一个 IP 对不同目标端口的 5 次被阻止的 TCP 探测 ## 输出示例截图 ![Log Forensics Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/aeced83d05093905.png) ## 测试 ``` $env:PYTHONPATH = "src;.deps" python -m pytest ``` pytest 配置启用了对 `log_forensics` 包的覆盖率报告。
标签:Auth.log分析, CSV导出, DevSecOps工具, HTTP/HTTPS抓包, Linux日志分析, Linux服务器安全, PE 加载器, Python安全工具, Syslog分析, 免杀技术, 取证报告生成, 命令行工具(CLI), 安全事件时间线, 安全规则引擎, 异常登录检测, 态势感知, 文档结构分析, 日志分析工具, 日志安全分析, 暴力破解检测, 权限提升监控, 端口扫描检测, 系统取证, 红队行动, 逆向工具, 防御加固