ここで説明するように、現在、OpenLDAPはldapmodify cn = configで設定する必要があります。しかし、TLSトラフィックのみを受け入れるように設定する方法は見つかりません。サーバーが暗号化されていないトラフィックを受け入れることを確認しました(ldapsearchとtcpdumpを使用)。
通常、IPテーブルを使用して非SSLポートを閉じるだけですが、SSLポートの使用は推奨されないため、そのオプションはありません。
したがって、次のようなSSL構成コマンドを使用します。
dn: cn=config
changetype:modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/bla.key
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/bla.crt
-
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/ca.pem
TLSを強制するためのパラメーターはありますか?
編集:olcTLSCipherSuiteを試してみましたが、機能しません。デバッグ出力:
TLS: could not set cipher list TLSv1+RSA:!NULL.
main: TLS init def ctx failed: -1
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
Edit2(ほぼ修正済み):ロードすることで修正できました:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
しかし、その後のようなコマンド
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
もう動作しません...そしてそれを次のように変更します:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
「ldap_bind:Invalid credentials(49)」が表示されます。どうやら、このbinddnがrootdnとして指定されていても、それを使用して変更することはできませんcn=config
。変更できますか?
TLS confidentiality required
メッセージで応答します。