Skip to content

Latest commit

 

History

History
223 lines (162 loc) · 15.8 KB

File metadata and controls

223 lines (162 loc) · 15.8 KB

MCPセキュリティベストプラクティス - 2026年2月アップデート

重要:このドキュメントは最新のMCP仕様 2025-11-25のセキュリティ要件および公式MCPセキュリティベストプラクティスを反映しています。常に最新のガイダンスについては現行仕様を参照してください。

🏔️ ハンズオンセキュリティトレーニング

実践的な実装経験のために、**MCPセキュリティサミットワークショップ(Sherpa)**を推奨します。Azure上のMCPサーバーのセキュリティ確保に関する包括的なガイド付きエクスペディションです。ワークショップでは「脆弱性 → 攻撃 → 修正 → 検証」という手法でOWASP MCP Top 10のリスクを網羅します。

本ドキュメントのすべての実践はAzure特有の実装ガイダンスとして**OWASP MCP Azureセキュリティガイド**と整合しています。

MCP実装における必須セキュリティプラクティス

モデルコンテキストプロトコルは従来のソフトウェアセキュリティを超えた独自のセキュリティ課題をもたらします。これらのプラクティスは基本的なセキュリティ要件に加え、プロンプトインジェクション、ツールポイズニング、セッションハイジャック、混乱代行問題、トークンパストスルーの脆弱性などMCP特有の脅威に対処します。

必須のセキュリティ要件

MCP仕様からの重要な要件:

必須のセキュリティ要件

MCP仕様からの重要な要件:

してはならない:MCPサーバーはMCPサーバー用に明示的に発行されていないトークンを受け入れてはならない

しなければならない:認可を実装するMCPサーバーはすべての受信リクエストを検証しなければならない

してはならない:MCPサーバーは認証にセッションを使用してはならない

しなければならない:静的クライアントIDを使用するMCPプロキシサーバーは動的に登録された各クライアントについてユーザーの同意を得なければならない


1. トークンセキュリティと認証

認証および認可コントロール:

  • 厳密な認可レビュー:MCPサーバーの認可ロジックを包括的に監査し、意図したユーザーとクライアントのみがリソースにアクセスできるようにする
  • 外部IDプロバイダー統合:Microsoft Entra IDなどの確立されたIDプロバイダーを使用し、カスタム認証の実装は避ける
  • トークンのオーディエンス検証:トークンが必ず自分のMCPサーバー向けに明示的に発行されたことを常に検証し、上流のトークンは受け入れない
  • 適切なトークンライフサイクル:安全なトークンローテーション、有効期限ポリシーを実装し、トークンのリプレイ攻撃を防止する

保護されたトークンストレージ:

  • すべてのシークレットをAzure Key Vaultや同等の安全な資格情報ストアに保存する
  • トークンは保存時および転送時に暗号化を実施
  • 定期的な資格情報ローテーションと不正アクセスの監視

2. セッション管理と通信セキュリティ

安全なセッション管理の慣行:

  • 暗号学的に安全なセッションID:安全な乱数生成器で生成された非決定的なセッションIDを使用
  • ユーザー固有バインディング<user_id>:<session_id>のような形式でセッションIDをユーザーIDに紐付けし、ユーザー間のセッション悪用を防止
  • セッションのライフサイクル管理:適切な有効期限設定、ローテーション、無効化を実装して脆弱性の露出時間を制限
  • HTTPS/TLSの強制:セッションIDの盗聴を防ぐためにすべての通信でHTTPSを必須化

トランスポート層セキュリティ:

  • 可能な限りTLS 1.3を適切な証明書管理と共に設定
  • 重要な接続には証明書ピニングを実装
  • 定期的な証明書ローテーションと有効性の検証

3. AI特有の脅威保護 🤖

プロンプトインジェクション防御:

  • Microsoftプロンプトシールド:悪意のある指示の高度検知とフィルタリングのためにAIプロンプトシールドを展開
  • 入力のサニタイズ:すべての入力を検証および無害化し、インジェクション攻撃や混乱代行問題を防止
  • コンテンツ境界管理:信頼された指示と外部コンテンツを区別するための区切り文字およびデータマークシステムを使用

ツールポイズニング防止:

  • ツールメタデータ検証:ツール定義の整合性チェックを実装し、予期しない変更を監視
  • 動的ツール監視:実行時の挙動を監視し、異常な実行パターンにアラートを設定
  • 承認ワークフロー:ツールの変更や機能追加には明示的なユーザー承認を必須化

4. アクセス制御と権限管理

最小権限の原則:

  • MCPサーバーに対して、意図された機能に必要な最小限の権限のみを付与
  • 詳細な権限設定が可能なロールベースアクセス制御(RBAC)を実装
  • 定期的な権限レビューと権限昇格の監視を継続的に実施

実行時権限管理:

  • リソース枯渇攻撃を防ぐためのリソース制限を適用
  • ツール実行環境にはコンテナー分離を使用
  • 管理機能には必要に応じたオンデマンドアクセスを実装

5. コンテンツセーフティと監視

コンテンツセーフティの実装:

  • Azure Content Safety統合:有害コンテンツ、不正脱獄試行、ポリシー違反を検出するためAzure Content Safetyを活用
  • 挙動分析:MCPサーバーおよびツールの実行時に振る舞いの異常を検出するためライブ監視を実装
  • 包括的ログ記録:すべての認証試行、ツール呼び出し、セキュリティイベントを安全かつ改ざん不可な形で記録

継続的監視:

  • 不審なパターンや不正アクセス試行のリアルタイムアラート
  • 中央集約型セキュリティイベント管理のためにSIEMシステムと統合
  • MCP実装の定期的なセキュリティ監査とペネトレーションテスト

6. サプライチェーンセキュリティ

コンポーネント検証:

  • 依存関係スキャン:すべてのソフトウェア依存関係やAIコンポーネントに対する自動脆弱性スキャンを実施
  • プロビナンス検証:モデル、データソース、外部サービスの出所・ライセンス・整合性を検証
  • 署名済みパッケージ:暗号署名されたパッケージを使用し、展開前に署名検証を行う

安全な開発パイプライン:

  • GitHub Advanced Security:シークレットスキャン、依存関係解析、CodeQL静的解析を実装
  • CI/CDセキュリティ:自動展開パイプライン全体でのセキュリティ検証を統合
  • アーティファクト整合性:展開されたアーティファクトと設定に対する暗号学的検証を実装

7. OAuthセキュリティと混乱代行防止

OAuth 2.1実装:

  • PKCE導入:すべての認可リクエストでProof Key for Code Exchange (PKCE) を使用
  • 明示的同意:混乱代行攻撃防止のため、動的に登録された各クライアントについてユーザーの同意を取得
  • リダイレクトURI検証:リダイレクトURIとクライアント識別子の厳格な検証を実施

プロキシセキュリティ:

  • 静的クライアントID悪用による認可回避を防止
  • サードパーティAPIアクセスに適切な同意ワークフローを実装
  • 認可コード盗難や不正APIアクセスを監視

8. インシデント対応と復旧

迅速な対応能力:

  • 自動化された対応:資格情報ローテーションおよび脅威封じ込めのための自動システムを実装
  • ロールバック手順:既知の良好な構成・コンポーネントへの迅速な復旧能力
  • フォレンジック能力:インシデント調査に必要な詳細な監査履歴とログ管理

コミュニケーションと連携:

  • セキュリティインシデントの明確なエスカレーション手順
  • 組織のインシデント対応チームとの統合
  • 定期的なセキュリティインシデントシミュレーションおよびテーブルトップ演習

9. コンプライアンスとガバナンス

規制遵守:

  • MCP実装が業界特有の要件(GDPR、HIPAA、SOC 2)を満たしていることを確保
  • AIデータ処理のためのデータ分類およびプライバシー制御を実装
  • コンプライアンス監査用の包括的なドキュメントの維持

変更管理:

  • すべてのMCPシステム変更に対する正式なセキュリティレビュー手続きを設ける
  • 設定変更におけるバージョン管理および承認ワークフローの運用
  • 定期的なコンプライアンス評価およびギャップ分析の実施

10. 高度なセキュリティコントロール

ゼロトラストアーキテクチャ:

  • 決して信用せず、常に検証:ユーザー、デバイス、接続の継続的検証
  • マイクロセグメンテーション:MCPの各コンポーネントを細かく分離するネットワーク制御
  • 条件付きアクセス:現在のコンテキストや振る舞いに応じたリスクベースのアクセスポリシー

実行時アプリケーション保護:

  • Runtime Application Self-Protection (RASP):リアルタイム脅威検出のためにRASP技術を展開
  • アプリケーションパフォーマンス監視:攻撃を示唆する性能異常を監視
  • 動的セキュリティポリシー:現在の脅威状況に応じて適用されるセキュリティポリシーを実装

11. Microsoftセキュリティエコシステムとの統合

包括的なMicrosoftセキュリティ:

  • Microsoft Defender for Cloud:MCPワークロードのクラウドセキュリティ態勢管理
  • Azure Sentinel:高度な脅威検出のためのクラウドネイティブSIEMおよびSOAR機能
  • Microsoft Purview:AIワークフローおよびデータソースのためのデータガバナンスとコンプライアンス

IDおよびアクセス管理:

  • Microsoft Entra ID:条件付きアクセスポリシーを備えたエンタープライズID管理
  • Privileged Identity Management (PIM):管理機能のオンデマンドアクセスと承認ワークフロー
  • Identity Protection:リスクベース条件付きアクセスと自動脅威対応

12. 継続的なセキュリティ進化

最新の状態を維持:

  • 仕様監視:MCP仕様の更新やセキュリティガイダンスの変更を定期的にレビュー
  • 脅威インテリジェンス:AI特有の脅威フィードと妥協指標の統合
  • セキュリティコミュニティ参加:MCPセキュリティコミュニティおよび脆弱性開示プログラムに積極参加

適応的セキュリティ:

  • 機械学習セキュリティ:新規攻撃パターンを検知するためMLベースの異常検出を利用
  • 予測的セキュリティ分析:先進的な脅威識別のため予測モデルを実装
  • セキュリティ自動化:脅威インテリジェンスおよび仕様変更に基づくポリシーの自動更新

重要なセキュリティリソース

公式MCPドキュメント

OWASP MCPセキュリティリソース

Microsoftセキュリティソリューション

セキュリティ標準

実装ガイド


セキュリティ注意事項:MCPのセキュリティプラクティスは急速に進化しています。実装前に必ず現行のMCP仕様および公式セキュリティドキュメントで確認してください。

次にすること


免責事項
本書類はAI翻訳サービスCo-op Translatorを使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。原文の言語で記載された文書が権威ある情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や誤訳についても責任を負いかねます。