tdiprima/LogHawk

GitHub: tdiprima/LogHawk

LogHawk 是一个面向小型 Linux 服务器集群的轻量级安全日志收集与实时告警工具包,填补了原始日志与重量级 SIEM 之间的空白。

Stars: 0 | Forks: 0

# LogHawk 🦅 LogHawk 是一个轻量级的 Linux 安全可观测性工具包,用于在小型服务器集群中收集、搜索系统日志并发出告警。 它使用带有双向 TLS 的 `rsyslog` 将日志从受监控的服务器转发到中央收集器,然后为实时告警、事件调查、流水线健康检查以及 AI 就绪的事件导出提供实用工具。 ## 为什么会有这个项目 LogHawk 专为以下环境而构建:完整的 SIEM 平台过于笨重,但仅靠原始的 SSH 访问和分散的 `/var/log` 文件又无法满足需求。 它演示了: - 通过 rsyslog 基于 TLS 的安全集中式日志收集 - 跨 Ubuntu/Debian 和 RHEL 系列系统的 Linux 运维操作 - 针对身份验证、sudo、内核、cron、auditd 和服务事件的安全聚焦检测 - 轻量级、低依赖的 Python 和 Bash 工具 - 运维优化:安装程序、systemd 服务文件、配置加载、日志轮转和健康检查 ## 功能特性 - 🔐 从代理到中央收集器的 mTLS 日志转发 - 按 agent 主机名存储在 `/var/log/remote//` 下的远程日志 - 具有严重性级别和重复抑制功能的实时告警 - 通过本地邮件传输代理发送的可选电子邮件告警 - 面向下游工具的 JSONL 告警输出 - 用于常见调查的搜索快捷方式 - 用于检测缺失或停滞日志的流水线时效性检查 - AI 导出工具,可将可疑日志活动转换为结构化 JSON 或可直接粘贴的 LLM 提示词 ## 仓库结构 ``` central/ Collector setup, rsyslog receiver config, and certificate helpers agent/ Agent installer and rsyslog forwarding config tools/ Alerting, search, export, config, daemon, and pipeline utilities ``` ## 系统要求 - 带有 `systemd` 的 Linux 主机 - `rsyslog` - 用于生成证书的 `openssl` - Python 3.9+ - 目标主机上具备 `apt`、`dnf` 或 `yum` Python 工具仅使用标准库。 ## 快速入门 生成私有 CA、服务器证书和客户端证书: ``` ./central/generate-certs.sh \ --server-name log-server.example.com \ --server-address 10.0.0.10 \ --client-name web-01 \ --client-name db-01 ``` 将证书复制到收集器和代理节点: ``` ./central/copy-certs.sh log-server.example.com --role collector ./central/copy-certs.sh web-01 --role agent --client-name web-01 ``` 安装中央收集器: ``` sudo ./central/install-central.sh --allow-from 10.0.0.0/24 ``` 在每台受监控的服务器上安装代理: ``` sudo ./agent/install-agent.sh log-server.example.com ``` 在收集器上安装告警守护进程: ``` sudo ./tools/install-alerts-daemon.sh \ --email security@example.com \ --file '/var/log/remote/*/*.log' \ --min-severity HIGH \ --json-out /var/log/loghawk-alerts.jsonl ``` ## 常用命令 交互式查看日志: ``` sudo python3 tools/watch-alerts.py --file '/var/log/remote/*/*.log' ``` 搜索 SSH 登录失败记录: ``` sudo ./tools/search-logs.sh ssh-fails ``` 搜索特定 IP 的活动: ``` sudo ./tools/search-logs.sh from-ip 192.168.1.50 ``` 检查远程日志是否停滞: ``` sudo ./tools/check-log-pipeline.sh --minutes 15 ``` 将可疑事件导出为 JSON: ``` sudo python3 tools/export-for-ai.py --hours 24 --out /tmp/loghawk-events.json ``` 生成 AI 大模型 (LLM) 可用的提示词: ``` sudo python3 tools/export-for-ai.py --hours 2 --llm-prompt ``` ## 配置说明 大多数工具在运行时会读取 `/etc/loghawk/loghawk.conf`(如果存在)。示例配置文件位于: ``` tools/loghawk.conf.example ``` 你可以通过以下方式覆盖配置路径: ``` LOGHAWK_CONFIG=/path/to/loghawk.conf ``` Python 工具还支持: ``` --config /path/to/loghawk.conf ``` ## 告警覆盖范围 LogHawk 包含以下方面的检测模式: - SSH 登录失败、无效用户、成功登录和 root 登录 - sudo 活动和被拒绝的提权尝试 - 用户、组、密码、SSH 和 sudo 配置的更改 - 内核恐慌、磁盘错误、OOM 终止、段错误和硬件错误 - cron 更改和 root 定时任务执行 - auditd 身份验证、异常、策略和用户管理事件 - systemd 服务失败、DNS 问题、防火墙拦截和磁盘满事件 ## 项目状态 这是一个实用的安全工程项目。在生产环境中使用之前,请先检查检测模式、日志保留策略、防火墙规则、证书处理和告警路由。请阅读[文档](./docs)。 ## 许可证 MIT 许可证。详见 [LICENSE](LICENSE)。
标签:AI集成, Awesome, Bash, Debian, JSONL, LangChain, LogHawk, mTLS, PB级数据处理, Python, RHEL, rsyslog, SecOps, systemd, 云安全架构, 子域名变形, 安全事件检测, 安全告警, 安全测试工具, 安全观察工具, 安全运维, 应用安全, 开源安全工具, 无后门, 日志收集, 时序数据库, 相互TLS, 系统日志, 系统管理, 自动化响应, 证书管理, 轻量级, 逆向工具, 逆向工程平台, 集中式日志管理