Sunnyprabhakar-cmd/SOAR_IDS
GitHub: Sunnyprabhakar-cmd/SOAR_IDS
基于微服务架构的混合式入侵检测与安全编排自动化响应平台,整合规则引擎与机器学习实现威胁检测、告警关联和自动化处置。
Stars: 0 | Forks: 0
# 安全应用(微服务)
本仓库包含一个小型安全监控系统,采用独立的微服务实现,通过 RabbitMQ 进行通信。
## 架构
- **alert-service**:用于接收事件并将警报排队的 HTTP API。
- **detection-worker**:处理事件,应用规则引擎 + ML 异常检测,并发出警报。
- **incident-worker**:将警报关联为安全事件。
- **soar-worker**:根据事件运行剧本或通过邮件进行升级处理。
- **dashboard**:显示实时警报和事件的 Socket.io 仪表板。
- **log-collector**:用于接收日志并转发到消息总线的 HTTP 端点。
- **ml-model**:基于 Flask 的简单异常检测模型。
- **RabbitMQ**:连接各服务的消息总线。
## 快速开始
请确保已安装并运行 Docker。
```
# 从 repo root
cp .env.example .env
# 在后台 build 并 start 所有 services
npm run compose:up
```
停止并清理:
```
npm run compose:down
```
然后打开仪表板:
- 仪表板 UI:http://localhost:4000
- RabbitMQ 管理界面:http://localhost:15672(用户名:`guest` / 密码:`guest`)
## 日志采集
本技术栈包含 **Fluent Bit**,它负责采集日志并通过 **log-collector** 服务将其发送到消息总线。
### 探针日志生成器(测试数据)
一个小型探针生成器会每隔几秒向 `./fluent-bit/log/probe.log` 写入 JSON 日志行。Fluent Bit 会跟踪该文件并将事件通过流水线发送。
- 执行以下命令时,探针生成器会自动运行:
```
npm run compose:up
```
### 实时系统日志(防火墙、网络设备等)
您可以通过将设备指向以下地址将 syslog 数据发送到流水线:
- **UDP:** `localhost:1514`
Fluent Bit 监听 UDP 端口 **1514** 上的 syslog 消息,并将其转发到同一个消息总线。
如果您需要从主机(防火墙、路由器等)收集日志文件,请将日志文件目录挂载到 `./fluent-bit/log/`,并配置设备将日志写入该目录,或将日志复制到该目录中。
## 本地运行
每个服务都是其文件夹下的独立 Node 项目。
示例:启动 alert 服务
```
cd alert_service
npm install
npm start
```
## 配置
配置通过环境变量控制(参见 `.env.example`)。
- `RABBITMQ_URL` – RabbitMQ 连接字符串
- `EVENTS_QUEUE`、`ALERTS_QUEUE`、`INCIDENTS_QUEUE` – 队列名称
## 添加新规则
规则存储在 `incident_worker/rules.json` 中。添加新的规则对象或调整现有规则。
## ML 模型(异常检测)
ML 服务(`ml-model`)使用基于 `incident_worker/data/training_data.csv` 数据训练的 Isolation Forest。
- 模型在启动时自动训练。
- 它被保存到 `incident_worker/model.joblib` 以便快速重启。
- 使用您的真实数据集更新 `training_data.csv`,然后通过以下方式重新训练:
```
curl -X POST http://localhost:5000/retrain
```
- 您可以使用以下命令测试预测:
```
curl -X POST http://localhost:5000/predict \
-H "Content-Type: application/json" \
-d '{"failed_logins": 1, "requests": 10, "bytes": 1500}'
```
启动
npm run compose:up
停止
npm run compose:down
标签:Apex, CISA项目, Docker Compose, Flask, Fluent Bit, FTP漏洞扫描, HTTP/HTTPS抓包, MITM代理, PE 加载器, Playbook, RabbitMQ, SOAR, Socket.io, Syslog, 事件管道, 云计算, 入侵检测系统, 告警关联, 安全数据湖, 安全编排, 安全编排与自动化响应, 安全运营中心, 实时仪表盘, 异常检测, 态势感知, 日志采集, 机器学习, 混合检测, 网络安全, 网络映射, 自定义脚本, 规则引擎, 请求拦截, 邮件告警, 隐私保护