mcpField
V
VMware NSX Security

VMware NSX Security

ローカル
github.com/vmware-skillsセキュリティ42 週間前に更新

VMware NSX Security について

VMware NSX Securityは、NSXのセキュリティ管理とネットワークトラフィックの調査に使うMCPサーバーです。分散ファイアウォールのポリシーやルール、グループ、タグ、Traceflow、IDPSを扱うチーム向けで、書き込み操作の監査と削除プレビューも備えています。

主な機能

  1. 01DFWポリシーとルールの管理
  2. 02セキュリティグループの作成と照会
  3. 03VMタグの適用と削除
  4. 04Traceflowによるパケット追跡
  5. 05IDPS設定の確認
  6. 06書き込みの監査と削除プレビュー

活用シーン

  1. 01アプリケーションのマイクロセグメンテーション設定
  2. 02VMの整理とタグ付け
  3. 03パケット経路と破棄理由の調査
  4. 04DFW除外リストと対象メンバーの確認

MCP 対応

MCPサーバーはNSX DFW、セキュリティグループ、VMタグ、Traceflow、IDPS、除外リスト向けの22個のツールを公開します。クライアントはstdioまたはHTTPSで接続でき、公開するツールを制限できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"vmware-skills-vmware-nsx-security": {
"command": "uvx",
"args": [
"vmware-nsx-security"
],
"env": {
"VMWARE_NSX_SECURITY_CONFIG": "<VMWARE_NSX_SECURITY_CONFIG>"
}
}
}
}
起動コマンドuvx vmware-nsx-security
設定が必要な環境変数
VMWARE_NSX_SECURITY_CONFIGPath to the config file. Defaults to ~/.vmware-nsx-security/config.yaml.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypivmware-nsx-security1.17.1

ツール

22

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
limitintegerいいえページサイズ。1..1000(デフォルトは 50)。すべての結果を要求する方法ではありません — 0 以下は拒否されます。
offsetintegerいいえスキップする一致ポリシー数。0 以上である必要があります。直前のレスポンスの `next_offset` を渡してください。
targetanyいいえ設定内の NSX Manager ターゲット名。省略した場合はデフォルトを使用します。
name_filteranyいいえポリシーの display_name に対する部分文字列/グロブ一致。

詳細

VMware NSX Security

Author: Wei Zhou, VMware by Broadcom — [email protected] VMware のエンジニアによるコミュニティ主導のプロジェクトであり、公式の VMware 製品ではありません。 VMware の公式開発者向けツールについては、developer.broadcom.com をご覧ください。

VMware NSX DFW のマイクロセグメンテーションとセキュリティ向け MCP スキルです。分散ファイアウォールのポリシー/ルール、セキュリティグループ、VM タグ、DFW 除外リスト、Traceflow パケットトレース、IDPS に関する 22 個のツールを提供します。

関連スキル: vmware-nsx(ネットワーク)、vmware-aiops(VM ライフサイクル)、vmware-monitor(監視)

クイックスタート

uv tool install vmware-nsx-security

mkdir -p ~/.vmware-nsx-security
cp config.example.yaml ~/.vmware-nsx-security/config.yaml
# Edit config.yaml with your NSX Manager host

echo "VMWARE_NSX_SECURITY_NSX_PROD_PASSWORD=your_password" > ~/.vmware-nsx-security/.env
chmod 600 ~/.vmware-nsx-security/.env

vmware-nsx-security doctor
オフライン/エアギャップ環境へのインストール(ソースから)

このプロジェクトでは最新の PEP 517 ビルドシステム(hatchling)を使用しているため、設計上 setup.py はありません。これは想定どおりであり、ファイルの欠落ではありません。ソースをクローンして、ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build というエラーが出た場合、お使いの pip は 21.3 より古く、setuptools 以外のバックエンドでは 編集可能(-e)インストールを実行できません。編集可能モードは開発者向けの利便機能であり、ツールの実行には不要です。次のいずれかを行ってください。

# From the source tree — a normal (non-editable) install builds a wheel:
pip install .              # NOT  pip install -e .

# ...or upgrade pip first, and editable works too:
pip install --upgrade pip && pip install -e .

完全なエアギャップ環境のホストでは、ネットワークに接続されたマシンで wheel をビルドしてコピーしてください。これにより、対象ホストでネットワークは不要になります。

# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist        # → dist/*.whl   (or: uv build, for just this package)

# Copy dist/ to the air-gapped host, then install offline:
pip install --no-index --find-links dist vmware-nsx-security

機能

カテゴリツール
DFW ポリシー一覧表示、取得、作成、更新、削除、ルール一覧表示
DFW ルール作成、更新、削除、統計
セキュリティグループ一覧表示、取得、作成、削除
VM タグタグ一覧表示、タグ適用、タグ削除
Traceflowトレース実行、結果取得
IDPSプロファイル一覧表示、シグネチャの状態と設定
DFW 除外除外メンバーの一覧表示

合計:22 個の MCP ツール(読み取り専用 11 個+書き込み 11 個)

DFW 除外リスト

NSX 分散ファイアウォールの除外リストに登録された VM には、データパス上で DFW が適用されません。その VM を指定するルールが存在していても、どのルールも適用されません。VCF 環境では、管理 VM(vCenter、VCF Operations、NSX マネージャー)が一般的にこのリストに登録されます。実際の NSX 9.1 ファブリックでは、12 台中 10 台の VM が除外されていました。list_dfw_exclusions でリストを確認できます。また、list_vm_tags/get_group/list_dfw_policies はメンバーが除外対象であることを示すため、DFW が認識しない VM に対して「DFW ポリシーで保護されている」と報告することはありません。dfw_excluded: null はリストを読み取れなかったことを意味し、false ではありません。

MCP サーバーのセットアップ

uv tool install vmware-nsx-security の実行後、1 つのコマンドで MCP サーバーを起動できます(v1.5.15 以降)。

# Recommended — single command, no network re-resolve
vmware-nsx-security mcp

# With a custom config path
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(インストール不要)または従来のエントリーポイント
# Run without installing (requires PyPI access each launch)
uvx --from vmware-nsx-security vmware-nsx-security mcp

# Legacy entry point (still works, kept for backward compatibility)
vmware-nsx-security-mcp

企業の TLS プロキシ経由で接続していますか? uvx で invalid peer certificate: UnknownIssuer エラーが発生することがあります。 推奨される上記の vmware-nsx-security mcp 形式を使用してください(ネットワークは不要です)。または、UV_NATIVE_TLS=true を設定してください。

よくあるワークフロー

アプリケーションをマイクロセグメント化する
# 1. Create groups by tag — via the create_group MCP tool
#    (tag_scope=tier, tag_value=web → matched as Condition value "tier|web";
#     multiple criteria types — tag/IP/segment — are ORed)

# 2. Create DFW policy
vmware-nsx-security policy create web-app-policy --name "Web to App" --category Application
VM にタグを付ける
# Find VM and its external ID
vmware-nsx-security tag list my-vm-01

# Apply tag using the external ID
vmware-nsx-security tag apply <external-id> --scope tier --value web
パケットをトレースする
vmware-nsx-security traceflow run <src-lport-id> \
  --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 テキストをサニタイズします。
  • ドライランモード:すべての CLI 書き込みコマンドで --dry-run を使用できます。
  • MCP 削除のプレビュー:delete_dfw_policy、delete_dfw_rule、delete_group はデフォルトでプレビューを表示します。confirm=True を指定しない場合は、blast_radius(削除される内容、blockers、unmeasured)を返し、何も削除しません。ブロッカーが残っている場合、または読み取りに失敗した場合、confirm=True は拒否されます。
  • 認証情報の安全性:パスワードは環境変数からのみ取得し、設定ファイルには保存しません。
関連スキル
スキル対象範囲ツールインストール
vmware-aiops ⭐ エントリーポイントVM ライフサイクル、デプロイ、ゲスト操作、クラスター49uv tool install vmware-aiops
vmware-monitor読み取り専用の監視、アラーム、イベント、VM 情報27uv tool install vmware-monitor
vmware-nsxNSX ネットワーク:セグメント、ゲートウェイ、NAT、IPAM33uv tool install vmware-nsx-mgmt
vmware-storageデータストア、iSCSI、vSAN11uv tool install vmware-storage
vmware-vksTanzu 名前空間、TKC クラスターのライフサイクル20uv tool install vmware-vks
vmware-ariaAria Ops のメトリクス、アラート、キャパシティプランニング28uv 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 公式リファレンス

リモートアクセス(HTTPS)とツールの制限

デフォルトでは、vmware-nsx-security mcp は stdio で 1 つのローカルクライアントと通信し、すべてのツールを提供します。次の 2 つのオプションで変更できます (vmware-policy ≥ 1.21.0)。

HTTPS 経由で提供すると、ほかのマシン上のクライアントが接続できます。すべての呼び出し元にベアラートークンが必要です:

vmware-audit token create alice          # prints the token once; give it to alice
vmware-audit token list                  # names only
vmware-audit token revoke alice          # refused from its next request, no restart
vmware-nsx-security mcp --transport https --host 0.0.0.0 --port 8443 \
    --cert /etc/vmware-mcp/server.pem --key /etc/vmware-mcp/server-key.pem \
    --public-name mcp.example.com

クライアントを接続します(Claude Code の例です。ストリーミング可能な HTTP とカスタムヘッダーに対応する MCP クライアントであれば、どれでも使用できます):

claude mcp add --transport http vmware-nsx-security https://mcp.example.com:8443/mcp \
    --header "Authorization: Bearer $VMWARE_MCP_TOKEN"
{
  "mcpServers": {
    "vmware-nsx-security": {
      "type": "http",
      "url": "https://mcp.example.com:8443/mcp",
      "headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }
    }
  }
}
  • トークンがないとサーバーは起動せず、--public-name 以外の Host/Origin 値を拒否し、未認証のリクエストが 401 を返すことをバインド前に確認します。これらの名前について、クライアントが信頼する証明書を使用してください。
  • 同じマシン上の TLS 終端リバースプロキシの背後では、--transport http --host 127.0.0.1 --public-name mcp.example.com を使用し、Authorization ヘッダーを転送してください。
  • 別のマシン上のロードバランサーまたはゲートウェイの背後では、--transport https を維持します(自己署名証明書でもかまいません)。ロードバランサーが Host として送信するホスト名を --public-name に指定し、Authorization を転送するように設定してください。 ヘルスプローブには GET /healthz を使用できます。トークンは不要で、{"status": "ok"} のみを返します (vmware-policy ≥ 1.23.0)。
  • 各リクエストに traceparent または X-Request-ID を指定すると、監査ログの行に保存されます。 vmware-audit log --correlation-id ID を使うと、1 つのプラットフォームリクエストに関連する呼び出しを見つけられます。
  • 監査ログでは、呼び出し元はそれぞれ token:<name> として記録されます。呼び出しは、ターゲットの有無にかかわらず並行して実行されます。各ターゲットは最大 VMWARE_MCP_POOL_SIZE 個のセッション(デフォルトは 2)を保持し、各セッションはターゲットへのログインです。すべてのセッションが使用中の場合、呼び出しは空きができるまで最大 300 秒待機します。
  • エンドポイントに接続できる人は誰でも、このサーバーのアカウントで操作できます。 トークンは呼び出し元を識別しますが、プラットフォーム上の権限を付与するものではありません。権限レベルごとにエンドポイントを 1 つ実行してください。
  • 1 つのエンドポイントで複数のユーザーやロールを使う場合: vmware-audit roles enable を 1 回実行し、各トークンにロールを割り当てます(vmware-audit token create NAME --role reader、またはツールとターゲットを指定する roles.yaml 内のロールを使用します。vmware-policy ≥ 1.24.0)。ロールは、このエンドポイントでトークンが呼び出せる内容を制限します。アカウントが持つ権限を超える権限は付与できません。vmware-policy の README の「Roles for network callers」を参照してください。

読み取りツールと、選択した書き込みツールのみを提供します:

vmware-nsx-security mcp --expose read --allow-write apply_vm_tag
# or: VMWARE_NSX_SECURITY_MCP_EXPOSE=read VMWARE_NSX_SECURITY_MCP_ALLOW_WRITE=apply_vm_tag vmware-nsx-security mcp

提供対象に含まれないツールは、クライアントのツール一覧に表示されません。不正な値、または不明な書き込みツールが指定されると、サーバーは停止します (終了コード 2)。これはクライアントに提供するツールを制限するものであり、認可ではありません。そのため、アカウント自体には最小権限を適用してください。

詳細:skills/vmware-nsx-security/references/setup-guide.md(「Serving MCP over HTTPS」、「Limiting which tools are offered」)。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。