私は周りを見回し、OpenLDAP用にTLSを設定する方法について多くのオンラインを見つけました。基本的な考え方は、cert、key、cacertを含むようにolcTLS項目を追加することです。 cn=config
。
しかし、と FusionDirectory 、使おうとしている ldapmodify
私に言う cn=config
存在しない、そして私が作成しようとしたとき cn=config
、それは私にそれを作成する権限がないことを私に告げます(LDAP管理者としてログインした)。私がフォローしていた これら 説明書
だから私はファイルを編集することに頼った /etc/ldap/slapd.d/cn=config.ldif
次の項目を追加します。
olcTLSCACertificate: /etc/ssl/certs/ca.cert
olcTLSCertificateFile: /etc/ssl/certs/fd.cert
olcTLSCertificateKeyFile: /etc/ssl/private/fd.key
olcTLSCipherSuite: SECURE256
olcTLSVerifyClient: try
私も編集しました /etc/default/slapd
含める SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
- openldapユーザーをssl-certグループに追加しました。
- slapdを再起動しました。
- ldapviを使用して、
cn=config
見つかりません。 - しかし
slapcat -n0 | grep -i tls
強制的にファイルに追加したolcTLS *エントリを示しています。 - Wiresharkを使用して、クライアントがSTART_TLSを要求すると、サーバーは大丈夫と言ってサポートされている暗号を表示します。クライアントはSSL Helloを開始し、サーバーはTCP FINで応答します。
nmap
ポート389とそのことを示しています。 636が開いており、証明書情報(発行者:commonName = MyServer / organizationName = Testing)、公開鍵タイプ:rsa、公開鍵ビット:4096、および証明書のMD5およびSHA1ハッシュも表示されます。証明書を読むことができます。キー、権限は大丈夫です。
ただし、SSL(636)とTLS(389)接続は失敗します。暗号化されていない389接続はうまく機能しますが、Wiresharkではあまりにも多くの情報が表示され、それが私を不快にします。
それではここでの契約はどうですか?
- OSはDebian Jessie 8.7です
- FusionDirectory 1.0.20
- OpenLDAP 2.4.40
- で作成された証明書 gnomint TLS拡張を使って。
2017年5月15日編集:
私は走った openssl s_client -connect host.local -showcerts
そしてそれは証明書、交渉された暗号などを示しました。
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms:
RSA+SHA384:ECDSA+SHA384:RSA+SHA512:ECDSA+SHA512
Shared Requested Signature Algorithms:
RSA+SHA384:ECDSA+SHA384:RSA+SHA512:ECDSA+SHA512
Peer signing digest: SHA512
Server Temp Key: ECDH, P-521, 521 bits
---
SSL handshake has read 4512 bytes and written 511 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 5120 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: 37EAADA00459F296BE972FB57B4A5....
Session-ID-ctx:
Master-Key: 0F865CBEDA755F84E783.....
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1494883911
Timeout : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
しかしながら、 ldapsearch
うまくいきません。
# ldapsearch -H ldaps://host.local:636 -xLL -v
ldap_initialize( ldaps://host.local:636/??base )
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
そのため、SSL部分は機能しますが、それ以外の部分は機能しません。