Sazidul0/Raqhive

GitHub: Sazidul0/Raqhive

一款基于 eBPF 的轻量级 Linux 入侵检测与防御系统,提供内核级实时监控、规则引擎告警及 SIEM 仪表盘。

Stars: 5 | Forks: 0

![Linux](https://img.shields.io/badge/Linux-5.4%2B-yellow?style=for-the-badge&logo=linux) ![eBPF](https://img.shields.io/badge/eBPF-powered-brightgreen?style=for-the-badge&logo=ebpf) ![Python](https://img.shields.io/badge/Python-3.8%2B-blue?style=for-the-badge&logo=python) ![Dashboard](https://img.shields.io/badge/Live_Dashboard-000000?style=for-the-badge&logo=vercel&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)

**Raqhive - Network of Watchers** **轻量级 eBPF IDS/IPS + 实时 AI 安全平台** [中央仪表盘](https://log-manager-idsips.vercel.app) • [快速开始](#quick-start) • [规则示例](#example-rule-data-exfiltration-detection) • [报告 Bug](https://github.com/Sazidul0/Raqhive/issues) • [功能请求](https://github.com/Sazidul0/Raqhive/issues)
Raqhive - eBPF IDS/IPS | 实时内核可见性 (exec • connect • open) | | 具备即时热重载的有状态关联规则 | | 可选的自动进程终止 (IPS 模式) | | 类似 SIEM 的中央仪表盘 | | **实时 AI 会立即告知您:** 攻击类型 • 可疑 IP/域名 • 使用的工具 • 应采取的确切措施 | ### 功能 - 纯 eBPF 内核插桩(无需内核模块) - 有状态检测(例如:“如果 `/etc/shadow` 被打开 → 然后在 5 分钟内发生外部连接则发出警报”) - 具备自动热重载功能的 YAML 规则引擎 - IDS + 可选的 IPS(自动终止高危进程) - 简洁的 JSON 警报 + 独立的 IPS 操作日志 - 中央仪表盘:https://log-manager-idsips.vercel.app - 基于 AI 的威胁检测 ### 项目结构 ``` ├── Raqhive.c # eBPF kernel program ├── raqhive.py # Main userspace controller ├── Raqhive_rules.yaml # Rule configuration (hot-reloadable) ├── send_logs.py # Upload logs to central dashboard ├── tests/ # Unit, integration, and fuzz tests ├── docs/ # Architecture and configuration docs ├── ids_alerts.log # IDS alerts (JSON lines) └── ips_actions.log # IPS kill actions ``` ### 完整安装 (Ubuntu / Debian) **1. 更新系统** ``` sudo apt-get update ``` **2. 安装所需工具和内核头文件** ``` sudo apt-get install -y build-essential python3-dev python3-pip \ linux-headers-$(uname -r) \ bpfcc-tools libbpfcc-dev ``` **3. 安装 Python 依赖** ``` pip3 install --upgrade pip pip3 install bcc pyyaml watchdog requests ipaddress ``` **4. (可选) 验证 bcc 是否正常工作** ``` python3 -c "from bcc import BPF; print('eBPF ready!')" ``` ### 适用于 Ubuntu 20.04 / 22.04 / 24.04, Debian 11/12, Kali Linux, WSL(有限制) ### 快速开始 1. **克隆仓库** git clone https://github.com/Sazidul0/Raqhive.git cd raqhive 2. **运行 Raqhive(需要 root 权限)** sudo python3 raqhive.py 您将看到以下菜单: ================================================== eBPF Professional IDS/IPS ================================================== 1. IDS Only (Monitoring) 2. IDS + IPS (Auto-kill HIGH severity) 3. Exit -------------------------------------------------- Choose 1/2/3: - 选择 `1` 为**仅监控**。 - 选择 `2` 为**完整 IPS 模式**,该模式会自动终止高危威胁。 ### 将日志发送至中央仪表盘 1. 访问 **https://log-manager-idsips.vercel.app** 并创建一个免费账号。 2. 运行日志上传脚本: python3 send_logs.py 3. 出现提示时输入您的凭据。所有警报和 IPS 操作将实时上传。然后,您可以在 Web 仪表盘上查看、搜索和管理来自所有主机的警报。 #### 仪表盘概览 **IDS 警报仪表盘** - 实时威胁监控与全面的安全分析: IDS Alert Dashboard **显示的关键指标:** - **总事件数**:检测到 39 个警报 - **严重程度分布**:30 个高危 • 4 个中危 • 5 个低危 - **实时状态**:每 30 秒自动刷新 - **IDS/IPS 比例**:39 个 IDS 警报 (67%) • 19 个 IPS 拦截 (33%) #### 安全分析与威胁情报 Security Analytics **高级威胁分析:** - **MITRE ATT&CK 映射**:通过日志分析进行自动战术分类 - TA0009 收集 • TA0010 数据渗出 • TA0002 执行 - TA0007 发现 • TA0004 权限提升 - **威胁时间线**:过去 30 天的严重程度趋势 - **攻击严重程度分布**:所有日志的可视化分解 - **检测计数**:IDS 与 IPS 的每日细分 #### 实时主机统计与攻击源 Host Statistics **网络情报:** - 跨所有日志检测到 **9 个独立的主机** - 跟踪并分析了 **9 个源 IP** - **0 个目标 IP**(未检测到内部渗出) - **主要攻击者**:包含命中次数的源 IP 排名列表 - 97.91.189.91 (15 次命中) - 18.190.125.185 (12 次命中) - 以及更多... #### 事件详情与地理位置映射 Event Details **攻击源地图与警报表:** - **地理位置可视化**:显示 6 个独特攻击源的交互式地图 - **警报严重程度分布**:显示高/中/低比例的饼图 - **详细事件日志**: - 时间戳 • 攻击类型 (IDS/IPS) - 严重级别 • 源/目标 IP - 攻击信息/规则 • 进程/端口信息 - 示例:通过 curl 进程检测到“潜在的网络数据渗出” ### 规则示例:数据渗出检测 该规则用于检测进程访问敏感文件,并在 5 分钟内建立外部网络连接的情况。 ``` - name: "Potential Data Exfiltration" description: "Process accessed sensitive file then connected outbound" enabled: true event: "connect" severity: "high" stateful: source_event_match: event: "open" filename_regex: "^/etc/(shadow|passwd|sudoers)|/root/.ssh/id_rsa$" time_window_seconds: 300 # 5 minutes ``` ### 需求摘要 | 组件 | 需求 | | ------------------ | ----------------------------------------- | | **Kernel** | Linux ≥ 5.4 (推荐支持 eBPF + BTF) | | **权限** | Root 或 `CAP_BPF` + `CAP_SYS_ADMIN` | | **Python** | Python 3.8+ | | **已测试发行版** | Ubuntu 22.04/24.04, Debian 12, Kali, Fedora | ## 📝 使用场景 ### 适用场景 - Linux 服务器和云 VM (Ubuntu, Debian, Rocky 等) - Kubernetes 节点和容器宿主机 - 蜜罐、暴露的服务、VPS、家庭实验室 - 需要实时内核可见性的生产环境 - 合规、审计、红/蓝队演练 - 任何运行 **Linux kernel 5.4+** 且拥有 root 权限的系统 ### 不适用场景 - **Windows** 系统(不支持 eBPF) - **macOS**(eBPF 支持有限且不稳定) - **Android / iOS** 设备 - **旧版内核 (< 5.4)** 且不支持 BTF - **Serverless / FaaS** 环境(无宿主内核访问权限) - **嵌入式 / IoT** 且内核被锁定或缺少头文件 - 没有独立网络或受到严格限制且缺少 CAP_BPF 和头文件的环境 **简而言之:** 如果是现代 Linux 且您拥有 root 权限 - Raqhive 随时可用。 如果不是 Linux - (目前)请另寻他法。
Linux 是我们的领域。我们提供无与伦比的安全防护。
### License [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 该项目基于 MIT License 授权 - 详见 [LICENSE](LICENSE) 文件。
标签:Docker镜像, HTTP工具, SIEM仪表盘, SQLite数据库, 入侵检测系统, 内核监控, 安全数据湖, 逆向工具