daniela1o1/sentry-iot-ids
GitHub: daniela1o1/sentry-iot-ids
基于 Rust 构建的物联网入侵检测系统,专注于 MQTT 遥测数据的实时安全监控与告警。
Stars: 1 | Forks: 0
# Sentry
Sentry 是一个用 Rust 编写的 IoT IDS(入侵检测系统)和响应平台。
该项目重点关注:
- MQTT 遥测数据摄取
- 实时检测可疑活动
- 告警生成
- PostgreSQL 持久化
- 通过 REST API 访问告警
Sentry 正在构建为一个以学习为导向、但受生产环境启发的物联网安全平台,适用于 IoT、嵌入式系统以及分布式边缘/雾计算环境。
# 当前 MVP 功能
## MQTT 摄取
Sentry 使用 Mosquitto 订阅 MQTT 流量,并实时摄取遥测数据。
当前的摄取能力:
- 订阅 MQTT 主题
- 解析传入消息
- 清理敏感 payload
- 在分析前规范化遥测数据
示例:
```
devices/device-1/temp
admin/root/access
mesh/provisioning/hmac
```
## 检测引擎
Sentry 目前包含一个基于主题的基础 IDS 规则引擎。
当前的检测能力:
- 未授权主题发布检测
- 主题白名单强制执行
- 动态设备 ID 提取
- 实时告警生成
示例检测流程:
```
MQTT Publish
↓
SecurityEvent
↓
Detection Engine
↓
Alert
```
# PostgreSQL 持久化
告警通过 PostgreSQL + SQLx 进行持久化。
当前的持久化流程:
```
Alert
↓
SQLx
↓
PostgreSQL
```
告警存储包含:
- alert_id
- event_id
- device_id
- severity
- rule_name
- reason
- timestamp
# REST API
Sentry 使用 Axum 暴露 REST API。
当前的端点:
```
GET /alerts
```
示例:
```
curl localhost:3000/alerts
```
# 技术栈
## 语言
- Rust
## 网络 / 遥测
- MQTT
- Mosquitto
- rumqttc
## 后端
- Axum
- Tokio
- SQLx
- PostgreSQL
## 基础设施
- Docker
- Docker Compose
# 架构概览

```
MQTT Devices / Simulators
↓
Mosquitto MQTT Broker
↓
Sentry MQTT Ingest Layer
↓
Security Event Normalization
↓
Detection Engine
↓
PostgreSQL Persistence
↓
Axum REST API
```
# 事件流概览

# 项目目标
Sentry 的目标是探索:
- IoT 安全
- IDS 设计
- 嵌入式/后端安全工作流
- 事件驱动架构
- 异步 Rust 系统编程
- 检测工程
# 路线图
## 当前 MVP
- [x] MQTT 摄取
- [x] 基于主题的检测
- [x] 告警持久化
- [x] REST API 基础
- [x] 实时数据库支持的 `/alerts`
- [ ] 设备管理
- [ ] 策略管理
- [ ] 响应/隔离操作
## 未来规划
- Web 仪表盘
- 规则引擎扩展
- 设备信誉评分
- 告警严重性评分
- TLS/mTLS 支持
- Prometheus/Grafana 集成
- 自动化响应工作流
- 分布式雾/边缘部署
# 开发
## 运行 PostgreSQL
```
docker compose up -d postgres
```
## 运行迁移
```
sqlx migrate run
```
## 启动 Sentry
```
cargo run
```
# 状态
Sentry 目前正处于活跃的 MVP 开发阶段。
目前的重点是在进一步扩展架构之前,构建一个清晰且功能完善的垂直切片。
标签:Axum, CISA项目, Docker, Docker Compose, Docker化, Docker容器, Docker容器化, IoT, Mosquitto, PE 加载器, PostgreSQL, REST API, Rust, SQLx, Tokio, 云计算, 入侵检测系统, 协议分析, 可视化界面, 后端开发, 告警生成, 基于主机, 基于网络, 安全数据湖, 安全防御评估, 实时检测, 嵌入式系统, 插件系统, 攻击面发现, 数据持久化, 智能设备安全, 权限提升, 测试用例, 物联网, 网络安全, 网络流量分析, 网络流量审计, 规则引擎, 请求拦截, 边缘计算, 遥测数据, 隐私保护, 雾计算