---
title: MCPトンネルのセキュリティ
url: https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/security
description: MCPトンネルのデプロイメントにおけるハードニングのガイダンス、認証情報のローテーション、侵害への対応、および撤去について説明します。
---

<Note>
  MCPトンネルはリサーチプレビュー段階です。お試しいただくには、[アクセスをリクエスト](https://claude.com/form/mcp-tunnels)してください。
</Note>

トンネルアーキテクチャは強力なデフォルト（アウトバウンドのみの接続、エンドツーエンドの暗号化、IP検証）を提供しますが、[トンネルスタック](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/concepts#components)全体のセキュリティは、その構成方法と運用方法にも依存します。このページでは、推奨されるハードニング、侵害への対応、およびトンネルの廃止方法について説明します。

## ベストプラクティス

* **すべてのMCPサーバーでOAuthを必須にする。** [MCP認可仕様](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization)に記載されているとおり、各[アップストリームMCPサーバー](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/concepts#components)がOAuthを必須とするように構成します。OAuthは、トンネルのトランスポート認証に加えて多層防御を提供し、データレイヤーでのユーザーレベルの認可を可能にします。
* **組織でSSOを有効にする。** トンネル、フェデレーションルール、サービスアカウントはClaude Consoleで管理されます。SSOは、これらを変更できる管理者に対して、IDプロバイダーのセッション制御を適用します。
* **`upstream.allowed_ips`を制限する。** MCPサーバーをカバーする最小のCIDR範囲を使用します。これは[プロキシ](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/concepts#components)の主要なSSRF防御です。
* **ログを監視する。** トンネルスタックからの警告、エラー、および異常なトラフィックパターンに対してアラートを設定します。
* **認証情報をローテーションする。** サーバー証明書とトンネルトークンを定期的なスケジュールでローテーションし、侵害が疑われる場合は直ちにローテーションします。
* **イメージを最新に保つ。** 新しいプロキシのリリースを追跡し、イメージをSHA-256ダイジェストで固定します。
* **ネットワークの到達範囲を制限する。** プロキシと[cloudflared](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/concepts#components)は、[ネットワーク要件](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/overview#network-requirements)に記載されている宛先にのみ到達できるようにします。NetworkPolicy（Kubernetes）またはホストのファイアウォールルール（Compose）を使用します。
* **MCPサーバーのスコープを制限する。** 各サーバーは、その目的に必要なツールとデータのみを公開するようにします。
* **保存時の認証情報を保護する。** 秘密鍵とトンネルトークンに、組織のシークレット管理のプラクティスを適用します。

## 侵害が疑われる場合の対応

トンネルトークン、TLSキー、またはプロキシホストが侵害されたと思われる場合は、次の手順に従います。

<Steps>
  <Step title="トンネルスタックを停止する">
    <Tabs>
      <Tab title="Helm">
        ```bash
        helm uninstall mcp-tunnel -n mcp-tunnel
        ```
      </Tab>

      <Tab title="Docker Compose">
        ```bash
        docker compose down --timeout 0
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="アップストリームMCPサーバーを切り離す">
    アップストリームMCPサーバーを使用しているすべてのManaged Agentセッションからそれらを削除し、Messages APIリクエストの`mcp_servers`ブロックでそれらのURLを渡すのをやめます。
  </Step>

  <Step title="トンネルをアーカイブする">
    アーカイブすると、トンネルトークンが無効になり、ドメインが切り離されます。Consoleで、**MCP tunnels**リストから[トンネルをアーカイブ](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/console#archive-a-tunnel)します。代わりにAPI経由でアーカイブする場合は、[トンネルをアーカイブする](https://platform.claude.com/docs/ja/api/beta/tunnels/archive)を参照してください。
  </Step>

  <Step title="Anthropicに連絡する">
    疑われる侵害をAnthropicサポートに報告します。
  </Step>

  <Step title="ダウンストリームの認証情報をローテーションする">
    新しいトンネルを再プロビジョニングし、影響を受けたMCPサーバーが発行したOAuthトークンをすべてローテーションします。
  </Step>

  <Step title="サービスを復旧する前にログを確認する">
    新しいトンネルをオンラインにする前に、侵害が疑われる期間のプロキシ、cloudflared、およびMCPサーバーのログを調査します。
  </Step>
</Steps>

## トンネルを撤去する

トンネルを廃止し、保存されているすべての認証情報を削除するには、次の手順に従います。

<Steps>
  <Step title="トンネルスタックを停止する">
    <Tabs>
      <Tab title="Helm">
        ```bash
        helm uninstall mcp-tunnel -n mcp-tunnel
        ```
      </Tab>

      <Tab title="Docker Compose">
        ```bash
        docker compose down
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="トンネルをアーカイブする">
    Consoleで、**MCP tunnels**リストから[トンネルをアーカイブ](https://platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/console#archive-a-tunnel)します。
  </Step>

  <Step title="保存されている認証情報を削除する">
    <Tabs>
      <Tab title="Helm">
        プログラムによるアクセスを使用した場合、セットアップコンポーネントはリリース名にちなんだ単一のSecretを作成しています。プログラムによるアクセスを使用しなかった場合は、`mcp-tunnel-token`と`mcp-tunnel-cert`を自分で作成しています。該当するものを削除します。

        ```bash
        kubectl -n mcp-tunnel delete secret \
          mcp-tunnel mcp-tunnel-token mcp-tunnel-cert \
          --ignore-not-found
        ```
      </Tab>

      <Tab title="Docker Compose">
        秘密鍵と証明書は`data/`にあります。トンネルトークンは`data/tunnel-token`（プログラムによるフロー）またはシェル環境（手動フロー）にあります。`config/`ディレクトリと`docker-compose.yaml`にはシークレットは含まれていません。再プロビジョニングする予定がある場合は保持し、そうでなければ同様に削除します。

        ```bash
        sudo rm -rf data
        ```
      </Tab>
    </Tabs>
  </Step>
</Steps>
