Debian/Squeezeでslapdを使用していて、ポート389でSTARTTLSを使用してTLS暗号化接続のみを許可するようにシステムを構成しようとしています。
したがって、ポート389でリッスンするように/ etc/default/slapdを構成しました。
SLAPD_SERVICES="ldap://:389/"
次のエントリを/etc/ldap/slap.d/cn=config.ldifに追加して、証明書を生成し、TLSを有効にしました。
olcTLSCertificateFile: /etc/ssl/openldap/ca-cert.pem
olcTLSCertificateKeyFile: /etc/ssl/openldap/ca-key.pem
そして最後に、次の内容の/etc/ldap/slapd.confを追加しました。
security tls=256
その構成で、以下を使用してTLS暗号化接続を実行できます。
ldapsearch -ZZ -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=net" -w "password"
ただし、暗号化されていない接続は、次を使用して引き続き機能します。
ldapsearch -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=net" -w "password"
私の見解では、/ etc/ldap /slapd.confのセキュリティディレクティブはまったく使用されていないようです。また、slapd.confをcn = config構成形式に変換しようとすると、結果のcn = config構成ファイルにセキュリティディレクティブが含まれていないことがはっきりとわかります。
誰かがそこで何が起こっているのか、暗号化されていない接続を禁止するように構成を変更する方法を知っていますか?
すべてのTLS接続の強度が256でなければならないことを宣言しました。
他のタイプの接続については何も宣言していません。
おそらくあなたはsecurity minssf=256
が欲しかったのですか?
詳細については、man slapd.conf
セクションsasl-secprops
およびsecurity
を参照してください。
問題はcn = config-スタイルの構成フォーマット(私はそれを知っていました)であることがわかりましたが、/etc/ldap/slapd.conf
も使用されると思いました。 olcSecurity: tls=128
に/etc/ldap/slapd.d/cn=config.ldif
を追加すると、すべてが期待どおりに機能します。