Active DirectoryにLDAPS通信をしたい
はじめに
Microsoft365やGoogle Workspaceを利用するにあたり、Active Directory上のユーザ情報を利用したい場合はよくあるかと思います。Active Directoryの認証情報を扱う場合はLDAPの通信が発生しますが、社内限定の通信であればLDAP(平文)でも問題ないかと思いますが、外部から社内のActive Directoryの情報を参照させたい場合はLDAPS(暗号化)された通信をさせる必要があります。
今回の記事ではActive DirectoryをLDAPS通信で外部から安全に情報にアクセスさせる方法を記載します。
前提条件
LDAPS通信はSSLの通信になりますのでサーバ証明書が必須になります。Microsoftの世界では以下の形でサーバ証明書が利用できます。
- Active Directory 証明書サービス(ADCS)を使ったサーバ証明書
- Internet Information Services(IIS)を使ったサーバ証明書
- 公的機関が発行するサーバ証明書
公的機関が発行する証明書は有料です。この記事ではADCSの自己証明書を使ってLDAPS通信を実現します。
また、ADCSの機能はActive Directoryサーバと同居する形で実装を想定しています。サーバを物理的に別にできる場合は別にしておいた方が良いです。またADCSはドメイン内で1台のみが構成可能です。
LDAPSの通信は3rdパーティ製品のシングルサインオンサービスで利用されることが多々あります。Gluegent GateやCloudgateがこのパターンになります。
Active Directory証明書サービスの構成
サーバマネージャから[管理]-[役割と機能の追加]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m099-300x201.png)
開始する前にで[次へ]をクリック、インストールの種類で[次へ]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m100-1024x365.png)
対象サーバの選択で[次へ]をクリック、サーバの役割選択で[Active Directory証明書サービス]にチェックをして[次へ]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m101-1024x359.png)
機能の選択で[次へ]をクリック、役割サービスの選択で[証明書機関]にチェックがついていることを確認して[次へ]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m102-1024x366.png)
インストールオプションの確認で[インストール]をクリックします。インストールが完了したことを確認して[閉じる]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m103-1024x367.png)
サーバマネージャの[!]フラグアイコンをクリックして、[対象サーバにActive Directory証明書サービスを構成する]をクリックして、展開後の構成をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m104-1-1024x415.png)
資格情報で[資格情報]にドメイン管理者アカウントを入力し、[次へ]をクリック、役割サービスで[証明機関]にチェックをして[次へ]をクリックします。
※資格情報に入れるドメイン管理者アカウントはEnterprise Adminsグループのメンバーである必要があります。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m105.png)
セットアップの種類で[エンタープライズCA]を選択して[次へ]をクリック、CAの種類で[ルートCA]を選択して[次へ]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m106-1024x376.png)
秘密キーで[新しい秘密キーを作成する]を選択して[次へ]をクリック、CAの暗号化で[暗号化プロバイダの選択]でRSA#Microsoft Software Key Storage Providerを選択、[キー長]を2048を選択、[このCAから発行された証明書の署名に使用するハッシュアルゴリズム]でSHA256を選択して、[次へ]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m107-1024x380.png)
CAの名前で入力値を変更せずに[次へ]をクリック、有効期間で[この証明機関(CA)に対して生成される証明書の有効期間を選択]で100年間にして[次へ]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m108-1024x378.png)
CAデータベースは何も変更せずに[次へ]をクリック、確認で[構成]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m109-1024x374.png)
閉じるをクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m110.png)
Active Directoryサーバで[Windowsキー]をクリックして、[検索ウィンドウ]でldpと入力して、[ldp]を起動します。[接続]から[接続]をクリックします。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m111-1024x418.png)
[サーバ]にlocalhostを入力、[ポート]に636を入力、[SSL]にチェックをして[OK]をクリックします。[接続を開くことができません]というダイアログが出なければ構成は成功です。
![Active Directory証明書サービス構成 ADCS](https://www.engineer-base.net/wp-content/uploads/2022/02/m112-1024x657.png)
まとめ
今回の記事ではLDAPS通信を行う上で必要になるActive Directory証明書サービスの構成について記載してみました。LDAPS通信の要件が出てくるパターンは3rdパーティ製品のシングルサインオンサービスを利用する場合がほとんどだと思います。
Microsoft365もGoogleも標準機能の中でシングルサインオンサービスやアクセス制御を提供しています。各社の要望によっては標準機能では要件を満たせないことも往々にしてありますので3rdパーティサービスが利用されることもあります。
Google Workspaceのアクセス制御は別記事にも記載していますのでご参考までにどうぞ
本記事が皆様のシングルサインオン導入の一助となりましたら幸いです。