zw008/VMware-NSX-Security

GitHub: zw008/VMware-NSX-Security

为 AI 智能体提供 VMware NSX 分布式防火墙、微分段、Traceflow 及 IDPS 等网络安全管理能力的 MCP 工具集。

Stars: 3 | Forks: 0

# VMware NSX Security VMware NSX DFW 微分段与安全 MCP 技能 —— 包含 21 个用于分布式防火墙策略/规则、安全组、虚拟机标签、Traceflow 数据包追踪和 IDPS 的工具。 - **只读模式** (v1.8.0) —— 一个环境变量 (`VMWARE_READ_ONLY=true`) 即可在启动时从 MCP 注册表中移除所有 11 个写入工具(DFW 策略/规则写入、安全组、虚拟机标签、Traceflow 注入),仅保留 10 个读取工具;非常适合用于审计、PoC 和不受信任的/本地模型。详见[只读模式](#read-only-mode)。 ## 快速开始 ``` uv tool install vmware-nsx-security mkdir -p ~/.vmware-nsx-security cp config.example.yaml ~/.vmware-nsx-security/config.yaml # 使用你的 NSX Manager 主机编辑 config.yaml echo "VMWARE_NSX_SECURITY_NSX_PROD_PASSWORD=your_password" > ~/.vmware-nsx-security/.env chmod 600 ~/.vmware-nsx-security/.env vmware-nsx-security doctor ``` ## 只读模式 提示词指令仅是建议 —— 模型可以忽略它。只读模式是结构性的:设置 `VMWARE_READ_ONLY=true` 后,所有 11 个写入工具(DFW 策略和规则的创建-更新-删除、安全组创建/删除、虚拟机标签应用/移除、Traceflow 数据包注入)都会在启动时从 MCP 注册表中移除 —— `list_tools()` 永远不会提供它们,因此模型无法调用它看不到的内容。剩余的 10 个读取工具会被保留,包括 DFW 规则统计和 IDS/IPS 配置文件及签名检查。默认关闭,并且采用故障关闭(fail-closed)机制:如果请求了该模式但无法保证,服务器将拒绝启动。 三种启用方式: ``` { "mcpServers": { "vmware-nsx-security": { "command": "vmware-nsx-security", "args": ["mcp"], "env": { "VMWARE_READ_ONLY": "true" } } } } ``` - 单个技能覆盖:`VMWARE_NSX_SECURITY_READ_ONLY=true`(优先级高于全局的 `VMWARE_READ_ONLY`) - 配置替代方案:在 `~/.vmware-nsx-security/config.yaml` 中设置 `read_only: true` 优先级顺序:单技能环境变量 → 全局环境变量 → 配置 → 关闭。启动日志会准确列出哪些工具被屏蔽。 ## 功能说明 | 类别 | 工具 | |----------|-------| | DFW 策略 | 列表、获取、创建、更新、删除、列出规则 | | DFW 规则 | 创建、更新、删除、统计 | | 安全组 | 列表、获取、创建、删除 | | 虚拟机标签 | 列出标签、应用标签、移除标签 | | Traceflow | 运行追踪、获取结果 | | IDPS | 列出配置文件、签名状态 + 设置 | **总计:21 个 MCP 工具**(10 个只读 + 11 个写入) ## MCP 服务器设置 **在执行 `uv tool install vmware-nsx-security` 之后,使用单个命令即可启动 MCP 服务器** (v1.5.15+): ``` # 推荐 — 单条命令,无需网络重新解析 vmware-nsx-security mcp # 使用自定义 config 路径 VMWARE_NSX_SECURITY_CONFIG=/path/to/config.yaml vmware-nsx-security mcp ``` 添加到 `~/.claude.json`: ``` { "mcpServers": { "vmware-nsx-security": { "command": "vmware-nsx-security", "args": ["mcp"], "env": { "VMWARE_NSX_SECURITY_CONFIG": "~/.vmware-nsx-security/config.yaml" } } } } ```
替代方案:uvx(免安装)或旧版入口 ``` # 不安装直接运行(每次启动需要 PyPI 访问权限) uvx --from vmware-nsx-security vmware-nsx-security mcp # 遗留入口点(仍然有效,保留用于向后兼容) vmware-nsx-security-mcp ```
## 常见工作流 ### 对应用程序进行微分段 ``` # 1. 通过 create_group MCP 工具按 tag 创建 group # (tag_scope=tier, tag_value=web → 匹配为 Condition 值 "tier|web"; # 多个条件类型 — tag/IP/segment — 进行 OR 运算) # 2. 创建 DFW policy vmware-nsx-security policy create web-app-policy --name "Web to App" --category Application ``` ### 为虚拟机打标签 ``` # 查找 VM 及其 external ID vmware-nsx-security tag list my-vm-01 # 使用 external ID 应用 tag vmware-nsx-security tag apply --scope tier --value web ``` ### 追踪数据包 ``` vmware-nsx-security traceflow run \ --src-ip 10.0.1.5 --dst-ip 10.0.2.10 --proto TCP --dst-port 443 ``` 输出报告包含 `operation_state` (`IN_PROGRESS`/`FINISHED`/`FAILED`), 按 `resource_type` 区分的逐跳 `observations`(Dropped* 条目带有 `reason` + `acl_rule_id`),以及 `dfw_hits` 摘要。 ## 安全性 - **依赖检查**:无法删除包含活动规则的策略,也无法删除被 DFW 规则/作用域引用的安全组;如果引用扫描失败,安全组删除操作将中止 - **审计日志**:所有写入操作都会记录到 `~/.vmware-nsx-security/audit.log` - **输入验证**:验证 ID;清理所有 API 文本以防范提示词注入 - **Dry-run 模式**:所有 CLI 写入命令均支持 `--dry-run` - **凭证安全**:密码仅从环境变量获取,绝不存放在配置文件中 ### 配套技能 | 技能 | 范围 | 工具数 | 安装 | |-------|-------|:-----:|---------| | **[vmware-aiops](https://github.com/zw008/VMware-AIops)** ⭐ 入口点 | 虚拟机生命周期、部署、客户机操作系统、集群 | 49 | `uv tool install vmware-aiops` | | **[vmware-monitor](https://github.com/zw008/VMware-Monitor)** | 只读监控、警报、事件、虚拟机信息 | 27 | `uv tool install vmware-monitor` | | **[vmware-nsx](https://github.com/zw008/VMware-NSX)** | NSX 网络:分段、网关、NAT、IPAM | 33 | `uv tool install vmware-nsx-mgmt` | | **[vmware-storage](https://github.com/zw008/VMware-Storage)** | Datastores, iSCSI, vSAN | 11 | `uv tool install vmware-storage` | | **[vmware-vks](https://github.com/zw008/VMware-VKS)** | Tanzu 命名空间, TKC 集群生命周期 | 20 | `uv tool install vmware-vks` | | **[vmware-aria](https://github.com/zw008/VMware-Aria)** | Aria Ops 指标、警报、容量规划 | 28 | `uv tool install vmware-aria` | ## 版本兼容性 | NSX 版本 | 支持 | 说明 | |-------------|---------|-------| | NSX 9.1 / VCF 9.1 | ✅ 完全支持 | 通过 Policy API 支持 DFW + 安全组 + Traceflow + IDS/IPS。要求 VDS 7.0 及以上版本(NSX 9 中已移除 N-VDS)。 | | NSX 9.0 / VCF 9.0 | ✅ 完全支持 | 与 9.1 相同。移除了裸机 NSX 代理。 | | NSX 4.x / VCF 5.x | ✅ 完全支持 | 支持所有功能。 | | NSX-T 3.2 / VCF 4.5 | ✅ 完全支持 | Policy API 已稳定。 | #### 官方 Broadcom 参考资料 - **SDKs**: — VMware NSX for Python SDK(未来迁移目标) - **REST APIs**: — NSX-T Data Center REST API - **CLI Tools**: — VCF PowerCLI 9.1 ## License MIT
标签:AI代理, Docker 部署, MCP工具, VMware NSX, 分布式防火墙, 微分段, 网络运维, 逆向工具