411A/RAVELIN

GitHub: 411A/RAVELIN

一个基于 Rust 的终端式入侵防御系统,通过读取 Suricata 日志进行行为评分并自动执行 ipset 封禁,为 Linux VPS 提供低误报的实时防护。

Stars: 6 | Forks: 0

# RAVELIN

RAVELIN Logo by Ali Abdi

**RAVELIN** *(法语“[半月堡](https://en.wikipedia.org/wiki/Ravelin)”,一种外围防御工事)*:由 **R**ust 驱动的**自**适应监控与执行 — 分层**智能拦截节点** (**L**ayered **I**ntelligent **I**nterceptor **N**ode) RAVELIN 是一个实时的 Linux VPS 防护 TUI/核心后端。它会读取 Suricata 的 `eve.json`,追踪以 IP 为单位的短期行为窗口,可视化可疑流量,并在有限的内存使用下管理 `ipset` 封禁。 它使用请求和响应的元数据(包括 HTTP 状态码),因此不会将孤立的单次失败与突发、重复或 IDS 确认的攻击行为同等对待。 RAVELIN-TUI ## 主要功能 - 处理来自 `/var/log/suricata/eve.json` 的 Suricata 警报和 HTTP 请求/响应元数据。 - 维持有限的内存状态:简短的 UI 日志、简短的可疑详情历史、紧凑的去重哈希以及紧凑的 HTTP 行为窗口。 - 对 IDS 警报、HTTP 错误突发、高频成功突发以及可预测的请求节奏进行评分。 - 避免封禁本地、私有、已封禁以及受信任的 IP。 - 仅在学习模式结束后,且仅在满足评分、事件计数和高可信度要求时才执行自动封禁。 ## 安全模型 RAVELIN 将 Suricata 视为数据包传感器,将 Rust 引擎作为决策层。成功的稀疏流量、webhook 重试和偶发的错误会被追踪,但不会立即受到惩罚。自动封禁需要重复的证据和高置信度信号,从而降低误封合法服务(如 Cloudflare、Telegram 或其他上游提供商)的风险。 ## 安装 最新的 Linux x86_64 版本: ``` curl -fsSL https://raw.githubusercontent.com/411A/RAVELIN/main/install-latest.sh | sudo sh ``` 从源码构建: ``` curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" sudo apt update sudo apt install -y build-essential libsqlite3-dev suricata ipset iproute2 cargo build --release ``` ## 运行 ``` # 仅限 TUI;protection backbone 单独管理。 ./target/release/ravelin # 仅限 backbone;使用 systemctl/SIGTERM 停止,而不是 TUI。 sudo ./target/release/ravelin daemon # TUI 和 backbone 在一个前台 root 进程中。 sudo ./target/release/ravelin standalone ``` 实用的环境变量: ``` export RAVELIN_TRUSTED_IPS="203.0.113.10,198.51.100.20" ``` ## TUI 控制 | 按键 / 命令 | 操作 | | --- | --- | | `q`, `Esc` | 优雅退出 TUI | | `Tab` | 切换可疑/已封禁面板 | | `j`, `k` | 移动选择 | | `Enter` | 封禁选中的可疑对象或解封选中的 IP | | `i` | 查看选中的可疑对象详情 | | `/text` | 过滤可疑对象 | | `:block ` | 手动封禁 IP | | `:unblock ` | 解封 IP | | `:whitelist ` | 在本次运行中信任该 IP | | `:clearlogs` | 清空 TUI 日志面板 | ## 注意事项 - RAVELIN 会在本地写入 `ravelin.db`,并在启动时恢复已持久化的封禁状态。 - 安装程序的自检功能会自动配置 `ipset`、`iptables` 以及 Suricata 的日志轮转。 - 如果您的服务位于 Cloudflare 或其他代理之后,请在启用自动封禁之前配置 Suricata/反向代理日志,以确保真实的客户端 IP 可见。
标签:Metaprompt, PB级数据处理, Rust, Suricata, TUI, 入侵防御系统, 可视化界面, 威胁猎捕, 安全, 安全运维, 现代安全运营, 网络流量审计, 超时处理, 通知系统, 防火墙