P2S VPN Gateway 証明書認証のサーバー設定を構成する
この記事は、Windows、Linux、または macOS を実行している個々のクライアントを Azure 仮想ネットワーク (VNet) に安全に接続できるように、必要な VPN Gateway ポイント対サイト (P2S) サーバー設定を構成するのに役立ちます。 P2S VPN 接続は、自宅や会議室でのテレワークなど、リモートの場所から仮想ネットワークに接続する場合に便利です。 仮想ネットワークへの接続を必要とするクライアントがごく少ない場合は、サイト対サイト (S2S) VPN の代わりに P2S を使用することもできます。
P2S 接続に VPN デバイスや公開 IP アドレスは必要ありません。 P2S には、さまざまな構成オプションがあります。 ポイント対サイト VPN の詳細については、「ポイント対サイト VPN について」を参照してください。
この記事の手順では、Azure portal を使って、ポイント対サイト証明書認証用の Azure VPN ゲートウェイを構成します。
P2S Azure 証明書認証接続では次のものを使用します。
- ルートベースの VPN ゲートウェイ (ポリシーベースではありません)。 VPN の種類の詳細については、「VPN Gateway の設定」を参照してください。
- Azure にアップロードされた、ルート証明書の公開キー (.cer ファイル)。 証明書をアップロードすると、その証明書は信頼された証明書と見なされ、認証に使われます。
- ルート証明書から生成されたクライアント証明書。 VNet に接続する予定の各クライアント コンピューターにインストールされるクライアント証明書です。 この証明書はクライアントの認証に使用されます。
- VPN クライアント構成ファイル。 VPN クライアントは、VPN クライアント構成ファイルを使用して構成されます。 これらのファイルには、クライアントと VNet の接続に必要な情報が含まれています。 接続する各クライアントは、構成ファイルの設定を使って構成する必要があります。
前提条件
この記事では、次の前提条件が満たされていることを前提としています。
- Azure 仮想ネットワーク。
- 作成したい P2S 構成および接続する VPN クライアントと互換性のあるルートベースの VPN ゲートウェイ。 必要な P2S 構成を特定するには、VPN クライアントの表を参照してください。 ゲートウェイで Basic SKU を使用する場合は、Basic SKU には P2S の制限があり、IKEv2 または RADIUS 認証はサポートされていないことをご確認ください。 詳細については、「ゲートウェイの SKU について」を参照してください。
作成したい P2S 構成と互換性があり、機能している VPN ゲートウェイがまだない場合は、VPN ゲートウェイの作成と管理に関するページを参照してください。 互換性のある VPN ゲートウェイを作成し、この記事に戻って P2S 設定を構成します。
証明書の生成
証明書は、ポイント対サイト VPN 接続を介して仮想ネットワークに接続するクライアントを認証するために、Azure によって使用されます。 ルート証明書を取得したら、公開キー情報を Azure にアップロードします。 ルート証明書は、Azure によって "信頼された" と見なされ、P2S 経由での仮想ネットワークへの接続に使用されます。
また、信頼されたルート証明書からクライアント証明書を生成し、それを各クライアント コンピューターにインストールします。 クライアント証明書は、クライアントで仮想ネットワークへの接続を開始するときに、そのクライアントを認証するために使用されます。
ポイント対サイト ゲートウェイ設定を構成する前に、ルート証明書を生成および抽出する必要があります。
ルート証明書を生成する
ルート証明書の .cer ファイルを取得します。 エンタープライズ ソリューションを使って生成されたルート証明書を使用することも (推奨)、自己署名証明書を生成することもできます。 ルート証明書の作成後、秘密キーではなく公開証明書データを、Base64 でエンコードされた X.509 .cer ファイルとしてエクスポートします。 このファイルは、後で Azure にアップロードします。
エンタープライズ証明書: エンタープライズ ソリューションを使用している場合は、既存の証明書チェーンを使うことができます。 使用するルート証明書の .cer ファイルを取得します。
自己署名ルート証明書: エンタープライズ証明書ソリューションを使用していない場合は、自己署名ルート証明書を作成します。 そうしないと、作成する証明書と P2S 接続との互換性がなくなり、クライアントが接続しようとすると接続エラー メッセージを受信するようになります。 Azure PowerShell、MakeCert、または OpenSSL を使用できます。 以下の記事の手順では、互換性のある自己署名ルート証明書を生成する方法が説明されています。
- Windows 10 以降の PowerShell の手順: これらの手順では、Windows 10 以降を実行しているコンピューターで PowerShell が必要です。 ルート証明書から生成されるクライアント証明書は、サポートされている任意の P2S クライアントにインストールすることができます。
- MakeCert の手順: Windows 10 以降のコンピューターにアクセスできない場合は、MakeCert を使用します。 MakeCert は非推奨になりましたが、まだ証明書を生成するに使用することができます。 ルート証明書から生成されるクライアント証明書は、サポートされている任意の P2S クライアントにインストールすることができます。
- Linux - OpenSSL での手順
- Linux - strongSwan での手順
クライアント証明書を生成する
お客様がポイント対サイト接続を使用して VNet に接続する各クライアント コンピューターには、クライアント証明書がインストールされていなければなりません。 ルート証明書からそれを生成し、各クライアント コンピューターにインストールします。 有効なクライアント証明書をインストールしないと、クライアントが VNet への接続を試行したときに認証が失敗します。
クライアントごとに一意の証明書を生成することも、複数のクライアントに同じ証明書を使用することもできます。 一意のクライアント証明書を生成する利点は、1 つの証明書を失効させることができる点です。 そうでなければ、複数のクライアントで同じクライアント証明書が認証に使用されていて、お客様がそれを失効させる場合に、その証明書が使用されているすべてのクライアントに対して新しい証明書を生成してインストールする必要があります。
クライアント証明書は、次の方法を使用して生成できます。
エンタープライズ証明書:
エンタープライズ証明書ソリューションを使用している場合は、共通名の値の形式 name@yourdomain.com を使用してクライアント証明書を生成します。 domain name\username 形式の代わりに、この形式を使用します。
クライアント証明書が、ユーザー一覧の最初の項目が "クライアント認証" であるユーザー証明書テンプレートに基づいていることを確認します。 証明書を確認するには、それをダブルクリックし、 [詳細] タブの [拡張キー使用法] を表示します。
自己署名ルート証明書: お客様が作成するクライアント証明書が P2S 接続との互換性を備えるよう、P2S 証明書に関する以下のいずれかの記事の手順に従ってください。
自己署名ルート証明書からクライアント証明書を生成した場合、お客様が生成に使用したコンピューターにそれが自動的にインストールされます。 クライアント証明書を別のクライアント コンピューターにインストールしたい場合は、それを .pfx ファイルとして、証明書チェーン全体と共にエクスポートします。 そうすることで、クライアントの認証に必要なルート証明書情報が含まれている .pfx ファイルが作成されます。
これらの記事の手順では、互換性のあるクライアント証明書が生成されます。この証明書をエクスポートして配布できます。
Windows 10 以降の PowerShell の手順: これらの手順で証明書を生成するには、Windows 10 以降、および PowerShell が必要です。 生成される証明書は、サポートされている任意の P2S クライアントにインストールできます。
MakeCert の手順: 証明書を生成する Windows 10 以降のコンピューターにアクセスできない場合は、MakeCert を使用します。 MakeCert は非推奨になりましたが、まだ証明書を生成するに使用することができます。 生成される証明書は、サポートされている任意の P2S クライアントにインストールできます。
Linux: strongSwan または OpenSSL の手順を参照してください。
VPN クライアント アドレス プールを追加する
クライアント アドレス プールとは、指定するプライベート IP アドレスの範囲です。 ポイント対サイト VPN 経由で接続するクライアントは、この範囲内の IP アドレスを動的に受け取ります。 接続元であるオンプレミスの場所、または接続先とする VNet と重複しないプライベート IP アドレス範囲を使用してください。 複数のプロトコルを構成するとき、SSTP がプロトコルの 1 つの場合、構成後のアドレス プールは構成されるプロトコル間で均等に分割されます。
Azure portal で、お使いの VPN Gateway に移動します。
ゲートウェイのページの左側にあるペインで、[ポイント対サイト構成] を選択します。
[今すぐ構成] をクリックして構成ページを開きます。
[ポイント対サイトの構成] ページの [アドレス プール] ボックスに、使用するプライベート IP アドレス範囲を追加します。 VPN クライアントには、指定した範囲から動的に IP アドレスが割り当てられます。 最小のサブネット マスクは、アクティブ/パッシブ構成の場合は 29 ビット、アクティブ/アクティブ構成の場合は 28 ビットです。
次のセクションに進んで他の設定を構成します。
トンネルの種類と認証の種類を指定する
このセクションでは、トンネルの種類と認証の種類を指定します。 これらの設定は複雑になる場合があります。 ドロップダウンから、[IKEv2 と OpenVPN(SSL)] や [IKEv2 と SSTP (SSL)] など、複数のトンネルの種類を含むオプションを選択できます。 使用できるのは、特定の組み合わせのトンネルの種類と認証の種類のみです。
トンネルの種類と認証の種類は、Azure への接続に使用する VPN クライアント ソフトウェアに対応している必要があります。 異なるオペレーティング システムから接続するさまざまな VPN クライアントがある場合は、トンネルの種類と認証の種類を計画することが重要となります。 次の表は、VPN クライアント ソフトウェアに関連して使用できるトンネルの種類と認証の種類を示しています。
VPN クライアントの表
認証 | トンネルの種類 | クライアントの OS | VPN client |
---|---|---|---|
証明書 | |||
IKEv2、SSTP | Windows | ネイティブ VPN クライアント | |
IKEv2 | macOS | ネイティブ VPN クライアント | |
IKEv2 | Linux | strongSwan | |
OpenVPN | Windows | Azure VPN クライアント OpenVPN クライアント バージョン 2.x OpenVPN クライアント バージョン 3.x |
|
OpenVPN | macOS | OpenVPN クライアント | |
OpenVPN | iOS | OpenVPN クライアント | |
OpenVPN | Linux | Azure VPN クライアント OpenVPN クライアント |
|
Microsoft Entra ID | |||
OpenVPN | Windows | Azure VPN クライアント | |
OpenVPN | macOS | Azure VPN クライアント | |
OpenVPN | Linux | Azure VPN クライアント |
Note
[ポイント対サイトの構成] ページで、トンネルの種類も認証の種類も表示されない場合、ご利用のゲートウェイで使用されているのは Basic SKU です。 Basic SKU では、IKEv2 と RADIUS 認証はサポートされません。 これらの設定を使用する場合は、ゲートウェイを削除し、別のゲートウェイ SKU を使って再作成する必要があります。
[トンネルの種類] で、使用するトンネルの種類を選択します。 この演習では、ドロップダウンから [IKEv2 と OpenVPN(SSL)] を選択します。
[認証の種類] には、ドロップダウンから [Azure 証明書] を選択します。
別のパブリック IP アドレスを追加する
アクティブ/アクティブ モードのゲートウェイがある場合は、ポイント対サイトを構成するために 3 番目のパブリック IP アドレスを指定する必要があります。 この例では、VNet1GWpip3 という例の値を使って 3 番目のパブリック IP アドレスを作成します。 ゲートウェイがアクティブ/アクティブ モードでない場合は、別のパブリック IP アドレスを追加する必要はありません。
ルート証明書の公開キー情報のアップロード
このセクションでは、公開ルート証明書データを Azure にアップロードします。 パブリック証明書データをアップロードしたら、Azure はそれを使って接続するクライアントを認証します。 接続するクライアントは、信頼されたルート証明書から生成され、インストールされたクライアント証明書を持っています。
ルート証明書を Base 64 でエンコードされた X.509 (.CER) ファイルとして、エクスポートしたことをご確認ください。 証明書をテキスト エディターで開くことができるように、この形式でエクスポートする必要があります。 秘密キーをエクスポートする必要はありません。
証明書をメモ帳などのテキスト エディターで開きます。 証明書データをコピーするときは、必ず、テキストを 1 つの連続した行としてコピーしてください。
[ルート証明書] セクションで [仮想ネットワーク ゲートウェイ] -> [ポイント対サイト構成] ページに移動します。 このセクションは、認証の種類として [Azure 証明書] を選択した場合にのみ表示されます。
[ルート証明書] セクションで、最大 20 個の信頼されたルート証明書を追加できます。
- [公開証明書データ] フィールドに証明書データを貼り付けます。
- 証明書に名前を付けます。
この演習では、追加のルートは必要ありません。 カスタム ルーティング機能の詳細については、カスタム ルートのアドバタイズに関するページを参照してください。
ページの上部にある [保存] を選択して、構成設定をすべて保存します。
VPN クライアント プロファイル構成ファイルを生成する
VPN クライアントに必要なすべての構成設定は、VPN クライアント プロファイル構成 zip ファイルに含まれています。 VPN クライアント プロファイル構成ファイルは、仮想ネットワークの P2S VPN ゲートウェイ構成に特化しています。 ファイルを生成した後に、P2S VPN 構成に変更があった場合は (VPN プロトコルの種類や認証の種類の変更など)、新しい VPN クライアント プロファイル構成ファイルを生成し、接続するすべての VPN クライアントに新しい構成を適用する必要があります。 P2S 接続の詳細については、「ポイント対サイト VPN について」を参照してください。
PowerShell または Azure portal を使用して、クライアント プロファイル構成ファイルを生成できます。 次の例では、両方のメソッドを示します。 どちらの方法でも、同じ zip ファイルが返されます。
Azure portal
Azure portal で、接続する仮想ネットワークの仮想ネットワーク ゲートウェイに移動します。
仮想ネットワーク ゲートウェイ ページで、 [ポイント対サイトの構成] を選択して、[ポイント対サイトの構成] ページを開きます。
[ポイント対サイトの構成] ページの上部で [VPN クライアントのダウンロード] を選択します。 これにより、VPN クライアント ソフトウェアがダウンロードされるのではなく、VPN クライアントの構成に使用される構成パッケージが生成されます。 クライアント構成パッケージが生成されるまでに数分かかります。 この間、パケットが生成されるまで、何も表示されない場合があります。
構成パッケージが生成されると、クライアント構成 ZIP ファイルが使用可能であることがブラウザーに示されます。 ファイルにはゲートウェイと同じ名前が付けられています。
そのファイルを解凍して、フォルダーを表示します。 これらのファイルの一部またはすべてを使用して、VPN クライアントを構成します。 生成されるファイルは、P2S サーバー上に構成した認証とトンネルの種類の設定に対応します。
VPN クライアントの構成と Azure への接続
VPN クライアントを構成して Azure に接続する手順については、「トンネルの種類と認証の種類を指定する」セクションにある VPN クライアントの表を参照してください。 この表には、VPN クライアント ソフトウェアの詳しい構成手順が記載された記事へのリンクが含まれています。
信頼されたルート証明書を追加または削除する
信頼されたルート証明書を Azure に追加したり、Azure から削除したりできます。 ルート証明書を削除すると、そのルートから証明書を生成したクライアントは認証できなくなり、その結果、接続できなくなります。 クライアントの認証と接続を正常に実行できるようにするには、Azure に信頼されている (Azure にアップロードされている) ルート証明書から生成した新しいクライアント証明書をインストールする必要があります。
信頼されたルート証明書 .cer ファイルを最大 20 個まで Azure に追加できます。 手順については、信頼されたルート証明書のアップロードに関するセクションを参照してください。
信頼されたルート証明書を削除するには
- ご利用の仮想ネットワーク ゲートウェイの [ポイント対サイトの構成] ページに移動します。
- ページの [ルート証明書] セクションで、削除する証明書を見つけます。
- 証明書の横にある省略記号を選んでから、 [削除] を選択します。
クライアント証明書の失効
クライアント証明書は失効させることができます。 証明書失効リストを使用すると、個々のクライアント証明書に基づく P2S 接続を選択して拒否することができます。 これは、信頼されたルート証明書を削除することとは異なります。 信頼されたルート証明書 .cer を Azure から削除すると、失効したルート証明書によって生成または署名されたすべてのクライアント証明書のアクセス権が取り消されます。 ルート証明書ではなくクライアント証明書を失効させると、ルート証明書から生成されたその他の証明書は、その後も認証に使用できます。
一般的な方法としては、ルート証明書を使用してチームまたは組織レベルでアクセスを管理し、失効したクライアント証明書を使用して、個々のユーザーの細かいアクセス制御を構成します。
失効リストに拇印を追加することで、クライアント証明書を失効させることができます。
- クライアント証明書の拇印を取得します。 詳細については、「方法: 証明書のサムプリントを取得する」を参照してください。
- 情報をテキスト エディターにコピーし、文字列が 1 つにつながるようにスペースをすべて削除します。
- 仮想ネットワーク ゲートウェイの [ポイント対サイトの構成] ページに移動します。 このページは、信頼されたルート証明書のアップロードに使用したものです。
- [失効した証明書] セクションで、証明書のフレンドリ名を入力します (証明書 CN にする必要はありません)。
- 拇印の文字列をコピーして [拇印] フィールドに貼り付けます。
- 拇印が検証され、自動的に失効リストに追加されます。 リストが更新されていることを示すメッセージが画面に表示されます。
- 更新が完了した後は、証明書を接続に使用することができなくなります。 この証明書を使用して接続を試みたクライアントには、証明書が無効になっていることを示すメッセージが表示されます。
ポイント対サイトに関する FAQ
よくあるご質問については、FAQ を参照してください。
次のステップ
接続が完成したら、仮想ネットワークに仮想マシンを追加することができます。 詳細については、Virtual Machines に関するページを参照してください。 ネットワークと仮想マシンの詳細については、「Azure と Linux の VM ネットワークの概要」を参照してください。
P2S のトラブルシューティング情報については、Azure ポイント対サイト接続のトラブルシューティングに関するページを参照してください。