どうもミツシマです。

今回はActive Directoryサーバー(DC)のLDAPSを有効化する方法に関して検証してみました。
通常であればLDAPS通信を有効化する為にCAが必要なのですが、今回はCAを構築せず、Powershellコマンドを用いたオレオレ証明書でLDAPSを有効化する手順を検証してみました。

検証OS:Windows Server 2016


〜検証〜

全体的な手順としては
  1. Powershellコマンドでサーバー証明書を生成する
  2. 「生成したサーバー証明書」と「ルート証明書」をエクスポートする
  3. 「生成したサーバー証明書」を所定の場所にインポートする
  4. 「ルート証明書」をインストールする
こんな感じです。

まずはPowershellコマンドで証明書を作成していきます。
#FQDNの取得
$wmiobj = Get-WmiObject win32_ComputerSystem
$strFQDN = $wmiobj.Name + "." + $wmiobj.Domain

#サーバー証明書作成
New-SelfSignedCertificate -Subject $strFQDN -DnsName $strFQDN -CertStoreLocation "cert:\Localmachine\My" -HashAlgorithm sha256 -KeyAlgorithm RSA -KeyLength 2048 -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(10) -TestRoot
04-コマンドで証明書作成

本当はルートCA証明書も手動で作成したほうがいいのかもしれませんが、
面倒なので「-TestRoot」でやっちゃってます。。。(^_^;)


次に各証明書をエクスポートします。
「ファイル名を指定して実行」から「mmc」を実行します。
証明書(ローカルコンピューター)」をスナップインとして追加します。
05-mmc

「個人」の中に先程生成したサーバー証明書があるので、右クリックより「エクスポート」します。
06-mmc

07-エクスポート

当たり前ですが秘密キーもエクスポートします。
08-エクスポート

10-エクスポート

11-エクスポート

12-エクスポート

13-エクスポート完了


同様にルートCA証明書もエクスポートします。
こちらは「中間証明機関」の中にあります。
14-中間証明書エクスポート

15-中間証明書エクスポート

16-中間証明書エクスポート

17-中間証明書エクスポート

18-中間証明書エクスポート

19-中間証明書エクスポート完了

これで「サーバー証明書」と「ルートCA証明書」のエクスポートが完了です。
続いて「サーバー証明書」を所定の位置にインポートします。

今度はスナップインの追加にて「サービスアカウント」-「Active Directory Domain Services」を選択します。
20-LDAPS用証明書設定

21-LDAPS用証明書設定

22-LDAPS用証明書設定


証明書「NTDS¥個人」に「サーバー証明書」をインポートします。
23-LDAPS用証明書設定

24-LDAPS用証明書設定

25-LDAPS用証明書設定

26-LDAPS用証明書設定

27-LDAPS用証明書設定

28-LDAPS用証明書設定

これで証明書のインポートが完了しました!
29-LDAPS用証明書設定完了


続いて「ルートCA証明書」をインストールしていきます。
※今回はLDAPS通信を自分自身のサーバーに対してテストしてますので、同一サーバーに「ルートCA証明書」をインストールしていますが、別サーバーからLDAPS通信をする場合には別サーバーにインストールが必要です!!当たり前ですが(ー_ー)!!

30-ルート証明機関へインポート

31-ルート証明機関へインポート

32-ルート証明機関へインポート

33-ルート証明機関へインポート

インストール完了です!!

すべての準備が整ったのでLDAPS通信テストをしてみたいと思います。
ツールとしては「ldp.exe」というツールを使用していきます。
※このツールはAD DSサービスがインストールされたサーバーであれば、標準で持っているツールです。
 「ファイル名を指定して実行」から呼び出せます。
01-確認ツール起動

02-接続

34-ルート証明機関へインポート

35-LDAPS確認OK

特にエラーなく通信出来ていることが確認出来ます!
(注)設定不備や通信不備があると下記のようなエラーで接続が出来ません。
03-ldaps設定前エラー


こんなところで今回の検証は終了したいと思います(^o^)
LDAP通信自体は暗号化されていないので、LDAPSの方がセキュリティ上好ましいのかもしれませんが、
この為だけにCAを構築するのはハードル高いですよね。。。(^_^;)
単純にLDAPS通信だけしたいのであればこれでいいかもしれませんね。
スポンサードリンク