diagonalciso/soc-nids
GitHub: diagonalciso/soc-nids
基于 Suricata 引擎的轻量级网络入侵检测仪表板,用纯 Python 标准库为 SOC 团队提供网络流量可视化与告警 API,弥补 Wazuh 仅覆盖主机端检测的不足。
Stars: 0 | Forks: 0
# soc-nids — 网络 IDS 仪表板
SOC 套件的网络入侵检测。封装了 **Suricata**(IDS 引擎)
并为 SOC 提供了一个网络可见性面板 —— 单凭 Wazuh 是基于主机的(HIDS),并且
无法监测网络流量。
- **引擎:** [Suricata](https://suricata.io) — GPLv2,作为独立的 OS daemon 运行。
- **此封装:** MIT。追踪 Suricata 的 `eve.json`,维护滚动计数器,并提供
暗黑主题仪表板 + JSON API,端口为 **:8102**。纯 Python stdlib,无依赖。
## 告警如何到达 SOC
`install.sh` 将 **Wazuh 原生 Suricata 解码器** 指向相同的 `eve.json`
(`ossec.conf` 中的一个 `` 块),因此告警会自动流入 **soc-ops**。
此服务**不会**重新注入它们 —— 它仅读取 `eve.json` 用于其自身的
网络面板,因此不会发生重复计数。
```
Suricata (AF_PACKET on IFACE) -> /var/log/suricata/eve.json
| |
| +-- Wazuh json -> soc-ops queue
+-- soc-nids tail (this app) -> :8102 dashboard
```
## 运行
```
cp .env.example .env # set NIDS_IFACE, NIDS_HOME_NET
sudo ./install.sh # install + configure Suricata, wire into Wazuh
env $(grep -v '^#' .env | xargs) python3 app.py
```
需要一个监控接口(SPAN/tap/mirror 端口,或主机上处于 promiscuous mode 的实时 iface)。
请相应地设置 `NIDS_IFACE`。
## 端点
| 路径 | 用途 |
|------|---------|
| `/` | 仪表板 |
| `/api/stats` | 计数器,热门特征/来源,每分钟数据 |
| `/api/alerts` | 近期告警环(JSON) |
| `/health` | 状态探测(由 soc-hub 磁贴使用) |
## 许可证
封装:MIT(见 `LICENSE`)。Suricata 是 GPLv2 并作为独立进程运行 ——
无链接,对此封装无 copyleft 义务。
## 文档
请参阅 **[MANUAL.md](MANUAL.md)** 获取完整手册(概述、配置、端点、集成、故障排除)。在运行中的仪表板上,点击右上角的 **`?` 帮助按钮** 以在 `/manual` 打开它。
标签:Metaprompt, Python, Suricata, Wazuh, 安全可视化, 安全运营中心, 无后门, 现代安全运营, 网络映射, 逆向工具