Microsoft Entra ID を使用した VPN 接続の条件付きアクセス
このハウツー ガイドでは、 Microsoft Entra 条件付きアクセスを使用して、VPN ユーザーにリソースへのアクセスを許可する方法について説明します。 仮想プライベート ネットワーク (VPN) 接続の Microsoft Entra 条件付きアクセスを使用すると、VPN 接続を保護することができます。 条件付きアクセスは、ポリシーベースの評価エンジンであり、Microsoft Entra に接続されているすべてのアプリケーションに対するアクセス規則を作成できるようになります。
前提条件
VPN への条件付きアクセスの構成を開始する前に、次の前提条件を満たしている必要があります。
「チュートリアル: Always On VPN の展開 - Always On VPN のインフラストラクチャを設定する」が完了している。または環境内で Always On VPN インフラストラクチャを既にセットアップしている。
Windows クライアント コンピューターでは、Intune を使用して VPN 接続が既に構成されている。 Intune を使用して VPN プロファイルを構成して展開する方法がわからない場合は、「Microsoft Intune を使用して Always On VPN プロファイルを Windows 10 以降のクライアントに展開する」を参照してください。
証明書失効リスト (CRL) が無視されるように EAP-TLS を構成する
NPS サーバーが証明書チェーン (ルート証明書を含む) の失効チェックを完了しない限り、EAP-TLS クライアントは接続できません。 Microsoft Entra ID によってユーザーに発行されたクラウド証明書は、有効期間が 1 時間の短い証明書であるため、CRL がありません。 CRL がない場合は無視するように、NPS 上の EAP を構成する必要があります。 認証方法は EAP-TLS であるため、このレジストリ値は EAP\13 でのみ必要です。 他の EAP 認証方法を使用する場合は、レジストリ値もその下に追加する必要があります。
このセクションでは、IgnoreNoRevocationCheck
および NoRevocationCheck
を追加します。 既定では、IgnoreNoRevocationCheck
と NoRevocationCheck
は 0 (無効) に設定されています。
NPS CRL レジストリ設定の詳細については、「ネットワーク ポリシー サーバー証明書失効リストのチェック レジストリ設定の構成」を参照してください。
重要
Windows Routing and Remote Access Server (RRAS) が NPS を使って RADIUS 呼び出しを 2 つ目の NPS にプロキシする場合は、両方のサーバーで IgnoreNoRevocationCheck=1
を設定する必要があります。
このレジストリ変更を実装しないと、PEAP でクラウド証明書を使った IKEv2 接続は失敗しますが、オンプレミス CA から発行されたクライアント認証証明書を使う IKEv2 接続は引き続き機能します。
NPS サーバーで regedit.exe を開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 に移動します。
[編集] > [新規] を選び、[DWORD (32 ビット) 値] を選んで「IgnoreNoRevocationCheck」と入力します。
[IgnoreNoRevocationCheck] をダブルクリックし、[値] データを 1 に設定します。
[編集] > [新規] を選び、[DWORD (32 ビット) 値] を選んで「NoRevocationCheck」と入力します。
[NoRevocationCheck] をダブルクリックし、[値] データを 1 に設定します。
[OK] を選び、サーバーを再起動します。 RRAS と NPS のサービスを再起動するだけでは不十分です。
レジストリ パス | EAP 拡張機能 |
---|---|
HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 | EAP-TLS |
HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\25 | PEAP |
Microsoft Entra ID を使用した VPN 認証のルート証明書を作成する
このセクションでは、Microsoft Entra ID を使用した VPN 認証用の条件付きアクセス ルート証明書を構成します。これにより、テナントに VPN サーバーと呼ばれるクラウド アプリが自動的に作成されます。 VPN 接続用の条件付きアクセスを構成するには、以下の操作を行う必要があります。
- Azure Portal で VPN 証明書を作成する。
- VPN 証明書をダウンロードする。
- VPN および NPS サーバーに証明書を展開する。
重要
Azure portal で VPN 証明書が作成されると、Microsoft Entra ID でその使用が即時に開始され、VPN クライアントに有効期間の短い証明書が発行されます。 VPN クライアントの資格情報の検証に関する問題を回避するために、VPN サーバーに VPN 証明書を速やかに展開することが重要です。
ユーザーが VPN 接続を試みると、VPN クライアントは Windows 10 クライアント上の Web アカウント マネージャー (WAM) を呼び出します。 WAM は VPN サーバー クラウド アプリを呼び出します。 条件付きアクセス ポリシーの条件と制御が満たされた場合、Microsoft Entra ID は、有効期間の短い (1 時間) の証明書の形式のトークンを WAM に発行します。 WAM は、ユーザーの証明書ストアに証明書を配置し、VPN クライアントに制御を渡します。
その後、VPN クライアントは、資格情報の検証のために、Microsoft Entra ID によって発行された証明書を VPN に送信します。
Note
Microsoft Entra ID では、VPN 接続ブレードで最後に作成された証明書が発行元として使用されます。 Microsoft Entra 条件付きアクセス VPN 接続リーフ証明書では、強力な証明書マッピングがサポートされるようになりました。これは、 KB5014754 によって導入された証明書ベースの認証要件です。 VPN 接続リーフ証明書には、onPremisesSecurityIdentifier 属性から取得したユーザー’の SID のエンコードされたバージョンを含む 、(1.3.6.1.4.1.311.25.2) の SID 拡張機能 が含まれるようになりました。
ルート証明書を作成するには:
- Azure Portal にグローバル管理者としてサインインします。
- 左側のメニューで、[Microsoft Entra ID] をクリックします。
- [Microsoft Entra ID] ページの [管理] セクションで、[セキュリティ] をクリックします。
- [セキュリティ] ページの [保護] セクションで、[条件付きアクセス] をクリックします。
- [条件付きアクセス | ポリシー] ページの [管理] セクションで、[VPN 接続] をクリックします。
- [VPN 接続] ページで、[新しい証明書] をクリックします。
- [新規] ページで、次の手順を実行します: a. [時間の選択] で、1 年、2 年、または 3 年のいずれかを選択します。 b. [作成] を選択します。
条件付きアクセス ポリシーを構成する
このセクションでは、VPN 接続の条件付きアクセス ポリシーを構成します。 [VPN 接続] ブレードに最初のルート証明書が作成されると、"VPN サーバー" クラウドアプリケーションがテナントに自動的に作成されます。
VPN ユーザーグループに割り当てられている条件付きアクセスポリシーを作成し、 クラウドアプリ を VPN サーバーにスコープを指定します:
- ユーザー: VPN ユーザー
- クラウドアプリ: VPN サーバー
- Grant (アクセス制御): ' Multi-factor Authentication が必要です '。 必要に応じて、他のコントロールを使用できます。
手順: この手順では、最も基本的な条件付きアクセスポリシーの作成について説明します。 必要に応じて、追加の条件とコントロールを使用できます。
[ 条件付きアクセス ] ページの上部にあるツールバーで、[ 追加] を選択します。
[ 新規 ] ページの [ 名前 ] ボックスに、ポリシーの名前を入力します。 たとえば、「 VPN policy」と入力します。
[ 割り当て ] セクションで、[ ユーザーとグループ] を選択します。
[ユーザーとグループ] ページで、次の手順を実行します。
a. [ユーザーとグループの選択] を選択します。
b. [選択] を選択します。
c. [ 選択 ] ページで、[ VPN ユーザー ] グループを選択し、[ 選択] を選択します。
d. [ ユーザーとグループ ] ページで、[ 完了] を選択します。
[新規] ページで、次の手順を実行します。
a. [ 割り当て ] セクションで、[ クラウドアプリ] を選択します。
b. [ クラウドアプリ ] ページで、[ アプリの選択] を選択します。
d. [VPN サーバー]を選択します。
[ 新規 ] ページで [ 許可 ] ページを開くには、[ コントロール ] セクションで [ 許可] を選択します。
[許可] ページで、次の手順を実行します。
a. [多要素認証が必要] を選択します。
b. [選択] を選択します。
[ 新規 ] ページの [ ポリシーの有効化] で、[ オン] を選択します。
新 しいページで、[作成] を選択します。
オンプレミスの AD に条件付きアクセス ルート証明書を展開する
このセクションでは、オンプレミスの AD に VPN 認証用の信頼されたルート証明書を展開します。
[VPN 接続] ページで、[証明書のダウンロード] を選択します。
注意
[Base64 証明書のダウンロード] オプションは、展開に Base64 証明書を必要とする一部の構成で使用できます。
ドメインに参加しているコンピューターにエンタープライズ管理者権限でログオンし、管理者コマンド プロンプトから次のコマンドを実行して、クラウド ルート証明書を "エンタープライズ NTauth" ストアに追加します。
注意
VPN サーバーが Active Directory ドメインに参加していない環境では、クラウド ルート証明書を "信頼されたルート証明機関" ストアに手動で追加する必要があります。
command 説明 certutil -dspublish -f VpnCert.cer RootCA
CN=AIA コンテナーと CN=Certification Authorities コンテナーの下に 2 つの Microsoft VPN root CA gen 1 コンテナーを作成し、両方の Microsoft VPN root CA gen 1 コンテナーの cACertificate 属性の値として各ルート証明書を発行します。 certutil -dspublish -f VpnCert.cer NTAuthCA
CN=AIA コンテナーと CN=Certification Authorities コンテナーの下に 1 つの CN=NTAuthCertificates コンテナーを作成し、CN=NTAuthCertificates コンテナーの cACertificate 属性の値として各ルート証明書を発行します。 gpupdate /force
Windows サーバーおよびクライアント コンピューターへのルート証明書の追加を迅速に行います。 ルート証明書がエンタープライズ NTauth ストアに存在し、信頼済みとして表示されることを確認します。
- 証明機関管理ツールがインストールされたサーバーにエンタープライズ管理者権限でログオンします。
注意
既定では、証明機関管理ツールはインストール済みの証明機関サーバーです。 これらは、サーバー マネージャーの役割管理ツールの一部として他のメンバー サーバーにインストールできます。
- VPN サーバーの [スタート] メニューで「pkiview.msc」と入力し、[エンタープライズ PKI] ダイアログを開きます。
- [スタート] メニューから「pkiview.msc」と入力し、[エンタープライズ PKI] ダイアログを開きます。
- [エンタープライズ PKI] を右クリックし、[AD コンテナーの管理] を選択します。
- 各 Microsoft VPN root CA gen 1 証明書が次の下に存在することを確認します。
- NTAuthCertificates
- AIA コンテナー
- 証明機関コンテナー
Windows 10 デバイスに対して OMA-DM ベースの VPNv2 プロファイルを作成する
このセクションでは、Intune を使用して OMA-DM ベースの VPNv2 プロファイルを作成することにより、VPN デバイス構成ポリシーを展開します。
Azure portal で、[Intune]>[デバイス構成]>[プロファイル] の順に選択し、「Intune を使用して VPN クライアントを構成する」で作成した VPN プロファイルを選択します。
ポリシー エディターで、[プロパティ]>[設定]>[ベース VPN] の順に選択します。 既存の EAP Xml を拡張して、検出された最初の証明書を使用できるようになるのに任せるのではなく、ユーザーの証明書ストアから Microsoft Entra 条件付きアクセス証明書を取得するために必要なロジックを VPN クライアントに提供するフィルターを含めます。
Note
これがないと、VPN クライアントはオンプレミスの証明機関から発行されたユーザー証明書を取得しようとして、VPN 接続に失敗する可能性があります。
</AcceptServerName></EapType> で終わるセクションを見つけ、これらの 2 つの値の間に次の文字列を挿入して、VPN クライアントに Microsoft Entra 条件付きアクセス証明書を選択するためのロジックを提供します。
<TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUList Enabled="true"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions>
[条件付きアクセス] ブレードを選択し、[この VPN 接続の条件付きアクセス] を [有効] に切り替えます。
この設定を有効にすると、VPNv2 プロファイル XML 内の <DeviceCompliance><Enabled>true</Enabled> の設定が変更されます。
[OK] を選択します。
[割り当て] を選択し、[含める] で [含めるグループの選択] を選択します。
このポリシーを受信する正しいグループを選択し、[保存] を選択します。
クライアントでの MDM ポリシーの同期を強制する
クライアント デバイスに VPN プロファイルが表示されない場合は、[設定]\[ネットワークとインターネット]\[VPN] で、MDM ポリシーを強制的に同期させることができます。
ドメイン参加済みクライアント コンピューターに VPN ユーザー グループのメンバーとしてサインインします。
[スタート] メニューで、「アカウント」と入力して Enter キーを押します。
左側のナビゲーション ウィンドウで、[職場または学校にアクセスする] を選択します。
[職場または学校にアクセスする] で、[<\domain> MDM に接続しました] を選択してから、[情報] を選択します。
[同期] を選択し、[設定]\[ネットワークとインターネット]\[VPN] に VPN プロファイルが表示されることを確認します。
次のステップ
Microsoft Entra 条件付きアクセスを使用するための VPN プロファイルの構成が完了しました。
VPN での条件付きアクセスの動作の詳細については、「VPN と条件付きアクセス」を参照してください。
高度な VPN 機能の詳細については、「高度な VPN 機能」を参照してください。
VPNv2 CSP の概要については、「VPNv2 CSP」を参照してください。このトピックでは、VPNv2 CSP の概要について説明します。