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





**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)
| 实时内核可见性 (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 警报仪表盘** - 实时威胁监控与全面的安全分析:
**显示的关键指标:**
- **总事件数**:检测到 39 个警报
- **严重程度分布**:30 个高危 • 4 个中危 • 5 个低危
- **实时状态**:每 30 秒自动刷新
- **IDS/IPS 比例**:39 个 IDS 警报 (67%) • 19 个 IPS 拦截 (33%)
#### 安全分析与威胁情报
**高级威胁分析:**
- **MITRE ATT&CK 映射**:通过日志分析进行自动战术分类
- TA0009 收集 • TA0010 数据渗出 • TA0002 执行
- TA0007 发现 • TA0004 权限提升
- **威胁时间线**:过去 30 天的严重程度趋势
- **攻击严重程度分布**:所有日志的可视化分解
- **检测计数**:IDS 与 IPS 的每日细分
#### 实时主机统计与攻击源
**网络情报:**
- 跨所有日志检测到 **9 个独立的主机**
- 跟踪并分析了 **9 个源 IP**
- **0 个目标 IP**(未检测到内部渗出)
- **主要攻击者**:包含命中次数的源 IP 排名列表
- 97.91.189.91 (15 次命中)
- 18.190.125.185 (12 次命中)
- 以及更多...
#### 事件详情与地理位置映射
**攻击源地图与警报表:**
- **地理位置可视化**:显示 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 - (目前)请另寻他法。
**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)
| 实时内核可见性 (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 警报仪表盘** - 实时威胁监控与全面的安全分析:
**显示的关键指标:**
- **总事件数**:检测到 39 个警报
- **严重程度分布**:30 个高危 • 4 个中危 • 5 个低危
- **实时状态**:每 30 秒自动刷新
- **IDS/IPS 比例**:39 个 IDS 警报 (67%) • 19 个 IPS 拦截 (33%)
#### 安全分析与威胁情报
**高级威胁分析:**
- **MITRE ATT&CK 映射**:通过日志分析进行自动战术分类
- TA0009 收集 • TA0010 数据渗出 • TA0002 执行
- TA0007 发现 • TA0004 权限提升
- **威胁时间线**:过去 30 天的严重程度趋势
- **攻击严重程度分布**:所有日志的可视化分解
- **检测计数**:IDS 与 IPS 的每日细分
#### 实时主机统计与攻击源
**网络情报:**
- 跨所有日志检测到 **9 个独立的主机**
- 跟踪并分析了 **9 个源 IP**
- **0 个目标 IP**(未检测到内部渗出)
- **主要攻击者**:包含命中次数的源 IP 排名列表
- 97.91.189.91 (15 次命中)
- 18.190.125.185 (12 次命中)
- 以及更多...
#### 事件详情与地理位置映射
**攻击源地图与警报表:**
- **地理位置可视化**:显示 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
[](https://opensource.org/licenses/MIT)
该项目基于 MIT License 授权 - 详见 [LICENSE](LICENSE) 文件。标签:Docker镜像, HTTP工具, SIEM仪表盘, SQLite数据库, 入侵检测系统, 内核监控, 安全数据湖, 逆向工具