Microsoft Tunnel は、Linux 上のコンテナーで実行される Microsoft Intune 用の VPN ゲートウェイ ソリューションであり、先進認証と条件付きアクセスを使用して、iOS/iPadOS デバイスや Android Enterprise デバイスからオンプレミスのリソースへのアクセスを可能にします。
この記事では、Microsoft Tunnel のコア機能、そのしくみ、およびそのアーキテクチャについて説明します。
Microsoft Tunnel を展開する準備が整ったら、Microsoft Tunnel の前提条件に関する記事を参照して、Microsoft Tunnel を構成します。
Microsoft Tunnel をデプロイした後、 モバイル アプリケーション管理用 Microsoft Tunnel (Tunnel for MAM) を追加することを選択できます。 MAM 用トンネルは、Microsoft Tunnel VPN ゲートウェイを拡張して、Android または iOS を実行し、Microsoft Intune に登録されていないデバイスをサポートします。 MAM 用トンネルは Microsoft Intune の高度な機能であり、Microsoft Intune 以外に追加のライセンスが必要です。
注:
Microsoft Tunnel は、Federal Information Processing Standard (FIPS) に準拠したアルゴリズムを使用していません。
ヒント
Microsoft ダウンロード センターから Microsoft Tunnel 展開ガイド v3 をダウンロードします。
Microsoft Tunnel の概要
Microsoft Tunnel Gateway は、Linux サーバー上で実行されるコンテナーにインストールされます。 Linux サーバーは、オンプレミス環境の物理ボックス、またはオンプレミスまたはクラウドで実行されている仮想マシンのいずれかになります。 Tunnel を構成するには、Microsoft Defender を Microsoft Tunnel クライアント アプリとして展開し、Intune VPN プロファイルを iOS および Android デバイスに展開します。 クライアント アプリと VPN プロファイルにより、デバイスはトンネルを使用して企業リソースに接続できます。 トンネルがクラウドでホストされている場合は、Azure ExpressRoute などのソリューションを使用してオンプレミス ネットワークをクラウドに拡張する必要があります。
機能
トンネルの VPN プロファイルの機能には、次のようなものがあります。
エンド ユーザーに表示される VPN 接続のフレンドリ名。
VPN クライアントの接続先サイト。
VPN プロファイルをどのアプリに対して使用するか、およびそれを常時オンにするかどうかを定義する、アプリごとの VPN 構成。 常時オンの場合、VPN は自動的に接続され、定義したアプリにのみ使用されます。 アプリが定義されていない場合、常時オン接続によって、デバイスからのすべてのネットワーク トラフィックに対してトンネル アクセスが提供されます。
アプリごとの VPN をサポートするように Microsoft Defender を構成し、TunnelOnly モードが True に設定されている iOS デバイスの場合、ユーザーはトンネルを使用するためにデバイスで Microsoft Defender を開いたりサインインしたりする必要はありません。 代わりに、ユーザーがデバイスのポータル サイト、または有効なアクセス トークンを持つ多要素認証を使用するその他のアプリにサインインした場合、アプリごとのトンネル VPN が自動的に使用されます。 TunnelOnly モードは iOS/iPadOS でサポートされており、Defender 機能を無効にし、Tunnel 機能のみを残します。
ユーザーが VPN を起動して [接続] を選択したときの、トンネルへの手動接続。
特定の FQDN または IP アドレスに対する条件が満たされたときに VPN の使用を許可するオンデマンド VPN 規則。 (iOS/iPadOS)
プロキシ サポート。 (iOS/iPadOS、Android 11+)
厳密なトンネル モードは、VPN 接続が切断されたときにすべてのネットワーク トラフィックをブロックし、データがトンネルをバイパスしないようにします。 登録済みの Android デバイスの場合、Always-on VPN が有効になっている場合、ストリクト トンネル モードを使用できます。 詳細については、「 Microsoft Tunnel の構成」を参照してください。 MAM トンネルを使用している未登録デバイスの場合、ストリクト トンネル モードは Microsoft Edge アプリの構成ポリシーを通じて構成されます。 詳細については、「MAM 用 Microsoft Tunnel」を参照してください。 (Android)
Android ルート検出。 Microsoft Defender クライアントは、デバイスがルート化されていることを識別した場合、デバイスからの Microsoft Tunnel へのアクセスを自動的にブロックします。
デバイスがルート化されていると識別されると、クライアントはすぐにデバイスのリスク カテゴリを [高] にマークし、アクティブなトンネル接続を削除し、デバイスが準拠していると判断されるまでアクセスをブロックし続けます。 デバイス ユーザーは、この状態に関する通知を Defender クライアントから受け取ります。
この機能は、Android の Intune コンプライアンス ポリシーを使用して、ルート化されたデバイスの設定を管理する、整合性評定を再生し、デバイスをデバイスの脅威レベル以下にする必要があるようにするというものにはなりません。 Intune コンプライアンス ポリシーを使用して Android のキー設定を管理すると、Android Enterprise の個人所有のフル マネージド デバイスの Microsoft ゼロ トラスト セキュリティ モデルがサポートされます。
セットアップの概要
Microsoft Intune 管理センターを通じて、次のことができます。
- Linux サーバーで実行する Microsoft Tunnel インストール スクリプトをダウンロードします。
- Microsoft Tunnel Gateway の IP アドレス、DNS サーバー、ポートなどの側面を構成します。
- トンネルの使用を指示する VPN プロファイルをデバイスに展開します。
- Microsoft Defender (トンネル クライアント アプリ) をデバイスに展開します。
Defender アプリ、iOS/iPadOS、Android Enterprise デバイス:
- Microsoft Entra ID を使用してトンネルへの認証を行います。
- Active Directory フェデレーション サービス (AD FS) を使用して、トンネルへの認証を行います。
- 条件付きアクセス ポリシーに対して評価されます。 デバイスが準拠していない場合、VPN サーバーやオンプレミス ネットワークにアクセスすることはできません。
Microsoft Tunnel をサポートするために複数の Linux サーバーをインストールし、サーバーを "サイト" と呼ばれる論理グループにまとめることができます。 各サーバーは 1 つのサイトに参加できます。 サイトを構成するときは、デバイスがトンネルにアクセスするときに使用する接続ポイントを定義します。 サイトを使用するには、お客様が定義してサイトに割り当てる サーバー構成 が必要です。 そのサイトに追加する各サーバーにサーバー構成が適用されると、その他のサーバーの構成が簡素化されます。
デバイスにトンネルの使用を指示するには、Microsoft Tunnel の VPN ポリシーを作成して展開します。 このポリシーは、Microsoft Tunnel を接続の種類として使用するデバイス構成の VPN プロファイルです。
サーバー構成は次のとおりです。
- IP アドレスの範囲 – Microsoft Tunnel に接続するデバイスに割り当てられる IP アドレス。
- DNS サーバー – デバイスがサーバーに接続するときに使用する必要がある DNS サーバー。
- DNS サフィックス検索。
- 分割トンネリング規則 – 含めるルートと除外するルート間で共有される最大 500 個の規則。 たとえば、300 個の包含規則を作成した場合は、除外規則は 200 個のみ持つことができます。
- ポート – Microsoft Tunnel Gateway でリッスンされるポート。
サイト構成は次のとおりです。
- パブリック IP アドレスまたは FQDN。これは、トンネルを使用するデバイスの接続ポイントです。 このアドレスには、個々のサーバー、または負荷分散サーバーの IP または FQDN を指定できます。
- サイト内の各サーバーに適用されるサーバー構成。
Linux サーバーにトンネル ソフトウェアをインストールするときに、サーバーをサイトに割り当てます。 このインストールで、管理センター内からダウンロードできるスクリプトを使用します。 スクリプトを開始すると、サーバーが参加するサイトの指定など、環境に合わせてその操作を構成するように求められます。
Microsoft Tunnel を使用するには、デバイスに Microsoft Defender アプリをインストールする必要があります。 適用できるアプリを iOS/iPadOS または Android アプリ ストアから取得し、ユーザーに展開します。
アーキテクチャ
Microsoft Tunnel Gateway は、Linux サーバー上で実行されるコンテナー内で実行されます。
コンポーネント:
- A – Microsoft Intune。
- B- Microsoft Entra ID。
-
C – Podman または Docker CE を持つ Linux サーバー (Podman または Docker が必要なバージョンの詳細については、Linux サーバーの要件を参照してください)
- C.1 - Microsoft Tunnel Gateway。
- C.2 – 管理エージェント。
- C.3 – 認証プラグイン – Microsoft Entra を使用して認証する承認プラグイン。
- D – ロード バランサーを表す、Microsoft Tunnel のパブリック IP または FQDN。
- E – モバイル デバイス管理 (MDM) に登録されているデバイスまたは Tunnel for Mobile Application Management を使用している未登録のモバイル デバイス。
- F – ファイアウォール
- G – 内部プロキシ サーバー (オプション)。
- H – 企業ネットワーク。
- I – 公開インターネット。
操作:
- 1 - Intune 管理者が "サーバー構成" と "サイト" を構成し、サーバー構成がサイトに関連付けられます。
- 2 - Intune 管理者が Microsoft Tunnel Gateway をインストールし、認証プラグインが Microsoft Entra で Microsoft Tunnel Gateway を認証します。 Microsoft Tunnel Gateway サーバーがサイトに割り当てられます。
- 3 - 管理エージェントが Intune と通信することで、サーバー構成ポリシーが取得され、テレメトリ ログが Intune に送信されます。
- 4 - Intune 管理者が VPN プロファイルと Defender アプリを作成し、デバイスに展開します。
- 5 - デバイスは Microsoft Entra に対して認証されます。 条件付きアクセス ポリシーが評価されます。
-
6 - 分割トンネルの場合:
- 6.a - 一部のトラフィックは、公開インターネットに直接送信されます。
- 6.b - 一部のトラフィックは、Tunnel のパブリック IP アドレスに送信されます。 VPN チャネルでは、ポート 443 経由で TCP、TLS、UDP、DTLS が使用されます。 このトラフィックでは、ファイアウォールの受信 ポート と送信ポートが開かれている必要があります。
- 7 - Tunnel は、トラフィックを (オプションの) 内部プロキシまたは企業ネットワークにルートします。 IT 管理者は、Tunnel ゲートウェイ サーバーの内部インターフェイスからのトラフィックが、社内リソース (IP アドレスの範囲とポート) に正常にルートできることを確認する必要があります。
注:
Tunnel Gateway は、クライアントと共に 2 つのチャネルを維持します。 制御チャネルは、TCP と TLS を介して確立されます。 これは、バックアップ データ チャネルとしても機能します。 次に、メイン データ チャネルとして機能する DTLS (Datagram TLS、UDP 経由の TLS の実装) を使用して UDP チャネルを確立します。 UDP チャネルの確立に失敗した場合、または一時的に使用できない場合は、TCP/TLS 経由のバックアップ チャネルが使用されます。 既定では、ポート 443 は TCP と UDP の両方に使用されますが、これは Intune Server 構成 - サーバー ポート 設定を使用してカスタマイズできます。 既定のポート (443) を変更する場合は、受信ファイアウォール規則がカスタム ポートに合うように調整されていることを確認します。
割り当て済みのクライアント IP アドレス (Tunnel の Server 構成のIP アドレスの範囲設定) は、ネットワーク上の他のデバイスには表示されません。 Microsoft Tunnel Gateway では、ポート アドレス変換 (PAT) が使用されます。 PAT は、サーバー構成からの複数のプライベート IP アドレスがポートを使用して単一の IP (多対 1) にマップされるネットワーク アドレス変換 (NAT) の一種です。 クライアント トラフィックには、Linux サーバー ホストのソース IP アドレスが含まれます。
中断と検査:
多くのエンタープライズ ネットワークでは、プロキシ サーバー、ファイアウォール、SSL の中断と検査、詳細なパケット検査、データ損失防止システムなどのテクノロジを使用して、インターネット トラフィックにネットワーク セキュリティを強化しています。 これらのテクノロジは、一般的なインターネット要求の重要なリスク軽減を行いますが、Microsoft Tunnel ゲートウェイと Intune サービスのエンドポイントに適用すると、パフォーマンス、スケーラビリティ、エンドユーザー エクスペリエンスの品質が大幅に落ちることがあります。
次の情報では、中断と検査がサポートされていない場所の概要を示します。 参照先は、前のセクションのアーキテクチャ ダイアグラムです。
中断と検査は、次の領域ではサポートされていません:
- トンネル ゲートウェイでは、クライアント接続の SSL 中断および検査、TLS の中断および検査、またはディープ パケット検査はサポートされていません。
- ファイアウォール、プロキシ、ロード バランサー、またはトンネル ゲートウェイに入るクライアント セッションを終了して検査するテクノロジの使用はサポートされていないため、クライアント接続が失敗します。 (アーキテクチャ ダイアグラム F、 D、および C を参照してください)。
- Tunnel ゲートウェイがインターネット アクセスに送信プロキシを使用している場合、プロキシ サーバーは中断および検査を実行できません。 これは、Tunnel Gateway Management Agent が Intune に接続するときに TLS 相互認証を使用するためです (「アーキテクチャ図の 3」を参照してください)。 プロキシ サーバーで中断と検査が有効になっている場合、プロキシ サーバーを管理するネットワーク管理者は、Tunnel ゲートウェイ サーバーの IP アドレスと完全修飾ドメイン名 (FQDN) をこれらの Intune エンドポイントの承認リストに追加する必要があります。
追加の詳細:
条件付きアクセスは、VPN クライアント内で実行され、Microsoft Tunnel Gateway クラウド アプリに基づいています。 準拠していないデバイスは Microsoft Entra ID からアクセス トークンを受け取らず、VPN サーバーにアクセスできません。 Microsoft Tunnel で条件付きアクセスを使用する方法の詳細については、「Microsoft Tunnel での条件付きアクセスの使用」を参照してください。
管理エージェントは、Azure アプリ ID/秘密鍵を使用して Microsoft Entra ID に対して承認されます。