コンテンツにスキップ

トンネル接続認証ポリシー (TunnelAuthMode)

AegisMesh の トンネル接続認証ポリシー (TunnelAuthMode) は、管理対象端末の接続認証方式をネットワーク(テナント/アカウント)全体で一元統制するエンタープライズ向けゼロトラスト機能です。

一般的なメッシュVPNでは、常時接続用のマシントンネル(Setup Key)と対話ログイン用のユーザートンネル(IdP / SSO)が同じネットワーク内に無制限に混在しやすく、「発行したSetup Keyが私物PCに流用される」「未管理端末から従業員アカウントで勝手にログインされる」といったセキュリティリスクが存在します。

AegisMesh では、管理画面から 4つの認証モード を切り替えることで、端末認証とユーザー認証の厳格な境界防御を実現します。


4つの認証モードの概要

管理コンソールの 「Settings」>「Network Settings」>「トンネル接続認証ポリシー」 から以下の4モードを選択できます。

flowchart TD
    subgraph Client["クライアント端末の接続試行"]
        User["ユーザーSSO認証 (IdP)"]
        Machine["事前承認 Setup Key (マシン)"]
        Hybrid["管理端末 + ユーザーSSO (ハイブリッド)"]
    end

    subgraph Policy["TunnelAuthMode ポリシー判定"]
        direction TB
        M_Flex["flexible (標準: 両方許可)"]
        M_User["user_only (SSO必須・Key拒否)"]
        M_Mach["machine_only (Key必須・SSO拒否)"]
        M_Strict["strict_hybrid (二重認証必須)"]
    end

    subgraph Result["接続制御"]
        Pass["✅ ピア登録・通信許可"]
        Block["❌ 登録拒否 (PermissionDenied)"]
    end

    User --> M_Flex --> Pass
    Machine --> M_Flex --> Pass

    User --> M_User --> Pass
    Machine --> M_User --> Block

    User --> M_Mach --> Block
    Machine --> M_Mach --> Pass

    User --> M_Strict --> Block
    Hybrid --> M_Strict --> Pass

1. flexible(柔軟モード - デフォルト)

  • 仕様: マシントンネル(Setup Key)およびユーザートンネル(IdP / SSO)双方の個別接続を無条件で許可します。
  • 適用推奨: 初期導入フェーズ、開発環境、またはサーバーと社員PCが混在する小規模運用。

2. user_only(ユーザー認証限定モード)

  • 仕様: IdP / SSO(Google Workspace、Microsoft Entra ID、Okta等)による正規ユーザー認証端末のみ接続を許可します。Setup Key による単体接続試行は管理サーバーで即時遮断されます。
  • 適用推奨: 全員が社内IdPアカウントを持つテレワーク環境。野良キーの不正発行やトークン漏洩による未承認マシンの混入を完全に根絶したい組織。

3. machine_only(マシントンネル限定モード)

  • 仕様: 事前承認された Setup Key による端末認証のみを許可します。個人ユーザーによる対話型 SSO ログイン接続は一切拒否されます。
  • 適用推奨: 監視カメラ、POS端末、IoTゲートウェイ、社内Linuxサーバー、CI/CDランナーなど、対話型ユーザーが存在しないシステム専用の独立ネットワーク。

4. strict_hybrid(厳格ハイブリッド認証モード - 最上位セキュリティ)

  • 仕様: 事前承認された管理対象端末(マシントンネル)上において、正規ユーザーのSSO対話認証が行われた場合のみ 通信を許可します(端末認証 × ユーザー認証の二重強制)。
  • 適用推奨: ゼロトラストを厳格に適用する大企業・金融機関・医療機関。「私物PC(BYOD)に従業員アカウントでログインして社内網へ入る」行為をシステム的に100%防止します。

個別境界値テスト & 動作マトリクス

AegisMesh 管理サーバー(management/server/peer.go および peer_test.go)では、各モードに対する個別境界値テスト(Test_ValidateTunnelAuthMode)が全10ケース実装され、厳格なバリデーションが自動検証されています。

境界値テスト結果マトリクス

テストケース名設定モード (mode)接続元種別判定結果サーバー挙動・理由
flexible allows user registrationflexibleユーザーSSO認証✅ 許可標準モードのためユーザー対話接続を許可
flexible allows machine setup key registrationflexibleSetup Key✅ 許可標準モードのためマシン事前共有キー接続を許可
empty mode defaults to flexible"" (未設定・空文字)ユーザーSSO認証✅ 許可後方互換性のため未設定時は自動的に flexible としてフォールバック
machine only denies user registrationmachine_onlyユーザーSSO認証❌ 拒否ユーザーSSO単体接続をブロック (Error)
machine only allows machine setup key registrationmachine_onlySetup Key✅ 許可事前承認されたSetup Key端末のため通過
user only denies machine setup key registrationuser_onlySetup Key❌ 拒否キー単体接続をブロック (Error)
user only allows user registrationuser_onlyユーザーSSO認証✅ 許可IdPによる正当なユーザー対話認証のため通過
strict hybrid denies pure user registrationstrict_hybridユーザー単体 (BYOD)❌ 拒否マシントンネルのコンテキストが存在しないため遮断 (Error)
strict hybrid allows machine registrationstrict_hybridSetup Key (マシン)✅ 許可基盤となるマシントンネルの初期登録を許可
embedded proxy always allowedmachine_only組み込みプロキシ✅ 許可システム内部の ProxyMeta.Embedded ピアは運用維持のためモード不問でバイパス

管理画面(Web UI)での設定手順

  1. AegisMesh 管理コンソールに管理者権限(TenantAdmin / ResaleAdmin / SuperAdmin)でログインします。
  2. 左側サイドメニューの 「Settings」 をクリックし、「Network Settings」 タブを開きます。
  3. 「トンネル接続認証ポリシー(Tunnel Connection Auth Policy)」 項目を確認します。
  4. ドロップダウンメニューから、組織の運用セキュリティ基準に合致するモード(flexible / user_only / machine_only / strict_hybrid)を選択します。
  5. 選択と同時に設定が安全に保存され、直ちに新規接続ピアへの評価ルールへ適用されます。

REST API による自動化設定

CI/CD やインフラ自動構成スクリプトから本ポリシーを制御する場合、Management REST API を使用します。

エンドポイント

PUT /api/accounts/{account_id}/settings
Content-Type: application/json

リクエストボディ例

{
"tunnel_auth_mode": "strict_hybrid"
}

指定可能な値

  • "flexible"
  • "user_only"
  • "machine_only"
  • "strict_hybrid"

トラブルシューティング & エラー挙動

接続拒否時のクライアント側エラー

ポリシーによって接続が拒否された場合、クライアントCLI(aegismesh status)またはログには以下のメッセージが出力されます:

Error: failed to register peer: tunnel authentication mode violation (user_only mode active, machine key registration rejected)

対処方法

  • Setup Key 端末が繋がらない場合: 管理設定が誤って user_only に設定されていないか確認してください。
  • 社員のPCがログインできない場合: 管理設定が machine_only になっていないか、または strict_hybrid 環境で端末の事前登録(Setup Keyによる基盤セットアップ)が完了しているかを確認してください。