証明書を使用してTLS経由でSLESでldapsearchを動作させる方法は?


12

証明書を使用して、TLSを介してphpスクリプトをLDAPに接続する必要があります。LDAP接続は、tlsなしでうまく機能します。詳細はこちら/programming/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend

Softerra LDAP Browserを使用して、Windowsからtls経由で接続することができました。証明書をインストールし、それを信頼するかどうかを尋ねました。

私の最終結果は、PHPからのTLSを使用してLDAPで認証できるようにすることです。タイプ.cerの証明書が与えられました。Windows Exchangeマシンからのものです。私が見ることができることから、SLESは.pem証明書をサポートしています。だから私の質問は...

Q1:クライアント(SLESサーバー)に証明書をインストールする前に、まず.cerから.pemに変換する必要がありますか?最後にQ2:この証明書をサーバーにインストールしてPHPアプリケーションができるようにする最良の方法は何ですか?それにアクセスして、その仕事をしてください。SLESサーバーでは、異なるLDAPサーバーに接続する必要があることに注意してください。

現時点で実行したら

ldapsearch -H ldaps://localhost:9215 -W

我々が得る

Enter LDAP Password: 
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)

ここでたくさんの良い情報を見つけましたhttp://www.php.net/manual/de/function.ldap-connect.php#36156特にこの文章は私の目に重要ですOnce you've gotten the ldapsearch tool working correctly PHP should work also.


  • SUSE Linux Enterprise Server 11(x86_64)
  • ldapsearch:@(#)$ OpenLDAP:ldapsearch 2.4.26(Sep 26 2012 13:14:42)$ abuild @ baur:/usr/src/packages/BUILD/openldap-2.4.26/clients/tools(LDAPライブラリ: OpenLDAP 20426)

別のデバッグ方法は、LDAP部分を無視してSSLを確認することです。「openssl s_client -connect localhost:9215」を実行して、サーバーが使用する証明書と検証結果を吐き出すことができます。
コフ

OK。開発者に渡します。個人的には、証明書のインストール方法がわからず、アクセスしたいときにサーバーにリンクされます。
ラデック

回答:


25

サーバー上の証明書の有効期限が切れているか、無効です。

回避策としては、LDAPTLS_REQCERT変数を使用して証明書を無視します。例:

LDAPTLS_REQCERT=never ldapsearch -D "cn=drupal-test,ou=Services,dc=example,dc=com" -w my_pass -h ldap.example.com -b "ou=People,dc=example,dc=com" -s sub -x -ZZ "(uid=admin)"

それ以外の場合は、証明書をインポートして、信頼できるものとしてマークできます。


パラメーターldap.confを設定する既存のファイルが存在しない場所でもcygwinで機能しTLS_REQCERTます。
bvj

7

pemからcerへの変換についてはわかりませんが、ldapsearchでldap.confを持たない証明書を使用したり、グローバル証明書を変更する権限を持たないようにするには、これを行う必要があります。

env LDAPTLS_CACERT=/path/to/cert ldapsearch

1

を使用して

LDAPTLS_REQCERT=never

LDAPサーバーの証明書検証を削除します。これは、そもそもTLSによって提供されるセキュリティを無効にします。これをしないでください。問題がある場合は証明書を修正し、tinkの説明に従ってLDAPクライアントに認証局を提供する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.