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, 事件管道, 云计算, 入侵检测系统, 告警关联, 安全数据湖, 安全编排, 安全编排与自动化响应, 安全运营中心, 实时仪表盘, 异常检测, 态势感知, 日志采集, 机器学习, 混合检测, 网络安全, 网络映射, 自定义脚本, 规则引擎, 请求拦截, 邮件告警, 隐私保护