手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 389 Directory Server LDAP サーバー構築 #2 TLS 有効化

目次に戻る

Overview

389 Directory Server で TLS (LDAPS) を有効化します。

前提条件

  • こちらを参考に 389 Directory Server のインスタンス作成が完了していること。

TLS の有効化

TLS は nsslapd-security で制御されています。インスタンス作成時に自己署名証明書を作成しない場合の初期値は off です。

myadmin@ubuntu:~$ ldapsearch -H ldap://ldap.si1230.com -D "cn=Directory Manager" -w password -b cn=config | grep nsslapd-security
nsslapd-security: off

TLS を有効にします。

myadmin@ubuntu:~$ cat <<"EOF" | ldapmodify -H ldap://ldap.si1230.com -D "cn=Directory Manager" -w password
dn: cn=config
replace: nsslapd-security
nsslapd-security: on
EOF
myadmin@ubuntu:~$ ldapsearch -H ldap://ldap.si1230.com -D "cn=Directory Manager" -w password -b cn=config | grep nsslapd-security
nsslapd-security: on

ポイントはこの時点でインスタンスを再起動しないことです。証明書が未設定のためエラーになります。この場合、試してませんがおそらくインスタンスの再作成が必要です。

pin.txt

pin.txt には NSS Certificate DB のパスワードが記載されています。このパスワードは後述の certutil, pk12util コマンドで使用します。

myadmin@ubuntu:~$ sudo cat /etc/dirsrv/slapd-main/pin.txt

ルート証明書のインポート

この手順は「update-ca-certificates 自己署名証明書の信頼」を実施している場合は不要です。参考までに個別に信頼する場合は下記の通りルート証明書をインポートします。

myadmin@ubuntu:~$ sudo certutil -A -d /etc/dirsrv/slapd-main -n CA-Cert -t c,, -i ca.crt
myadmin@ubuntu:~$ sudo certutil -L -d /etc/dirsrv/slapd-main

サーバー証明書のインポート

サーバー証明書のインポートには PKCS#12 形式の証明書が必要となります。ここでのパスワードは pk12util でのインポート時に使用します。

openssl pkcs12 -export -in /etc/my-ssl/certs/si1230.com.crt -inkey /etc/my-ssl/private/si1230.com.key -out /etc/my-ssl/certs/si1230.com.p12 -nodes -name Server-Cert

サーバー証明書をインポートします。

myadmin@ubuntu:~$ sudo pk12util -i /etc/my-ssl/certs/si1230.com.p12 -d /etc/dirsrv/slapd-main
myadmin@ubuntu:~$ sudo certutil -L -d /etc/dirsrv/slapd-main

設定の有効化

389 Directory Server は基本的にオンラインで設定変更が可能ですが、TLS の有効化にはインスタンスの再起動が必要です。

myadmin@ubuntu:~$ sudo systemctl restart dirsrv@main.service && systemctl status dirsrv@main.service

TLS 有効化後の初回のログは暗号化に関するエラーがいくつか出ますが、2 回目以降は解消されます。

正常性確認

LDAPS で接続を確認します。LDAPS 接続が失敗する原因は、①ルート証明書を信頼していない、②サーバー証明書の common-name(または alt-name )で指定している FQDN が一致していない、のどちらかがほとんどです。

myadmin@ubuntu:~$ ldapsearch -H ldaps://ldap.si1230.com -D "cn=Directory Manager" -w password -b cn=config

次のステップ

389 Directory Server LDAP サーバー構築 #3 ベースエントリーの登録

目次に戻る

Ubuntu 22.04 389 Directory Server LDAP サーバー構築 #2 TLS 有効化

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る