SSLまたはTLSを使用してOpenDirectory LDAPサーバーにアクセスできない


4

SSL / TLS接続を使用してOpenServerシステムに接続できません。

ポート389でSSLなしの通信に問題はなく、問題なくディレクトリ情報に接続して取得できます。

ただし、ポート636を使用し、安全な通信を期待している場合、接続は失敗します。

以下のopenssl接続の試行は、ssl接続が確立されていないことを示すトレースの詳細を示しています。

接続しようとするopensslからの出力例

次の画像は、SSLが有効であり、サーバー接続用の証明書が提供されていることを示すServerAdminからのものです。

ServerAdmin設定

LDAPサーバーでポート636が開いており、2つのホスト間にファイアウォールはありません。

sauce:Java frank$ netstat -an | grep 636
tcp6       0      0  *.636                  *.*                    LISTEN
tcp4       0      0  *.636                  *.*                    LISTEN

サーバーのポート636へのTelnet接続は成功し、ファイアウォールの問題が発生していないことを示しています。

この問題の原因を特定して修正するためにチェックする追加アイテムを提供できる人はいますか?


サーバーOSとは何ですか?また、クライアントのOSは何ですか?
アンドリューU.

サーバーOSはユキヒョウ、テスト目的のクライアントOSはLinux
sweetfa

SSL handshake has read 0 bytes and written 319 bytes:これはファイアウォールの問題のようです。ポートが開いていることを確認し、ファイアウォールを無効にしてみてください。を使用して、開いているポートを確認することもできますnetstat -na
bennettp123

もう一つの思考:Appleのよく知られたTCPおよびUDPポートが「「オープンディレクトリプロキシ(ODProxy)」、としてTCPポート625を示していますローカルopendirectoryd(8)デーモンに着信プロキシ接続を維持しているが、あらゆる手段を、」。代わりにポート625をお試しください。
bennettp123

回答:


1

この問題を解決するために私が行った手順は次のとおりです。

サーバーをセーフモードで再起動します(再起動中にShiftキーを押し続けます)

しばらくアイドル状態にします(明らかに、このモードではキャッシュを消去しています)

既存のslapdサーバーを停止します

 sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist

ファイル/etc/openldap/slapd_macosxserver.confに正しい証明書GUIDを設定します。これは、/ etc / certificatesディレクトリの内容から確認できます。

sudo sed -e 's/oldguid/newguid/' /etc/openldap/slapd_macosxserver.conf >/tmp/conffile
sudo mv /tmp/conffile /etc/openldap/slapd_macosxserver.conf

ファイル/etc/openldap/slapd.d/cn=config.ldifから構成済みのTLS証明書の値を削除します

sudo vi /etc/openldap/slapd.d/cn=config.ldif
remove any lines beginning with olcTLSCertificate

slapdサーバーを再起動します

 sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist

サーバーを標準モードで再起動します。

次に、LinuxまたはMac OSXを使用するクライアントコンピューターから、SSLを介して接続できること、およびコマンドを使用して証明書が正しいことを確認します。

openssl s_client -connect ldap.yourdomain:636 -showcerts

成功すると、サーバー証明書のダンプと接続の詳細説明が表示されます。

No client certificate CA names sent
---
SSL handshake has read 5209 bytes and written 807 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: C8E0F4A4ED24021DB4D98ACF5A9ACDC2293BC3961BF2AE90026115D899369E73
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    ...
    Start Time: 1400140597
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

その他の注意事項:

  1. Appleは、自己署名証明書と独自の証明書チェーン(http://support.apple.com/kb/ht3745)を使用できることを推奨しています。私は自己署名チェーンを使用し、成功しています。
  2. ポート636は標準のldapsポートであり、OpenDirectory(slapd)が使用するポートです。
  3. openssl接続テストからわかるように、TLS1がサポートされています
  4. 異なるDNS名とホスト名は重要ではありません(両方の方法で再起動を試みました)
  5. リバースDNSの違いは問題ではありません(リブートして両方の方法を試しました)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.