35. 35
389-ds
コマンドによる初期設定手順
[root@cent82 ~]# dscreate interactive
Install Directory Server (interactive mode)
===========================================
Enter system's hostname [cent82.3bit.co.jp]: [enter]
Enter the instance name [cent82]: [enter]
Enter port number [389]: [enter]
Create self-signed certificate database [yes]: [enter]
Enter secure port number [636]: [enter]
Enter Directory Manager DN [cn=Directory Manager]: [enter]
Enter the Directory Manager password: (パスワード)
Confirm the Directory Manager Password: (パスワード)
Enter the database suffix (or enter "none" to skip)
[dc=cent82,dc=3bit,dc=co,dc=jp]: dc=example,dc=jp
Create sample entries in the suffix [no]: [enter]
Create just the top suffix entry [no]: yes
Do you want to start the instance after the installation? [yes]: [enter]
Are you ready to install? [no]: yes
Starting installation...
Completed installation for cent82
[root@cent82 ~]# ps ax | grep dirsrv
6909 ? Ssl 0:02 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-cent82 -i /run/
dirsrv/slapd-cent82.pid
41. 41
[root@cent82 ~]# certutil -L -d /etc/dirsrv/slapd-centos82 -l -n Self-Signed-CA
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
00:b5:0c:de:e6
Signature Algorithm: PKCS #1 SHA-256 With RSA Encryption
Issuer:
"CN=ssca.389ds.example.com,O=testing,L=389ds,ST=Queensland,C=AU"
Validity:
Not Before: Fri Jun 19 02:51:11 2020
Not After : Sun Jun 19 02:51:11 2022
389-dsの証明書管理
●
自動作成した証明書は有効期間が2年
●
Replication, WindowsSyncではSSL/TLS必須
●
証明書を作り直したほうがよい
42. 42
[root@cent82 dirsrv]# openssl req -new -x509 -newkey rsa:4096 -out
cacert.pem -keyout cakey.pem -days 3652
Generating a RSA private key
......................++++
writing new private key to 'cakey.pem'
Enter PEM pass phrase: (パスフレーズ)
Verifying - Enter PEM pass phrase:(パスフレーズ)
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Hokkaido
Locality Name (eg, city) [Default City]:Sapporo
Organization Name (eg, company) [Default Company Ltd]:Sunbit System
Organizational Unit Name (eg, section) []:Network Dept.
Common Name (eg, your name or your server's hostname) []:ca.example.jp
Email Address []:
[root@cent82 dirsrv]#
389-dsの証明書管理
●
CA自己署名証明書の作成
43. 43
[root@cent82 dirsrv]# openssl genrsa -out centos82.key 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
........................................++++
[root@cent82 dirsrv]# openssl req -new -key centos82.key -out centos82.csr
-----
Country Name (2 letter code) [XX]:JP
...
Common Name (eg, your name or your server's hostname)
[]:centos82.example.jp
Email Address []:
[root@cent82 dirsrv]# openssl x509 -req -in centos82.csr -out centos82.crt -
days 3652 -CA cacert.pem -CAkey cakey.pem -set_serial 1
Signature ok
subject=C = JP, ST = Hokkaido, L = Sapporo, O = Sunbit System, OU = Network
Dept., CN = centos82.example.jp
Getting CA Private Key
Enter pass phrase for cakey.pem:
[root@cent82 dirsrv]#
389-dsの証明書管理
●
サーバ署名要求とCA署名の証明書作成
44. 44
[root@cent82 ~]# openssl pkcs12 -export -inkey cakey.pem -in cacert.pem -out
cacert.p12
Enter pass phrase for cakey.pem:(鍵作成時のパスフレーズ)
Enter Export Password:(p12ファイルのパスワード)
[root@cent82 ~]# openssl pkcs12 -export -inkey centos82.key -in centos82.crt -
out centos82.p12
Enter pass phrase for centos82.key:(鍵作成時のパスフレーズ)
Enter Export Password:(p12ファイルのパスワード)
389-dsの証明書管理
●
秘密鍵を含めて入れるためpkcs12形式にする
45. 45
[root@cent82 dirsrv]# pk12util -i cacert.p12 -d /etc/dirsrv/slapd-centos82 -k /
etc/dirsrv/slapd-centos82/pwdfile.txt
Enter password for PKCS12 file:
pk12util: no nickname for cert in PKCS12 file.
pk12util: using nickname: ca.example.jp - Sunbit System
pk12util: PKCS12 IMPORT SUCCESSFUL
[root@cent82 dirsrv]# pk12util -i centos82.p12 -d /etc/dirsrv/slapd-centos82 -
k /etc/dirsrv/slapd-centos82/pwdfile.txt
Enter password for PKCS12 file:
pk12util: no nickname for cert in PKCS12 file.
pk12util: using nickname: centos82.example.jp - Sunbit System
pk12util: PKCS12 IMPORT SUCCESSFUL
389-dsの証明書管理
●
pkcs12形式を証明書ストアに入れる
●
pkcs12形式を扱うコマンドは 'pk12util'
●
証明書ストアパスワードは pwdfile.txtにある
57. 57
余談: IdSync for Windows
●
Sun Java System Identity Sychronization
for Windows (2004/前半)
●
Windows2000ADとの同期機能
●
同期の方法はFedora DSとは異なる
●
Windowsからのパスワード変更がWindows不
可侵で受け取れる
59. 59
性能
機材 CentOS 8.2 VirtualBox 4CPU 4Gmem
(Thinkpad X1 Corei7 2.7GHz)
条件 389-ds
password hash をSHA256に変更
bdb
time ldapadd -D 'cn=Directory
Manager' -W -x -f testadd.ldif
OpenLDAP 2.4
olcDbMaxSizeを10M →1GB
mdb
time ldapadd -D
'cn=manager,dc=example,dc=jp' -W -
x -f testadd.ldif
1万追加 real 0m46.343s
user 0m0.449s
sys 0m0.612s
real 1m26.181s
user 0m0.430s
sys 0m0.659s
1万削除 real 0m47.710s
user 0m0.307s
sys 0m0.484s
real 1m20.794s
user 0m0.230s
sys 0m0.409s
10万追加 real 8m36.313s
user 0m4.476s
sys 0m6.423s
real 23m34.480s
user 0m3.916s
sys 0m5.604s
10万削除 real 8m3.592s
user 0m2.569s
sys 0m4.784s
real 14m30.160s
user 0m2.266s
sys 0m4.028s