web-dev-qa-db-ja.com

証明書のアップグレード後、LDAP認証がstart_tlsオプションで機能しない

Ldap.confファイルでsslstart_tlsオプションが有効になっているクライアントで、Ubuntuldap認証が機能していません。 sslstart_tlsをコメントアウトすると認証できます。

LDAPサーバー証明書をアップグレードしましたが、sslが有効になっていると、ユーザーはubuntu10.04クライアントマシンで認証できなくなります。発生した変更:

Cert upgraded from 1024 to 2048 bit
now is a wildcart cert and use it to be a self-signed cert
encryption algorithm is now shaw512 (use to be md5)

私のauth.logにいくつかのエラーがあります:

nss-ldap:do_open:do_start_tls failed:stat = -1

新しい証明書(古いcentOSマシン)を使用して認証する他のクライアントがいくつかあるため、新しい証明書は機能しています。

クライアントのldapでsslを使用できなくなった理由を誰かが知っていますか?

1
admiles

署名階層はありますか(つまり、自己署名されていません)? 「ワイルドカード」と「自己署名」は排他的ではありません。商用ワイルドカード証明書には、階層、つまり1つ以上の中間CAとルートCAがあります。

sha-512またはmd5はハッシュ証明書の署名で使用されますが、暗号化アルゴリズムではありません。これらは証明書の整合性を検証するために使用され、接続に使用される暗号はこれとは独立してネゴシエートされます。

最も可能性の高い原因は、sha512(より正確には、「sha512WithRSAEncryption」)がUbuntu10でサポートされていないことだと思います。または、マシンに1つ以上のCA証明書(中間またはルート)がないため、フルチェーン検証を完了できません。

(Ubuntu 10マシンで)実行することにより、opensslがサーバーの新しい証明書を処理できるかどうかを確認できます。

openssl x509 -in newservercert.crt -noout -text

それは決定的ではないかもしれませんが。これも役立つ場合があります。

ldapsearch -x -Z -v -h your.ldap.server

(OpenSSLの代わりにGnuTLSが使用される可能性はわずかですが、そこでは役に立ちません。申し訳ありません!)

これを/etc/ldap/ldap.confファイルに追加することで、チェーンの問題を確認または拒否できます。

TLS_REQCERT never

それが役立つ場合は、チェーンの不足している部分を取得してローカルストアに追加する必要があります。これを実現する方法は、クライアントの構成によって異なり、/ etc/ldap /ldap.confで「TLS_CACERT」やTLS_CACERTDIRを確認します。ディレクティブはあなたが始めるところです。

考えられない原因は次のとおりです。

  • cRLをチェックできない(ldap.confをチェックして、有効になっているかどうかを確認してください)

そして、他に何も変わっていないと仮定すると、完全性のために考えられない原因が含まれています。

  • クライアントでサポートされていないサーバープロトコルバージョンまたは暗号セット
  • サポートされているSASLメカニズムの変更
1
mr.spuratic

この質問を解決したかどうかはわかりません。私は同じ状況に遭遇しました。 12.04はtlsを使用してLDAPサーバーに接続しますが、10.04は接続しません。私の解決策は、/etc/ldap/ldap.confに行を追加することです。

TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

10.04クライアントは、tlsを使用してLDAPサーバーに接続できます。

0
dhchen