Token导航 LogoToken导航TokenDH.com
Soc Stack logo
开发工具未说明官方级别未说明来源级核验

Soc Stack

MCP Server

SOC Stack 是一个一键式 Proxmox 安装工具,用于快速部署完整的安全运营中心(SOC),包括 Wazuh、TheHive + Cortex、MISP、Zeek + Suricata 等组件。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
安全ShellClaude威胁情报Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

solomonneas

提供方

solomonneas

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SOC Stack

One-shot Proxmox installer for a complete Security Operations Center.

在Proxmox主机上运行一个命令,或让代理执行该命令,大约30分钟后,Wazuh(SIEM)、TheHive+Cortex(案例管理+SOAR)、MISP(威胁情报)、Zeek+Suricata(NSM+IDS)、自定义仪表板和9个MCP服务器连接并相互通信。默认情况下为非交互式。我暂时没有。代理的JSON输出。专为复制而构建。

快速开始

全栈 (每个组件,合理的默认值):

curl -sSL https://raw.githubusercontent.com/solomonneas/soc-stack/main/install.sh | sudo bash

自定义子集:

curl -sSL https://raw.githubusercontent.com/solomonneas/soc-stack/main/install.sh | sudo bash -s -- \
  --components wazuh,thehive-cortex,misp \
  --preset standard \
  --bridge vmbr0 --storage local-lvm

代理驱动 (完全非交互式、结构化输出):

curl -sSL https://raw.githubusercontent.com/solomonneas/soc-stack/main/install.sh | sudo bash -s -- \
  --components all \
  --preset minimal \
  --bridge vmbr0 --storage local-lvm --ip-mode dhcp \
  --json-out /root/soc-stack.json \
  --mcp-config-out /root/mcp-clients.json

安装后:

  • /root/soc-stack.json 列出每个组件及其LXC VMID、IP、端口、端点和轮换凭据。
  • /root/mcp-clients.json 糊状物准备好了吗 mcpServers Claude Desktop、OpenClaw或任何MCP客户端的配置块。
  • /var/lib/soc-stack/state/ 具有用于幂等重运行的每个组件状态文件。
  • /var/lib/soc-stack/secrets/ 具有用于审核恢复的每个生成的凭据(模式0600,仅限root)。

用以下命令重新运行相同的命令 --force 重新部署已完成的组件,或 --components 将单个组件添加到现有安装中。

组件

组件服务LXC预设(最小)端口
瓦祖Wazuh管理器、索引器、仪表板2个vCPU、2 GB RAM、30 GB443、1514、1515、55000
肝皮质Hive 5.4、Cortex 3.1.8、Elasticsearch 7.17、Cassandra 4.12 vCPU、4 GB RAM、30 GB9000、9001
mistMISP、MariaDB 10.11、Redis 7、MISP模块1 vCPU、2 GB RAM、20 GB443
泽克·苏里卡塔Zeek(NSM)、Suricata(IDS/IPS)1 vCPU、2 GB RAM、20 GB47760
仪表盘nginx后面的Bro Hunter+Playbook Forge1个vCPU,1 GB RAM,10 GB80、5174、5177
主控程序9台MCP服务器(wazuh、thehe、cortex、misp、zeek、suricata、mitre、rapid7、sophos)通过以下方式包装为SSE mcp-proxy1个vCPU,1 GB RAM,10 GB3001-3009

每个组件都在自己的专用LXC中运行。组件可以单独部署或一起部署。编排器处理VMID分配、网络设置、幂等性和跨组件集成布线。

跨组件集成

所有组件部署后自动配置:

  • 华住→ The Hive:级别8+的Wazuh警报通过自定义Python集成作为警报转发给TheWive(/var/ossec/integrations/custom-thehive.py).
  • The Hive↔ 皮质:Hive的Cortex连接器使用组织级API键指向本地Cortex。
  • MISP → 沼狸属:每小时cron从MISP中提取Snort/Suricata规则 restSearch 终点纳入苏里卡塔的更新。
  • Zeek → Wazuh:Wazuh代理在zeek suricata LXC中运行,并将conn.log、dns.log、http.log、ssl.log、notice.log转发给Wazuh管理器。
  • MCP服务器← 所有同行:每个MCP服务器的env文件都填充有来自对等状态的相应工具的URL+API密钥。

状态

v0.9-0-rc1 (当前):在真实的Proxmox VE上验证了6个组件中的4个。参见 已知问题 在......下面标记2026-05-16。

v0.5.0 (2026-05-15):基础-共享bash库,每个组件模块合同,Wazuh部署经过端到端验证,最小编排器 --manifest 模式。

v1.0.0 (计划中):Proxmox上的自托管CI,删除旧路径,所有6个组件和5个集成的全烟测试绿色。

已知问题

  • zeek suricata:LXC DHCP竞赛在繁忙的主机上,180秒 lxc_wait_network 可以在DHCP完成之前超时,从而阻止部署。解决方法:重新运行 install.sh --components zeek-suricata 网络稳定后,或暂停超时 scripts/lib/lxc.sh.
  • mcp:SSE探测定时MCP组件干净地部署,并将9个端点URL+令牌写入结果JSON,但如果 assert-mcp.sh 安装后立即运行, mcp-proxy 可能尚未绑定端口。解决方法:安装后等待30-60s再进行探测。
  • 跨组件集成级联当一个组件发生故障时,下游集成跳过接线。Wazuh→ The Hive,MISP→ 苏里卡塔和泽克→ Wazuh都要求首先部署目标对等体。

代理商友好合同

设计为AI代理可以SSH到Proxmox主机,并一次性访问SOC。完整的代理界面:

  • Stdin已关闭 在...之下 curl | sudo bash;安装程序会自动检测到这一点并启用 --non-interactive 模式。每个提示都变成了一个标志,每个默认值都变成了答案。
  • 退出代码 稳定:0=成功,1=飞行前(主机故障),2=验证(标志错误),3=组件失败,4=集成失败,5=混合状态。
  • 结果JSON模式 记录在 docs/superpowers/specs/2026-05-15-soc-stack-unification-design.md.
  • 幂等性:如果所有内容都已部署,则使用相同标志重新运行将在几秒钟内退出(status: "deployed" 国家)。 --force 触发重新部署。
  • 清单模式:编写一个JSON清单并传递,而不是几十个标志 `--manifest

`应用于顶部的.CLI标志会覆盖单个清单字段。

标志参考

--components LIST     CSV of components or "all" (default: all)
--preset NAME         minimal | standard | production (default: standard)
--bridge NAME         Proxmox bridge (default: vmbr0)
--storage NAME        Storage pool (default: auto-detect)
--ip-mode MODE        dhcp or static (default: dhcp)
--ip-range CIDR       Required if --ip-mode=static (e.g., 10.0.50.10/24)
--vlan TAG            Optional VLAN tag
--vmid-start N        First VMID to allocate (default: next free)
--manifest PATH       JSON manifest (alternative to flags)
--state-dir PATH      State directory (default: /var/lib/soc-stack)
--json-out PATH       Result JSON path (default: /root/soc-stack.json)
--mcp-config-out PATH MCP client config (default: /root/mcp-clients.json)
--log-file PATH       Install log (default: /var/log/soc-stack-install.log)
--dry-run             Validate + plan only, no deploy
--force               Redeploy components already marked deployed
--no-integrate        Skip cross-component wiring phase
--non-interactive     Hard-fail on prompts (auto when stdin is not a TTY)
--version             Print version and exit

存储库结构

soc-stack/
├── install.sh                  # repo-root wrapper for curl|bash
├── scripts/
│   ├── install.sh              # orchestrator (~430 lines)
│   ├── lib/                    # 8 shared bash modules (bats-tested)
│   │   ├── logging.sh
│   │   ├── secrets.sh
│   │   ├── json-out.sh
│   │   ├── idempotency.sh
│   │   ├── network.sh
│   │   ├── manifest.sh
│   │   ├── preflight.sh
│   │   └── lxc.sh
│   └── components/
│       ├── wazuh/              # manifest.jsonc + 5 scripts per component
│       ├── thehive-cortex/
│       ├── misp/
│       ├── zeek-suricata/
│       ├── dashboards/
│       └── mcp/                # 9 MCP servers + mcp-proxy SSE bridge
├── tests/
│   ├── unit/                   # 78 bats tests, mocked Proxmox binaries
│   └── integration/            # per-component + cross-component assertions
├── docs/
│   ├── superpowers/
│   │   ├── specs/              # design specs
│   │   └── plans/              # implementation plans
│   ├── gotchas.md
│   ├── adding-a-stack.md       # to be renamed adding-a-component.md in v1.0.0
│   └── architecture/
├── playbooks/                  # incident response playbooks
├── cases/                      # case study evidence
└── mcp-servers/
    └── README.md               # index of the 9 MCP servers (each in its own repo)

运作原理

每个组件都是一个独立的文件夹,位于 scripts/components// 具有固定接口:

文件运行位置目的
manifest.jsonc(声明性)预设、端口、deps、提供
lxc-spec.shProxmox主机发射 pct create 每个预设的标志
deploy.shLXCIdempotent安装程序内部;写入状态JSON
verify.shLXC内部健康检查;如果健康,则退出0
integrate.shProxmox主机将此组件连接到对等端(读取对等端状态)
destroy.shProxmox主机破解LXC++状态

编排者(scripts/install.sh)仅通过此接口与组件通信。添加新组件意味着放入新文件夹;其他一切都没有改变。

状态文件在 /var/lib/soc-stack/state/.json 是幂等性的真理之源。重新 install.sh 检查每个组件的状态并跳过已部署的任何内容(除非 --force).失败时,状态文件会记录 status: "failed" 和一个 error 弦;编排器继续处理剩余的独立组件,并报告混合状态退出代码5。

先决条件

  • Proxmox VE 7.x或8.x或9.x主机
  • Proxmox主机上的根访问权限
  • 桥接(默认值: vmbr0)以及存储池(默认:自动检测,回退到 local-lvm)
  • 用于安装程序下载的出站HTTPS(Docker、Wazuh安装程序、MCP服务器存储库等)
  • 约12 GB的可用RAM和约150 GB的可用磁盘,适用于全栈 --preset minimal

安装程序自动安装 jq, curl, wget,以及 openssl 如果丢失。

运营

重新运行单个组件:

sudo bash install.sh --components misp --force

仅重新运行集成阶段(在修复对等体之后):

sudo bash install.sh --components all --no-integrate=false

无需部署即可验证:

sudo bash install.sh --components all --dry-run

拆除一切:

for comp in mcp dashboards zeek-suricata misp thehive-cortex wazuh; do
  sudo bash scripts/components/${comp}/destroy.sh
done

添加新组件

docs/adding-a-stack.md 对于组件合同走查,以及 docs/超级能力/规格/2026-05-15-oc-stack-统一设计.md 对于完整的设计。

传统路径

该仓库仍然包含v0.5.0之前的部署路径:

  • proxmox/ct/*.sh -每个工具一行LXC脚本(community-scripts.org风格),仅用于大脑皮层和misp
  • scripts/create-vm.ps1, cloud-init/, reference/hyper-v/ -Hyper-V虚拟机自动化路径

这些路径仍然有效,但统一 install.sh 是未来的规范入口点。v1.0.0中将删除旧路径。

许可证

麻省理工学院

目录标签

目录标签

安全ShellClaude威胁情报本地部署安全运维自动化部署SIEM网络安全

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP