Microsoft Intuneで無線LAN認証用のSCEP証明書を自動配布する
〜組織が管理するデバイスにネットワーク接続を制限する〜
検証概要
今回は、無線LANへの接続にクライアント証明書を利用する802.1X認証(EAP-TLS)を設定したSSIDに接続するため、Microsoft Intune(以下、Intune)管理下のデバイスに対して、クラウドPKI機能を持つSecureW2のSCEP連携機能を利用したクライアント証明書の自動発行・配布について検証を行いました。 これにより、組織が管理するデバイスのみがネットワークに参加できることを担保します。
今回の検証では、クライアント証明書を配布するデバイスはWindows 11とiPhoneの2つを利用していきます。
製品名 | メーカー | 役割・機能 | バージョン |
---|---|---|---|
Microsoft Entra ID | Microsoft | IDaaS(ユーザー管理) | - |
Microsoft Intune | Microsoft | MDM(構成プロファイル配布) | - |
SecureW2 JoinNow | SecureW2 | RADIUSサーバー・認証局/発行局 | 7.6.0.GA1 |
MR33-HW | Cisco Meraki | RADIUSクライアント・アクセスポイント | MR30.6 |
ThinkPad E590 | Lenovo | 802.1X サプリカント(クライアントPC) | Windows 11 23H2 |
iPhone 11 | Apple | 802.1X サプリカント(スマートフォン) | iOS 17.3.1 |
今回の検証における連携構成
本構成において証明書が発行される流れのイメージを下図に示します。
- デバイスがIntuneに管理デバイスとして参加します
- IntuneがSCEP証明書プロファイルをデバイスに対して配布します
- デバイスがSecureW2に対して直接SCEP要求を行います
- SecureW2がMicrosoft Entra IDに対してIntuneへのアクセス権を要求します
- Entra IDがSecureW2にIntuneへのアクセスを承認します
- SecureW2がIntuneにユーザー情報を問い合わせます
- IntuneがSecureW2にユーザー情報を伝えます
- SecureW2が証明書テンプレートを基に、デバイスに対して直接認証局で署名した証明書を配布します
前提条件
今回の検証は、以下の前提で行なっております。
- SecureW2の管理者アカウントを持っていること
- Entra IDのグローバル管理者権限を持っていること
- Intuneの基本的なセットアップが終わっており、証明書を配布したいデバイスが既にIntuneに参加していること
- アクセスポイントの設定が完了していること
1. Entra IDの設定
1.1. アプリの作成
Entra IDのアプリケーションとSecureW2との連携により、Intune管理下のデバイスのステータスに基づいて、証明書の発行・失効を自動化することができます。
以下の画像のようにSecureW2とEntra IDを連携するためにEntra IDにアプリケーションを作成します。
アプリケーション (クライアント) ID と ディレクトリ (テナント) ID は後ほど使用するため、メモ等に控えておきます。
1.2. クライアントシークレットの作成
以下の画像のように、クライアントシークレットを作成します。
※1「値」にある文字列がクライアントシークレットとなります。
※2 クライアント シークレットの作成直後を除いて、値は表示できません。ページを終了する前に、シークレットを必ず保存してください。
1.3. APIのアクセス許可 を追加
下の画像のように、[Microsoft Graph] から [Application.Read.All] と、[Intune] から [scep_challenge_provider] のアクセス許可をします。
これで Entra IDの設定は完了しました。
2. SecureW2の設定
SecureW2で設定が必要な項目は以下の通りです。
- 認証局に関する設定
- Intuneとの連携に関する設定
- 証明書発行に必要な各種設定
SecureW2における認証局(CA)とは、ルート認証局と中間認証局のことで、ルート認証局は中間認証局の中間証明書だけを発行し、中間認証局はクライアント証明書を発行します。
今回は、認証局に関する設定と証明書発行に必要な各種設定の一部はデフォルトのものを使用します。
以降はIntuneとの連携に関する設定であるIdentity Providersと、証明書発行に必要な各種設定の1つであるEnrollmentポリシーの設定を行います。
2.1. 認証局に関する設定
2.1.1. ルート・中間認証局今回使用する認証局は事前に作成したものを使用します。
赤枠で囲ったボタンを押して証明書をダウンロードします。
ダウンロードしたファイルはIntuneの設定で使います。
証明書テンプレートは、証明書を配布する際に証明書に含める情報を決定する要素となるものです。
SecureW2の証明書テンプレートに設定する変数によって、IntuneのSCEPプロファイルの設定に入力された値が記載された証明書を発行可能です。
今回は以下に示したように証明書テンプレートとSCEPプロファイルを設定しました。下記で紹介する5つの変数はそれぞれどの項目にも設定できます(例 : SubjectにCN=${/csr/san/dnsname}と入力する等)。SCEPプロファイルの設定やプロファイルに設定できる変数等は後ほど詳しくご説明いたします。
番号 | SCEPプロファイルの設定 | 証明書テンプレートに設定する変数 |
---|---|---|
① | サブジェクト名の形式 | ${/csr/subject/commonname} |
② | ユーザープリンシパル名(UPN) | ${/csr/san/othername} |
③ | 電子メールアドレス | ${/csr/san/rfc822name} |
④ | DNS | ${/csr/san/dnsname} |
⑤ | URI | ${/csr/san/uniformresourceidentifier} |
2.2. Intuneとの連携に関する設定
SCEP連携を行うことにより、Intune管理デバイスにSecureW2の認証局で発行した証明書を配布できるようになります。この連携を実現するには、SecureW2で生成したSCEP URLをIntuneに登録する必要があります。これから、SCEP URLを生成するためにIdentity Providersを作成していきます。
- Identity Management > [Identity Providers] をクリックします。
- [Add Identity Provider] をクリックします。
-
以下のように値を入力して、[Save] をクリックします。
項目名 設定値 Name 例: Intune Type 【Intune CA Partner 】(選択) -
Configurationタブ に移動し、以下のように値を入力します。Endpoint URl は後ほど使用するため、メモ等に控えておきます。
最後に [Update] をクリックします。項目名 設定値 Client Id 1.1で作成したアプリケーション (クライアント) ID Client Secret 1.2で作成したクライアントシークレット Tenant Id 1.1で作成したディレクトリ (テナント) ID Certificate Authority 例:【 Pentio Dev Device Intermediate CA 】
2.3. 証明書発行に必要な各種設定
Intune管理デバイスへの適切な証明書配布、無線LAN接続の際のRADIUS認証を正しく行うためにはポリシーの設定が必要となります。Intune管理デバイスに証明書を発行し、その証明書を持つデバイスのみRADIUS認証が成功するようなポリシー設定を行います。
2.3.1. Policy Engine Workflows
Policy Engine Workflowsを利用することで、Intuneユーザー(デバイス)を識別します。
今回はデフォルトのものを使用します。
2.3.2. Device Role ポリシー
のちに設定するEnrollmentポリシーで必須となるポリシーです。
今回はデフォルトのものを使用します。
2.3.3. Enrollment ポリシー
Enrollment Policyは、 2.3.1, 2.3.2で設定したPolicy Engine Workflow、Device Policyを利用してIntune管理デバイスに対して、どの中間認証局と証明書テンプレートを使用してクライアント証明書の発行を行うかを定義します。
- Policy Management >Enrollment Policiesを開き、一覧の下にある [Add Enrollment Policy] をクリックします。
- Enrollment Policy 作成画面に移動します。名前を入力し、[Save] をクリックします。
- Enrollment Policyが作成できると、Basicタブの右側にConditions, Settingsタブが選択できるようになります。Conditionsタブを開き、RoleとDevice Roleをを設定します。
-
Conditionsタブの設定が完了したらSettingsタブを開き、画像の通りに設定を行います。
Use Certificate Authorityには中間認証局を、Use Certificate Templateには証明書テンプレートを設定します。設定が完了したら [Update] をクリックします。
2.3.4. Network ポリシー
Networkポリシーはユーザーが無線LANに接続要求をした際のアクセスレベルを定義します。RADIUSサーバーは、証明書登録時にデバイスから取得した情報を条件として、接続の許可・拒否を判断します。
今回は、デフォルトのものを使用します。
以上でSecureW2の設定が完了しました。
次は、Intuneで証明書を配布する設定を行います。
3. Intuneの設定
次に、Intuneの設定を行います。構成プロファイルという形で証明書以外にも様々な設定を配布する必要があります。具体的には、以下3つの設定をプロファイルに含めデバイスに配布する設定を行う必要があります。
-
信頼済み証明書の設定 :
- EAP-TLS認証およびSCEP要求のために必要となる信頼設定
-
SCEP証明書の配布設定 :
- 実際にクライアント証明書を配布する設定
-
ネットワーク設定 :
- SCEPで配付した証明書を無線LAN認証で使うためのネットワーク設定
お使いのOSが複数種ある場合、本記事の手順をOSごとに実行していただく必要がございますが、設定はほとんど同じなので本記事ではWindowsとiOSを例として説明します。
3.1. Windowsの設定
3.1.1. 信頼済み証明書の設定
無線LANにEAP-TLS認証(クライアント証明書認証)およびSCEP要求の設定を行うために、Intune上にファイルをアップロードすることで、以下3つの認証局をデバイスに信頼させます。
-
DigiCertの認証局(DigiCert Global Root G3 ,DigiCert Global G3 TLS ECC SHA384 2020 CA1 )
- EAP-TLS認証では、DigiCertの認証局の証明書があることで、接続要求をするクライアントと認証するRADIUSサーバー双方がお互いを認証するように定められています。
- SecureW2で構築したお客様のルート認証局(Pentio Dev Device Root CA)
-
SecureW2で構築したお客様の中間認証局(Pentio Dev Device Intermediate CA)
- クライアント証明書を発行するSecureW2のルート認証局・中間認証局をデバイスに信頼させる設定を行うことによって、デバイスは配布された証明書を正しく信頼し、使えることができるようになります。
デバイス > 構成プロファイル > 作成で新しいポリシーをクリックして構成プロファイルを作成します。プラットフォームはWindows 10以降、プロファイルの種類はテンプレート → 信頼済み証明書とします。
これで、配布するプロファイルに信頼済み証明書の設定を含めることができました。
SCEP証明書の設定に進みます。
3.1.2. SCEPプロファイルの設定
次に、SecureW2からデバイスに証明書を自動発行するためのSCEPプロファイルを作成します。
-
以下のように選択し、下にある [作成]をクリックします。
項目名 設定値 説明 プラットフォーム 例: Windows 10 以降(選択) 配布したいOS プロファイルの種類 テンプレート → SCEP証明書(選択) -
プロファイルの作成画面に移動するので、まずはプロファイルの名前を指定し、[次へ] をクリックします。
項目名 設定値 説明 名前 例: Pentio - SCEP Profile プロファイルの名前 -
次に配布するSCEP証明書の設定を行います。以下のように入力したら [次へ] をクリックしてください。
項目名 設定値 説明 証明書の種類 ユーザー(選択) サブジェクト名をEmailアドレスにしたいのでユーザーを選択します サブジェクト名の形式 CN={{EmailAddress}} 証明書テンプレートで設定した ${/csr/subject/commonname}にEmailアドレスが格納されます サブジェクトの別名 : 属性①
サブジェクトの別名 : 値①ユーザー プリンシパル名 (UPN)
{{EmailAddress}}SecureW2 証明書テンプレートで使用する変数${/csr/san/othername}に値①が格納されます。ここではユーザーのEmailを代入します。 サブジェクトの別名 : 属性②
サブジェクトの別名 : 値②電子メール アドレス
{{SERIALNUMBER}}SecureW2 証明書テンプレートで使用する変数${/csr/san/rfc822name}に値②が格納されます。ここではクライアント端末のシリアル番号を代入します。 サブジェクトの別名 : 属性③
サブジェクトの別名 : 値③DNS
{{AAD_Device_ID}}SecureW2 証明書テンプレートで使用する変数${/csr/san/dnsname}に値③が格納されます。ここではMicrosoft Entra IDによってデバイスに割り当てられたIDを代入します。 サブジェクトの別名 : 属性④
サブジェクトの別名 : 値④URI
{{UserPrincipalName}}SecureW2 証明書テンプレートで使用する変数${/csr/san/uniformresourceidentifier}に値④が格納されます。ここではユーザープリンシパル名を代入します。 証明書の有効期限 例: 年 / 1(選択) 5年が最大です。証明書テンプレートで設定した期限と一致している必要があります。 キー使用法 デジタル署名(選択)
キーの暗号化(選択)ご利用するクライアント証明書に必要な使用法を選択します キーサイズ 2048(選択) キー記憶プロバイダー(KSP)にTPMを指定した場合は、1024bit 又は 2048bitをご選択いただけます。
※ただし1024bitは鍵の安全性の観点から非推奨のため、ここでは2048bitを選択しますルート証明書 例: Pentio Dev Device Intermediate CA(選択) SecureW2で構築したお客様の中間認証局 を含む“信頼済み証明書”プロファイルを指定します
※ルート証明書という項目名ですが、クライアント証明書の発行局を指定する項目のため、中間認証局を持つCA構成の場合は中間認証局を指定します(記載間違いではありません)定義済みの値 クライアント認証(1.3.6.1.5.5.7.3.2)(選択) 更新しきい値 20 設定した証明書の有効期限のうち残り{設定した値}%になると自動で更新されます SCEPサーバーのURL 例: https:\//pki-services.securew2.com/enroll/… 作成したSCEP URL 今回はユーザー証明書を作成しましたが、状況に応じてデバイス証明書を作成することも可能です。
- SecureW2では、証明書を配布したデバイスの管理をする際に、Device InfoとUserに証明書の内容が反映されます。具体的に、Userには証明書テンプレートの SAN: Other Name の値が表示されます。今回はOther Nameにユーザープリンシパル名に設定した値を格納するよう変数を設定したので、以下の図のようにEmailAddressが表示されています。
- Device Infoには電子メールアドレスに設定した値が表示されます。今回はSERIALNUMBERが表示されています。
- サブジェクト名の形式 とサブジェクト名の別名 で設定できる変数はリンクから確認できます。
- このプロファイルを割り当てるグループを [グループを追加] から選択し、[次へ] をクリックします。
- 適用性ルールのページですが、このまま [次へ] をクリックします。
- 最後に内容を確認したら、[作成] をクリックします。
以上の設定で、選択したグループに所属するデバイスにSecureW2から証明書が発行される設定が完了しました。
3.1.3. ネットワークプロファイルの設定
最後に、Wi-Fiの接続設定が入ったネットワークプロファイルと有線LAN接続用プロファイルを作成します。このプロファイルにより、証明書を受け取った後、デバイスがセキュアなSSIDに自動で繋がります。
SSIDやRADIUS設定、認証方法を設定したら完了です。
3.2. iOSの設定
信頼済み証明書の設定とネットワークプロファイルの設定はWindowsと同様に設定します。
3.2.1. SCEPプロファイルの設定
-
以下のように選択し、下にある [作成] をクリックします。
項目名 設定値 説明 プラットフォーム 例: iOS/iPadOS(選択) 配布したいOS プロファイルの種類 テンプレート → SCEP証明書(選択) -
プロファイルの作成画面に移動するので、まずはプロファイルの名前を指定し、[次へ] をクリックします。
項目名 設定値 説明 名前 例: Pentio - SCEP Profile プロファイルの名前 -
次に配布するSCEP証明書の設定を行います。以下のように入力したら [次へ] をクリックしてください。
項目名 設定値 説明 証明書の種類 ユーザー(選択) サブジェクト名をEmailアドレスにしたいのでユーザーを選択します サブジェクト名の形式 CN={{EmailAddress}} 証明書テンプレートで設定した ${/csr/subject/commonname}にEmailアドレスが格納されます サブジェクトの別名 : 属性①
サブジェクトの別名 : 値①ユーザー プリンシパル名 (UPN)
{{EmailAddress}}SecureW2 証明書テンプレートで使用する変数${/csr/san/othername}に値①が格納されます。ここではユーザーのEmailを代入します。 サブジェクトの別名 : 属性②
サブジェクトの別名 : 値②電子メール アドレス
{{SERIALNUMBER}}SecureW2 証明書テンプレートで使用する変数${/csr/san/rfc822name}に値②が格納されます。ここではクライアント端末のシリアル番号を代入します。 サブジェクトの別名 : 属性③
サブジェクトの別名 : 値③DNS
{{AAD_Device_ID}}SecureW2 証明書テンプレートで使用する変数${/csr/san/dnsname}に値③が格納されます。ここではMicrosoft Entra IDによってデバイスに割り当てられたIDを代入します。 サブジェクトの別名 : 属性④
サブジェクトの別名 : 値④URI
{{UserPrincipalName}}SecureW2 証明書テンプレートで使用する変数${/csr/san/uniformresourceidentifier}に値④が格納されます。ここではユーザープリンシパル名を代入します。 証明書の有効期限 例: 年 / 1(選択) 5年が最大です。証明書テンプレートで設定した期限と一致している必要があります。 キー使用法 デジタル署名(選択)
キーの暗号化(選択)ご利用するクライアント証明書に必要な使用法を選択します キーサイズ 2048(選択) キー記憶プロバイダー(KSP)にTPMを指定した場合は、1024bit 又は 2048bitをご選択いただけます。
※ただし1024bitは鍵の安全性の観点から非推奨のため、ここでは2048bitを選択しますルート証明書 例: Pentio Dev Device Intermediate CA(選択) SecureW2で構築したお客様の中間認証局 を含む“信頼済み証明書”プロファイルを指定します
※ルート証明書という項目名ですが、クライアント証明書の発行局を指定する項目のため、中間認証局を持つCA構成の場合は中間認証局を指定します(記載間違いではありません)定義済みの値 クライアント認証(1.3.6.1.5.5.7.3.2)(選択) 更新しきい値 20 設定した証明書の有効期限のうち残り{設定した値}%になると自動で更新されます SCEPサーバーのURL 例: https:\//pki-services.securew2.com/enroll/… 作成したSCEP URL 割り当ての設定はWindowsと同じように行います。
以上の設定で、選択したグループに所属するデバイスにSecureW2から証明書が発行される設定が完了しました。
これで、Intuneの設定は以上になります。
動作確認
Windows
-
検証機にログインし、左下の検索ウインドウから [ユーザー証明書] と検索します。
候補から、[ユーザー証明書の管理] をクリックします。 - ポップアップが表示されるので、[はい] をクリックします。
- ユーザー証明書ストアが開きます。[個人] をクリックし、[証明書] をクリックして発行者が 設定した中間認証局 (例. Pentio Dev Device Intermediate CA )である証明書があることを確認します。これで、SecureW2から適切に証明書が発行されていることが確認できました。
-
最後に、この証明書を使って無線LANに接続できることを確認しましょう。
3章で Intune のプロファイルに記述した SSID に接続を試みます。 -
正常に接続されました。
なお、表示されているのは Intune のネットワークプロファイルで設定したネットワーク接続名です。
iOS
-
検証機の [設定]>[一般]>[VPNとデバイス管理] >モバイルデバイス管理 > [Management Profile]>[詳細] を開き、Wi-FiネットワークにWi-Fiのプロファイルがあることと、SCEPデバイスID証明書の発行元が、SecureW2で設定した中間認証局(例:Pentio Dev Device Intermediate CA)である証明書があることを確認します。これで、SecureW2から適切に証明書が発行されていることが確認できました。
※証明書が発行されたことは、JoinNow Management Portal > Data and Monitoring > General Eventsからも確認できます。 - 最後に、この証明書を使って無線LANに接続できることを確認しましょう。設定の画面から [Wi-Fi] を開きます。
-
正常にWi-Fiプロファイルなどが配布されていれば、マイネットワークにプロファイルに記述したSSIDが表示されますので選択します。
例: SecureW2_test - 正常に接続されました。
おわりに
本記事では、無線LAN(802.1X認証/EAP-TLS)に接続するためのクライアント証明書を、SecureW2 を利用して発行し、Microsoft Intune を通じて管理するデバイスへ自動配布するための設定を検証しました。この結果、WindowsおよびiOSデバイスで無線LAN接続が正常に行えることを確認しました。
SecureW2とMicrosoft Intuneを組み合わせることで、異なるOSを利用する複数のデバイスを包括的かつ簡便に管理でき、組織に必要な認証局・証明書運用負荷を大幅に削減できることが確認できました。この構成は管理者による運用負荷・工数削減にとどまらず、エンドユーザーが証明書の取得・更新作業に触れることがないため、ユーザー体験の向上と認証強度の強化という相反する両方の要求に答えます。
また、組織内のデバイスのうちWindows OSだけは既にIntune管理下にある組織も多いのではないでしょうか。この場合、会社支給のスマートフォンであるiPhoneやAndroid、macOSなどをIntune管理に追加することで、既存の運用方法を見直す必要なく、デバイス管理・証明書発行/配布管理を幅広いOSの業務端末に拡張していくことが可能です。こうした背景から、特に多様なデバイス環境でのセキュリティ強化やネットワークを課題としている組織にとって、このソリューションは非常に有用であると言えるのではないでしょうか。
構成の特徴
-
SecureW2の柔軟性
- クラウドPKI機能で証明書の発行、更新、失効を一元管理
- MDMとのSCEP連携やACME連携による効率的な証明書配布
-
Microsoft IntuneのOS対応力
- Windows、macOS、iOS、Androidなど主要OSを幅広くサポート
- OSごとにMDMを契約する必要がなく、すべてのOSを一元管理が可能
-
高度なセキュリティと運用効率
- 証明書配布の自動化により管理者とエンドユーザーの運用負荷を軽減
- 組織が管理するデバイスのみ証明書を受取可能なためネットワーク接続機器の信頼性向上
- SecureW2の高可用性のクラウドRADIUSサービスで安全な接続を実現
以上で「Microsoft Intuneで無線LAN認証用のSCEP証明書を自動配布する」検証レポートを終わります。
本記事で登場した製品
SecureW2 JoinNow
- 証明書の発行・更新・失効を含むPKIのライフサイクルをクラウドで管理できるサービスです
- MDMとのSCEP連携・ACME連携によって組織が管理する端末にサイレントで証明書を自動発行・配布します
- VPNやWi-Fiの認証を統合するメンテナンスフリーのクラウド型RADIUSサービスを非常に高い可用性で提供します
Microsoft Intune
- 組織が所有するデバイスとエンドユーザーが所有するデバイスを管理でき、様々なOSに対応しているMDMサービスです 例: Windows、macOS、iOS / iPadOS、Android
- アプリケーション・デバイス構成設定を遠隔から配布、管理者による一括管理を実現します
- デバイス状態に基づいたコンプライアンス状態の評価を提供します
問い合わせはこちら
ペンティオでは、SecureW2の無料トライアルを承っております。社内環境をヒヤリングさせていただいた後にトライアル環境を準備いたします。
※トライアル環境のご手配には数日お時間をいただきます