本記事では、NetAttest EPSがRADIUS認証を行う際に参照するユーザーデータベースとして、Microsoft Entra Domain Servicesと連携する構成についての検証結果をご紹介します。
本記事の設定で、EPSからオンプレミスのActive Directoryを参照して認証を行う場合と同様に、Entra Domain Servicesを参照したEAP-TLS認証、PEAP認証が可能なことを確認しました。
クラウドのID基盤であるEntra IDは、SAMLやOAuthなどのモダン認証に特化しており、従来のActive Directoryで使われていた LDAP、NTLM、Kerberosといったプロトコルを利用することができません。
そのため、RADIUSサーバー(NetAttest EPS)のようにLDAP等での連携が必要な機器をクラウドIDと紐づけるには、従来のプロトコルをサポートするマネージドサービスである Entra Domain Services を展開する必要があります。
本構成は、オンプレミスのActive Directoryを持たない、あるいは将来的に廃止したい環境において、Entra IDのユーザー情報を活用して社内ネットワークの802.1X認証(EAP-TLS/PEAP)を実現したいケースでの選択肢の1つになります。
一方で、以下の前提があります。
詳細な注意点は記事末尾の「本番環境への適用にあたっての注意点」および「注意事項とサポートポリシーについて」もあわせてご参照ください。
本記事では無線LAN接続時の認証を中心に検証しましたが、EPSはVPN接続時のRADIUS認証にも対応しています。
Entra Domain Servicesをユーザーデータベースとして参照する構成自体は同様のため、VPN認証への応用も考えられます。
今回の検証では、社内ネットワークに接続された無線APからEPSに認証要求が行われ、EPSはSite to Site VPNで接続されたAzure仮想ネットワーク内のEntra Domain Servicesにユーザー情報の参照を行います。
本記事ではAzureネットワーク作成やEntra IDの構築は割愛し、Entra Domain ServicesとEPSの連携に関連する設定にフォーカスします。
EPSはベースとなる設定が完了し、認証ができる状態となっている前提で記載します。
本検証で使用したAzureネットワーク構築にあたって設定したAzureのリソースは以下のとおりです。
検証時に使用したEntra IDのライセンスはEntra ID Premium P2、EPSのバージョンはV5.2.9です。

Microsoft Entra 管理センターにてEntra Domain Servicesのデプロイを行います。

リソースグループは「NetAttestLab」、ドメイン名は「netattestlab.onmicrosoft.com」とします。

仮想ネットワークは作成済みのものを選択、サブネットはEntra Domain Services用に作成します。

Entra Domain Servicesのサーバー証明書はEPSで発行します。
Entra Domain ServicesにCSR(証明書発行要求)の作成機能はないため、CSRは用いずにサーバー証明書を用意します。
EPSでの証明書発行にあたって特に注意が必要なサーバー証明書の要件は下記3点です。
詳細な要件についてはMicrosoftのチュートリアルに記載がありますのでご確認ください。
なお、「.onmicrosoft.com」ドメインを使用する場合はパブリックCAから証明書を取得できないため、エンタープライズCAまたは自己署名CAが必要です。
EPSの内蔵CAを使用する場合はこの構成に該当します。
Secure LDAPのサーバー証明書に関する注意事項として証明書の有効期間が挙げられます。
期限が切れるとSecure LDAP機能は即時停止するため、EPSは認証ができなくなります。
有効期間に関するアラートはEntra Domain Services、EPSどちらからも送信可能です。
更新の方法はこれから記載する手順と同様です。
EPSはパスワードを設定したPFXファイル形式の証明書を直接出力できないため、今回はEPSのWebエンロール機能を使用してサーバー証明書を発行し、発行した証明書を管理者PCにインポート/エクスポートすることでEntra Domain Servicesにアップロード可能なサーバー証明書を用意します。
EPSでのその他の証明書発行方法として、証明書一括生成ツールを使用することも可能です。
EPSの利用者一覧からアカウントを新規登録します。
利用者ページのロールとして「証明書申請(すべてのプロファイル)」を指定します。

利用者ページから証明書の発行を行うためにはMicrosoft EdgeのIEモードを使用します。
利用者ページ ( https://EPSのIPアドレスまたはホスト名/ ) にアクセスし、作成した利用者アカウントでログインします。
ログイン後、[証明書申請]-[新規申請]と進み、「Webサーバー証明書」プロファイルを選択します。

「名前」「別名 プリンシパル名」にはワイルドカードを使用する必要があります。
Entra Domain Servicesではバックエンドのドメインコントローラーにランダムな名前が使用されるため、ワイルドカード証明書が必須要件となっています。
ドメイン名が「netattestlab.onmicrosoft.com」のため、「*.netattestlab.onmicrosoft.com」とします。
EPSがEntra Domain Servicesを参照する際にLDAPSを使用するために、任意設定にIPアドレスも指定します。
IPアドレスはEntra Domain Servicesの「プロパティ」に記載されています。

管理者PCにインポート後、秘密鍵をエクスポートするために詳細オプションにて「エクスポート可能なキーとしてマークする」を有効化し、「申請」をクリックすると自動でインポートが行われます。
EPSの設定によっては申請に手動で承認を行う必要があります。
その場合は、サービス管理ページの[証明書]-[申請一覧]で承認を行ってください。
証明書は自動的に現在のユーザーの「個人」ストアにインポートされます。
Windowsにて「certmgr.msc」を指定して実行すると現在のユーザーの証明書ストアが開きます。

インポートされた証明書を右クリックし、[すべてのタスク]-[エクスポート]と進むと証明書のエクスポートウィザードが起動します。
ウィザードに従って進み、「秘密キーのエクスポート」にて「はい、秘密キーをエクスポートします」、「セキュリティ」にてパスワードを指定し、エクスポートします。


エクスポートしたサーバー証明書は、Microsoft Entra 管理センターの[Entra ID]-[ドメインサービス]-[作成したEntra Domain Services]-[設定]-[Secure LDAP]にてアップロードします。
「Secure LDAP」の有効化、証明書ファイルの選択とパスワードの入力を行い、保存してください。
今回の検証では、以下のユーザーアカウントが必要です。
認証用のユーザーアカウントは「tsoliton」、LDAP参照およびドメイン参加用ユーザーアカウントは「entraadmin」を兼用しています。
PEAP認証を行うため、「entraadmin」は「AAD DC Administrators」グループに所属させています。
ユーザーの作成はEntra IDに対して行い、Entra Domain Servicesに自動で同期が行われます。


[Entra ID]-[ユーザー]にて「新しいユーザー」を作成します。
この検証ではtsoliton(sAMAccountName形式)で認証ができましたが、Entra Domain ServicesではsAMAccountNameが自動生成される場合があります。
確実にサインインするにはUPN形式(例:user@domain.onmicrosoft.com)を使用してください。
ユーザーパスワードで認証を行うには、各ユーザーアカウントがEntra Domain Services用のパスワードハッシュを持っている必要があります。
Entra IDとEntra Domain Servicesではパスワードの保存方式が異なるため、Entra IDにユーザーを作成してもパスワード情報は同期が行われません。
Entra Domain Servicesにパスワード情報が作成されるのは、Microsoftポータル等でユーザーがパスワードの変更(またはリセット)を行ったタイミングです。
単なるログインではパスワードハッシュは同期されませんのでご注意ください。
EPSでは認証の際に参照するユーザーデータベースとして利用者リポジトリへのEntra Domain Servicesの登録、PEAP認証の場合は追加でActive Directory認証連携設定が必要です。

Entra Domain Servicesではバックエンドのドメインコントローラーにランダムな名前が使用されるため、サーバー/セカンダリサーバーはIPアドレスで指定します。
すべてのユーザー/グループがAADDC Users配下に登録されるため、バインドDNは CN=entraadmin, OU=AADDC Users, DC=netattestlab, DC=onmicrosoft, DC=comを指定します。
LDAPバインドを行うユーザーに追加の権限は不要です。

「利用者検索」設定の検索ベースはOU=AADDC Usersを指定します。

EPSのネットワーク設定で、Entra Domain ServicesをDNSサーバーとして指定します。

EPSをEntra Domain Servicesにドメイン参加させます。
ドメイン参加を行うには、Entra Domain Servicesにデフォルトで用意されている「AAD DC Administrators」グループに所属したアカウントが必要です。
このアカウントもEntra Domain Servicesにパスワード情報が生成されている必要があります。
以上でEntra Domain Servicesを参照したEAP-TLS認証、PEAP認証の準備は完了です。
これまでの設定で下記3点が可能なことが確認できました。
追加の設定を行うことで、Entra Domain Servicesのセキュリティグループを用いたVLANの制御等も確認ができています。 サプリカント、RADIUSクライアントの設定については本サイトにも参考情報がありますのでご確認ください。
本記事は、弊社製品「NetAttest EPS」が認証を行う際のユーザー情報としてEntra Domain Servicesを使用する構成の技術検証レポートです。
この記事で紹介する構成や手順はあくまで一例であり、お客様の環境における動作を保証するものではありません。
本記事の内容に基づき、お客様の環境で同様の構成を試される場合は、以下の事項を必ずご確認・ご同意の上、お客様ご自身の責任において実施してください。
実際の運用を想定する場合は、導入前に必ず十分な性能評価・機能検証を行ってください。