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, 安全可视化, 安全运营中心, 无后门, 现代安全运营, 网络映射, 逆向工具