LingJianCode/rho-aias

GitHub: LingJianCode/rho-aias

基于 eBPF 和 XDP 技术的轻量级高性能网络防火墙,通过驱动层拦截有效防御 DDoS 攻击并联动 WAF 自动封禁恶意 IP。

Stars: 1 | Forks: 0

# rho-aias 基于 eBPF/XDP 的高性能网络防火墙系统,在网络驱动层(L3)拦截和过滤数据包。 ## 功能特性 - **eBPF XDP 包过滤**:驱动层高性能拦截 - **威胁情报**:IPSum / Spamhaus 等多源黑名单自动同步 - **地域封禁**:GeoIP 国家级白名单/黑名单过滤 - **手动规则**:支持通过 API 添加 IP/CIDR 封禁规则 - **WAF 联动**:监控 Caddy + Coraza WAF 日志,自动封禁恶意 IP - **SSH 防爆破**:类 fail2ban 机制,自动检测并封禁暴力破解 - **异常流量检测**:SYN Flood / UDP Flood / ICMP Flood / ACK Flood 等攻击自动识别与阻断 - **频率限制联动**:监控 Rate Limit 日志,高频请求自动封禁 - **RESTful API**:完整的管理接口(JWT 认证 + RBAC 权限控制) - **持久化存储**:规则自动落盘,支持离线启动 ## 快速开始 ### 系统要求 | 要求 | 说明 | |------|------| | Linux 内核 | **5.10+**(需支持 XDP 与 BTF) | | Docker | **24.0+** 及 Docker Compose v2 | | 网络权限 | 需 `host` 网络模式 + 特定 Linux Capability | | 网卡 | 需确认本机网卡名称(如 `ens33`、`eth0`) | ### WAF IP 封禁清理机制 WAF 模块通过监控 Caddy + Coraza WAF 日志和 Rate Limit 日志,自动触发 IP 封禁。封禁的完整生命周期如下: 日志触发 → banIP() 添加 XDP 封禁规则 → 封禁记录写入内存(带过期时间) ↓ cleanupExpiredBans() 每隔 5 分钟扫描 ↓ 过期 IP 移除 XDP 规则 + 清除内存记录 `cleanupExpiredBans()` 使用硬编码的 **5 分钟清理间隔**。当封禁到期后,XDP 规则不会立即移除,而是等待下一个清理周期才执行移除。 这意味着实际封禁时长 = `BanDuration` + 最多 5 分钟的清理延迟。 **配置建议:** | BanDuration | 实际封禁时长范围 | 建议 | |-------------|------------------|------| | 30s | 30s ~ 5m30s | ❌ 不推荐,XDP 规则滞留过久 | | 60s | 60s ~ 6m | ⚠️ 清理延迟占比过大 | | 300s(5 分钟) | 5m ~ 10m | ✅ 可接受 | | 600s(10 分钟) | 10m ~ 15m | ✅ 推荐 | | 3600s(1 小时,默认) | 1h ~ 1h5m | ✅ 推荐 | **最佳实践:** 建议将 `ban_duration` 设置为 **300 秒(5 分钟)或更长**,使清理延迟在整体封禁时长中的占比合理。 ### 使用预构建镜像部署 # 直接启动(拉取预构建镜像) docker compose up -d # 查看日志 docker compose logs -f ### 从源码构建部署 # 从源码构建并启动 docker compose -f docker-compose-build-run.yml up -d --build # 查看日志 docker compose -f docker-compose-build-run.yml logs -f ## 安全说明 - **rho-aias** 容器使用最小权限能力(`CAP_BPF`、`CAP_PERFMON`、`CAP_NET_ADMIN`、`CAP_NET_RAW`),不使用 privileged 模式 - **caddy** 容器仅保留 `NET_BIND_SERVICE` 能力,启用 `no-new-privileges` - 两个容器均使用 `network_mode: host` 以支持 XDP 驱动层拦截
标签:ACK Flood, Caddy, Coraza, DDoS防护, Docker, Docker镜像, EVTX分析, Fail2ban, GeoIP, ICMP Flood, Iptables替代, IP封禁, JWT认证, L3层过滤, LangChain, Linux内核, Netfilter替代, Rate Limit, RBAC权限控制, RESTful API, SSH防爆破, SYN Flood, UDP Flood, WAF联动, XDP, 动态API解析, 地域封禁, 威胁情报, 安全渗透, 安全防御评估, 开发者工具, 提示词优化, 暴力破解防护, 流量清洗, 网络安全, 网络驱动层, 请求拦截, 轻量级, 防火墙, 隐私保护, 频率限制