GoldenLazer/log_analyzer

GitHub: GoldenLazer/log_analyzer

一款零依赖的实时 Linux 日志监控工具,通过分析 auth.log 检测 SSH 攻击、权限提升和可疑系统活动。

Stars: 0 | Forks: 0

# log_analyzer 实时 Linux 日志监控工具,用于检测暴力破解攻击、权限提升和可疑系统活动 —— 旨在保护我自己的机器。 # Log Analyzer 🔍 一款实时 Linux 日志监控工具,用于监控系统日志中的可疑活动,并在检测到潜在威胁时立即触发警报。旨在防止 Linux 系统上的未授权访问、权限提升和恶意活动。 ## 开发动机 几个月前,我注意到我的笔记本电脑运行异常缓慢,而且有些设置以我不记得的方式被更改了。我不知道是否有人访问了我的机器,是否在我不知情的情况下安装了什么,或者这只是巧合。我无法知道实际发生了什么,因为我当时没有记录任何日志。 ## 检测内容 ### SSH 攻击 - 暴力破解登录尝试(可配置阈值) - 失败尝试后的成功登录 —— 可能是成功的暴力破解 - 无效用户名登录尝试 - Root 登录尝试 - 认证在会话中途被放弃 ### 账户与认证活动 - 正在创建的新用户账户 - 用户被添加到 sudo 组 - 失败和成功的 su 到 root - PAM 认证失败 - 密码更改 ### 权限提升 - 敏感 sudo 命令(passwd、shadow 文件访问等) - 重复的 sudo 认证失败 - 非 sudoers 用户的未授权 sudo 尝试 - Sudo root 会话被打开 ### 系统与服务事件 - 服务崩溃和段错误 (segfaults) - 服务启动失败 - 内存不足 (OOM) 杀手被触发 - 可疑的 cron 任务(wget、curl、反向 shell) - 防火墙规则更改 - 新 USB 设备连接 - 系统重启 ## 工作原理 该工具使用 Python 的文件寻址功能实时追踪 `/var/log/auth.log`。 日志中出现的每一行新内容都会经过四个检测器模块,每个模块专门针对不同的威胁类别。如果某一行匹配已知的可疑模式,警报会立即打印到终端并写入带有时间戳的日志文件。 ``` [2026-02-27 19:21:00] BRUTE FORCE DETECTED — 3 failed login attempts from 192.168.1.100 (user: root) [2026-02-27 19:21:03] SUCCESSFUL LOGIN after 3 failed attempts — IP: 192.168.1.100 — possible successful brute force [2026-02-27 19:21:07] SENSITIVE SUDO COMMAND — user: unknown ran: /bin/cat /etc/shadow ``` ## 安装 ``` git clone https://github.com/GoldenLazer/log_analyzer.git cd log_analyzer ``` 无外部依赖 —— 仅使用 Python 3 标准库。 ## 用法 ``` # 监控默认 auth log sudo python3 main.py # 监控指定日志文件 sudo python3 main.py --log /var/log/syslog # 将用户添加到 adm 组以运行无需 sudo sudo usermod -aG adm $USER python3 main.py ``` ## 测试 模拟可疑活动以验证工具是否正常工作: ``` # 触发暴力破解检测 ssh wronguser@localhost # enter wrong password 3 times # 触发 sudo 警报 sudo cat /etc/shadow # 触发无效用户警报 ssh fakeuser@localhost ``` ## 项目结构 ``` log_analyzer/ ├── main.py # entry point, watches logs in real time ├── config.json # thresholds and settings ├── detectors/ │ ├── ssh.py # brute force and SSH attack detection │ ├── auth.py # account and authentication monitoring │ ├── sudo_check.py # privilege escalation detection │ └── services.py # service and system event monitoring └── logs/ └── alerts.log # timestamped record of all alerts ``` ## 需求 - Python 3.x - Linux (Ubuntu/Debian) - 对 /var/log/auth.log 的读取权限
标签:CSV导出, DevSecOps, Python, SQL, SSH暴力破解, syslog, 上游代理, 协议分析, 威胁情报, 实时分析, 开发者工具, 异常检测, 无后门, 服务器防护, 权限提升, 系统审计, 结构化查询, 网络安全, 自动化安全, 隐私保护