Intune で Azure P2S 用の VPN プロファイルを配布する

# はじめに
Intune を使って、Azure VPN Gateway の Point to Site (P2S) VPN への接続用プロファイル と 証明書 を配布して VPN 接続出来るようにするための方法を紹介します。

Azure P2S VPN は、公開情報に記載されている通りの手順で構築はできるのですが、自己署名証明書 を使った方法となり、全台が同じ証明書を使う事になるので、デバイスを紛失した際の 証明書失効 の運用ができません。

この記事で紹介する方法を使って、PC ごとに 固有の SCEP クライアント証明書 を配布する事で、Azure 証明書認証 を使って、本格的に Azure P2S VPN を運用できるようになります。

# 1. 前提事項
## 1-1. PC を Intune に登録する

以下の記事を参考に、Windows PC を Intune に登録してください。

https://qiita.com/carol0226/items/e75b04f2a6a99fa6bcf7

**推奨オプション**
以下の Autopilot の構成は、VPN 接続のために 必須ではありませんが、Autopilot を利用すれば、端末展開のあと、初めから VPN 接続を利用できるるように構成することができます。

https://qiita.com/carol0226/items/1e8023611f74f158c38c

## 1-2. Azure 仮想ネットワーク上に P2S VPN を構成する
以下を参考に、Azure 仮想ネットワーク 上に P2S VPN を構成済みにしてください。

https://qiita.com/carol0226/items/283497c10c94785ebd28

VPN の接続確認は、上記の記事内の手順のうち、以下の選択肢を選んで、単体での確認を終えておくと良いでしょう。理由は、この方法で展開した資材の中にある **VpnSettings.xml** を後で使うからです。

選択肢 → **"3-2-① VpnClientSetupAmd64.exe を使用して導入する"**

:::note info
**推奨**
単体試験を行わず、いきなり Intune でプロファイルを配っても、問題の切り分けに苦労しますので、急がば回れです。きちんと 単体試験をしておきましょう。

単体試験の場合は、自己署名証明書 で問題ありません。
:::

## 1-3. クライアント PC に SCEP 証明書を配布する
以下の記事を参考にして 記事内の ①～③ のいずれかの方法で、クライアント PC に SCEP 証明書 を配布してください。
① Intune と NDES を Intune 証明書コネクタ で連携した環境
② Microsoft クラウド PKI を使用する
③ サードパーティの SCEP 提供サービスを利用する

https://qiita.com/carol0226/items/6c707d70fe7251346cf4

:::note warn
**注意点**
今回の VPN 用の SCEP 証明書は、**② Microsoft クラウド PKI を使用する** の方法で検証済みです。

なお、**② Microsoft クラウド PKI を使用する** の手順は、WiFi のためだけに必要な手順も含まれていますので、参考程度に参照ください。

VPN の場合は、以下の公開情報ベースで シンプルに SCEP 証明書を発行するだけで OK です。

**公開情報：Intune で SCEP 証明書プロファイルを作成して割り当てる**
https://learn.microsoft.com/ja-jp/mem/intune/protect/certificates-profile-scep?wt.mc_id=mvp_407731

NT Auth ストア、Microsoft Entra Connect、Microsoft Entra Hybrid Join は、WiFi の認証を行わせるためであり、VPN の場合は不要です。そのため、WiFi に比べて VPN 用証明書の難易度は、劇的に低いです。
:::

## 1-4. P2S VPN のルート証明書を SCEP のものに変更する
ここで、 1-2. 章でテスト済みの P2S VPN のルート証明書として、1-3. 章で構成した SCEP 証明書 のルート証明書を追加で登録します。

これによって、SCEP 証明書 も P2S VPN の Azure 証明書認証 に利用できるようになります。

# 2. VPN プロファイルの配布 構成手順

## 2-1. VPN 接続先のアドレスを確認する
1. 1-2. 章 で、単体試験の際にダウンロードした VPN プロファイル内にある VpnSettings.xml をテキストエディタで開きます。赤枠の箇所を範囲選択して コピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/1ac5ad53-bed4-1ac5-7188-47e769bdb581.png)

# 2-2. Intune で VPN のプロファイルを配布する
この章の手順は、以下の 公開情報 の内容をベースに、キャプチャ付きで紹介しています。

**公開情報：プロファイルを作成する**
https://learn.microsoft.com/ja-jp/mem/intune/configuration/vpn-settings-configure?wt.mc_id=mvp_407731#step-2---create-the-profile

0. Intune 管理センター へ グローバル管理者 でサインインします。
https://intune.microsoft.com
　<br>
0. 左ペインから **デバイス** を選び **構成** を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/7122fd15-8bbe-783c-bd84-7c491f29660d.png)
　<br>
0. **構成** の画面で、**＋作成** から **＋新しいポリシー** を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/5330cf0e-283f-3092-c5e6-459c77febf4b.png)
　<br>
0. 以下の選択肢を選び、**作成** を押します。
・プラットフォーム　＝　Wndows 10 以降
・プロファイルの種類　＝　テンプレート
・テンプレート名　＝　VPN
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/05257e08-b548-7020-51d0-9441de03e36d.png)
　<br>
0. **基本** タブでは、構成プロファイルの名称を設定します。この名称は Intune 管理センター内でプロファイルの識別のために使われます（ユーザー側には見えないので、管理用の名前）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/76d75804-7b44-49b5-623d-700fd52c0afa.png)
　<br>
0. **構成設定** タブでは、VPN の詳細な設定値を入力して **次へ** を押します。
・ ユーザー／デバイススコープでこの VPN プロファイルを使用する　＝　Device
・ 接続の種類 ＝　IKEv2（ネイティブ型）
・ 接続名　＝　[任意の名前]
・ サーバー（説明） = [任意の名前]
・ VPN サーバーアドレス = [前章で VpnSettingsxml からコピーした **VPN 接続先のアドレス**]
・ 既定のサーバー = Trure
・ 認証方法 = コンピューターの証明書
・ 認証証明書 = [事前構成で作成済みの **SCEP 証明書** を選択します]
・ IKE セキュリティアソシエーション パラメーター（紫枠）= すべて "構成されていません"
・ 子 セキュリティアソシエーション パラメーター（紫枠）= すべて "構成されていません"
・ 分割トンネリング = 有効にする（Azure P2S と接続する場合は、ここを有効にすることを強く推奨します）
・ この VPN 接続の分割トンネリングルート（黄緑枠）
　Azure 仮想ネットワーク のアドレス空間 を登録します。
　ここで登録をしていない場合は、そのサブネットとは通信ができません。

※ここで設定値を明記していない項目は、任意で選択してください。私の検証時は、緑下線 を選択していますが参考程度としてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/c9145fe2-49f5-db81-54b7-fe4df1873ebe.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/56598b6b-ddd2-bcc0-46d5-9bafda55a379.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/38b2b202-d299-becf-6afd-0b12e42e502d.png)

:::note warn
**注意**
紫枠で括った箇所の **IKE セキュリティ アソシエーション パラメーター** と **子  セキュリティ アソシエーション パラメーター** は、すべて **構成されていません** にすることをお勧めします。

公開情報には Windows 11 の場合は、**すべて 構成されていません** にするか、**すべての項目を 設定する** か のいずれかしか動作しないと明記されています。設定 が混在していると 動作しないので、注意しましょう。

**公開情報：IKE セキュリティ アソシエーション パラメーター (IKEv2 のみ)**
https://learn.microsoft.com/ja-jp/mem/intune/configuration/vpn-settings-windows-10?wt.mc_id=mvp_407731#ike-security-association-parameters-ikev2-only
:::

**公開情報：Windows 10/11 と Windows Holographic デバイスの設定を使用して、Intuneを使用して VPN 接続を追加する**
各設定項目の詳細な説明は、以下の公開情報を参照ください。
https://learn.microsoft.com/ja-jp/mem/intune/configuration/vpn-settings-windows-10?wt.mc_id=mvp_407731

7．**割り当て** タブでは、VPN 設定を配布するグループ を指定して **次へ** を押します。
ここでは、**すべてのデバイスを追加** を選択して検証を実施しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/2d6ec6bd-9f20-4fa4-6dc9-8212f6ae2462.png)

8．**適用性ルール** タブでは、何も修正せずに、**次へ** を押します。
※**割り当て** タブで選択された ユーザー／デバイス のうち、適用する条件や 除外する条件 を指定できます。未設定の場合は、全台が適用されるため、検証時は未選択としました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/edc1a15c-4741-0025-d1e7-b0e67fd2c390.png)

9．**確認および作成** タブでは、設定値を最終確認して、**作成** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/6bf2d87f-4213-12b6-a490-148a7802256c.png)

10．構成プロファイル が作成されると、以下のように 一覧に表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/1d292f4b-ec3b-4e68-1444-e525acf2f8e2.png)

:::note info
各設定項目の選択肢の内容も示しておきます。
**スコープ**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/141880b3-811b-239c-15ca-f8f7c4840b99.png)
**接続の種類**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/99f8a19b-4db0-ca37-d5b5-9752258889e2.png)
**認証方法**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9ad843e4-e34e-ef69-9c39-0edcfe6e8507.png)
:::

# 3. VPN プロファイルが配布された結果
無事に VPN プロファイル が PC に配布されると、以下のようになります。
**設定パネル － ネットワークとインターネット － VPN**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/23f4aac9-4f33-bbd0-ad05-e3dc69c2ef58.png)

**VPN 接続時の状況**
うまく VPN 接続 に成功すると、以下のように **接続済み** と表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/dc248bad-361a-c6f4-7001-f387467c1900.png)

**詳細オプション** を開いたところ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/7ac9db45-3bb7-6fc3-1cc6-c560c5b5c125.png)

**IKEv2 の詳細設定**
<img width="350" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/b7baf1e9-e0b7-79d8-e723-227d69447c69.png">

**この VPN 接続のプロキシ設定**
<img width="350" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/528a4fd4-f76d-1c20-0e8e-0a6e17bbdcbc.png">

**その他の VPN プロパティ**
（全般 タブ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/a27de5e7-9d82-ba90-5abd-f64479b1ec52.png)

（オプション タブ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/3b3120d9-0ae2-c83c-ea64-0a2750033743.png)

（セキュリティ タブ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/66617314-463d-ccba-a648-96a1519a2f7c.png)

（ネットワーク タブ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/a97e36c1-6145-5ce1-9589-fc639beab48e.png)

（共有 タブ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/85c7aabe-84db-242e-5f08-209aa29da9fb.png)

**Intune 管理センターの 表示**
以下のように システムアカウント は、エラーになり、通常のユーザー が **成功** になりました。
この状態で VPN 接続 が出来ています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/3c807dc9-d923-b16f-1e66-15df78ae8b7d.png)

# 4. 注意事項：エラーコード 0x87d1fde8 について
Windows 11 へ 複数の種類の VPN プロファイルを配布すると、バグがあって 以下のような エラーがでるようです。**エラーコード 0x87d1fde8**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/2401c928-1e74-91a0-86dd-8d0893bde633.png)

私も、これで 非常に ハマりました。問題は Intune 側ではなく、クライアント PC 側にあるようです。
クリーン（クリーンインストール済み）な PC を用意して、プロファイルを配布すると、問題なく配布できました。

VPN プロファイルのテストを繰り返していると、問題が生じやすいようです。
１台の PC で、Intune 側の設定を変えて 何度も配布を繰り返しても、一向に 回復できませんでしたが、PC 側をクリーン環境に見直したところ、あっさり解決できました。

**公開情報**
以下の章に Windows 11 の場合に、いくつかの注意事項があることが記載されています。
https://learn.microsoft.com/ja-jp/mem/intune/configuration/vpn-settings-configure?wt.mc_id=mvp_407731#before-you-begin
（上記より抜粋）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9e5897c6-4780-3912-5d8e-70873138a43e.png)

**コミュニティの情報**
以下は一例です。
エラーコードで検索すると、このようなトラブルに遭遇したという記載を見つけることができます。
https://learn.microsoft.com/en-us/answers/questions/1025835/intune-vpn-xml-parse-errors-with-windows-11-22h2

# 5. その他の関連情報
前章（4章）に記載したエラー以外で、うまく行かない場合は、以下の　トラブルシューティング を参考にしていただくと良いと思います。

私の場合、４章の対処をせずに、以下の公開情報を見て切り分けしようとしてしまったので、ハマりました。
トラブル時は、４章の問題をクリアした後で、こちらを見る事をオススメします。

**公開情報：Microsoft Intune での VPN プロファイルに関する問題のトラブルシューティング**

https://learn.microsoft.com/ja-jp/troubleshoot/mem/intune/device-configuration/troubleshoot-vpn-profiles?wt.mc_id=mvp_407731

上記の公開情報をもとに、**MDM 診断情報ログ** を取得してみたところ、以下の内容が確認できました。
うまく行くと、こうなります・・・という参考程度かなと思います。ここに情報があれば、Intune から VPN プロファイルが配布されていると判断することができそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/00dc425d-d6d0-3bf1-872a-f46b35f77002.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/caf3c15a-43c0-688d-2862-b83b55f4c67d.png)

**Certificate-based Point to Site Azure VPN through Intune**
記事を執筆してから気が付きましたが、海外の MVP の方も、同様の記事を投稿されているのを見つけました。
こちらの記事とも比較しつつ、参考にしていただくと良いとおもいます。
https://www.graber.cloud/en/certificate-based-point-to-site-azure-vpn-by-intune/