Azure

Azure ポイント対サイトの証明書作成

ポイント対サイト VPN 接続を構成する際の証明書生成について解説します。

ポイント対サイト(P2S)VPN接続とは

Azure Vnet と個々のクライアント(Windows や Linux など)とを VPN でつなぐ接続方法です。 VPN 接続の構成については、また別途解説します。 今回は構成の際利用する証明書について、少々はまった所があったのでそこを解説したいと思います。

証明書について

証明書は、ポイント対サイト VPN の VPN クライアントを認証するために、Azure によって使用されます。

ルート証明書(Azure 側)、クライアント証明書(端末側)の2種類の証明書を利用します。

ルート証明書

ルート証明書の中にも2種類証明書があります。

  • エンタープライズ証明書 エンタープライズ ソリューションを使用している場合は、既存の証明書チェーンを使うことができます。 使用するルート証明書の .cer ファイルを取得します。
  • 自己署名証明書 エンタープライズ証明書ソリューションを使用していない場合は、自己署名ルート証明書を作成します。 そうしないと、作成する証明書と P2S 接続との互換性がなくなり、クライアントが接続しようとすると接続エラーになります。

クライアント証明書

ルート証明書の種類に応じて、クライアント証明書の生成方法も異なります。

MakeCert を利用して証明書を生成する

マイクロソフトのドキュメント サイトによると、最初に MakeCert をダウンロードとなっていますが、いきなり躓きました。

リンク先に行ってもダウンロード ファイルがなく、困ってしまいました。 MakeCert Download 等で検索してみたところ、怪しい日本語翻訳のサイトか、古い情報ばかりで Windows 10 SDK では MakeCert が見つかりませんでしたとの記事も。 もう一度マイクロソフトのサイトをよく見ると Microsoft Windows Software Development Kit の /Bin フォルダーにインストールされていますと書いてありました。

取り敢えず、Windows 10 SDK をダウンロードしてインストールした所、確かに大雑把に言えば /Bin の中にありました。

64bit の場合 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
32bitの場合 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86

デフォルトのままインストールすると、3GB 必要だったので、最小限のインストールにしたかったのですが、最低でも 1GB は必要なようです。 以下最小限のインストール方法です。

Windows 10 SDK のサイトからインストーラをダウンロードし実行します。 https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk

「Next」をクリック。

利用状況をマイクロソフトに送信するか聞かれます。 送信しないのであれば、「No」を選択して、「Next」をクリックします。

ライセンス許諾です。 「Accept」をクリック。

Windows SDK Signing Tools for Desktop Apps と Windows SDK for UWP Managed Apps のみチェックして、「Install」をクリック。

UACが表示されたら、「はい」をクリック。

「Close」をクリック。

これで Windows SDK のインストールが完了したので、以下の場所に MakeCert.exe が格納されています。 64bit の場合

32bit の場合

証明書の生成は、ドキュメント サイトの説明通りにコマンドを実行すれば作成できます。 以下参考までに 64bit 環境での生成例です。

コマンドプロンプト等でMakeCert.exe の場所に移動します。

cd C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64

個人証明書ストアで証明書を作成とインストール。 CN=P2SRootCert でファイル名を指定できます。

makecert -sky exchange -r -n "CN=P2SRootCert" -pe -a sha256 -len 2048 -ss My

ユーザー証明書の管理ツール(certmgr)の個人、証明書の中にインストールされます。

流れでそのままクライアント証明書も作成します。 以下のコマンドを実行すると、クライアント証明書を作成できます。

makecert.exe -n "CN=P2SChildCert" -pe -sky exchange -m 96 -ss My -in "P2SRootCert" -is my -a sha256

公開キーのエクスポート

作成したルート証明書から、Azure に取り込むためのファイルをエクスポートします。

作成した「P2SRootCert」を右クリックして、「すべてのタスク」、「エクスポート」の順にクリックします。

証明書のエクスポート ウィザードが立ち上がるので、「次へ」をクリックします。

「いいえ、秘密キーをエクスポートしません」を選択して、「次へ」をクリック。

「Base 64 encoded X.509」を選択して、「次へ」をクリック。

保存場所とファイル名を指定して、「次へ」をクリック。

「完了」をクリック。

「OK」をクリック。

保存した場所を開くと、証明書ファイルが格納されています。 右クリックしてプログラムから開く、メモ帳をクリックする等して、メモ帳で証明書ファイルを開きます。

「BEGIN CERTIFICATE」と「END CERTIFICATE」の間を選択してコピーします。

Azure ポータルの仮想ネットワーク ゲートウェイ、ポイント対サイトの構成にある、「公開証明書データ」に貼り付け、名前を指定して「保存」をクリックすると、アップロード完了です。

あとは、VPNクライアントのダウンロードを行い、インストール、接続すれば、ポイント対サイト接続の完了です。

少しでもお役に立てれば幸いです。

Office 365 F3(旧F1)前のページ

Azure VPNについてあれこれ次のページ

関連記事

  1. Azure

    AADDSを構築する記事

    ---5/13追記(追記事項は末尾記載)---皆様、こんにちは。在宅…

  2. Azure

    Azure Key Vaultでみんなしあわせ

    私の知っているシステム開発これまでかかわってきたC/SやAS…

  3. Azure

    WindowsVirtualDesktopがGAされているので(その3)

    その2からかなり時間が空いていますが今回はオートスケールについてと…

  4. Azure

    Azure 資格試験の更新(2020年版)AZ-203編

    2020年になり、早くも Azure 資格試験の更新がありま…

  5. Azure

    AzureのDMSでデータを移行してみる記事 ~MySQL編~

    皆様、こんにちは。夏の暑さ対策、エアコンより扇風機派です。×3です。…

  6. Azure

    Azure AD Connectの構築トラブルメモ

    今回はAzure AD Connect(AADC)を構築した際に色々…

関連記事

  1. Azure

    Azure Key Vaultでみんなしあわせ(その2)
  2. Azure

    ARMテンプレートでインフラ構築する。
  3. 未分類

    「Azure Functions」をC#で触ってみました。#3
  4. Azure

    WindowsVirtualDesktopがGAされているので(その3)
  5. Azure

    LogAnalytics(監視エージェント)を利用したVMの監視をしよう
PAGE TOP