TLSや必要な認証済みバインディングなど、いくつかの基本的なセキュリティパラメータを使用してLDAPサーバーを構成しようとしています。
サーバーを起動しました。ローカルホストから次のコマンドでアクセスできます。
ldapsearch -x -b 'dc=server,dc=com' 'objectclass=*' -W -D 'cn=manager,dc=server,dc=com' -H ldaps://server.com:389
コンピューターからリモートで同じコマンドを実行すると、次のエラーメッセージが表示されます。
ldap_sasl_bind(SIMPLE):LDAPサーバーに接続できません(-1)
なぜこれが発生するのかわかりません。サーバーにpingを実行できますが、現在ファイアウォールはありません。
slapd
は-h ldaps://server.com:389/
で起動されます
DNSサーバーは、Aレコードのみを使用して、同じサーバー上で基本的な方法で構成されます。
何か考えはありますか?
編集
Arch-linuxで別のワークステーションからテストしましたが、動作します。両方のコンピューターで、TLS_REQCERT allow
に/etc/openldap/ldap.conf
があるので、証明書の問題ではないはずです。
LDAPクエリが機能しないワークステーションは、重要な場合はMac OSX上にあります。
いくつかの出力:
Telnet:
telnet server.com 389
Trying w.x.y.z...
Connected to server.com.
Escape character is '^]'.
Iptables:
Sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Netstat:
Sudo netstat -lnt | grep 389
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN
tcp6 0 0 :::389 :::* LISTEN
セキュリティパラメータなしでテストしましたが、同じ結果になりました。
標準ポートの使用を検討します。 -h ldap:///
から始めます。 LDAPはstartTLSをサポートしており、機密情報を渡す前にTLSを要求するように簡単に構成できます。
Telnetを使用して、サーバーにアクセスできるかどうかを判断できます。コマンドtelnet server.com ldap
を試してください。サーバーアドレスが正しい場合、これは接続する必要があります。
サーバーでは、コマンドnetstat -lnt | grep 389
を使用して、LDAPが外部アドレスにバインドされていることを確認できます。これにより、聞いているアドレスが表示されます。
LDAPをTLSなしで動作させたら、startTLSを有効にするか、スタートアップにldaps:///
を追加します。
オプションsecurity update_ssf=16 simple_bind=16
を使用して、これらの操作にTLSを要求できます。その後、クライアントはstartTLS操作を使用してLDAP
ポートに接続し、TLS
にスウィッシュできます。
編集:クライアントやサーバーでデバッグを使用すると、接続が失敗している場所を特定するのに役立ちます。コマンドラインに-d -1
を追加して、すべてをデバッグします。デバッグスイッチは、さまざまなサブシステムのデバッグフラグのビットマップを受け入れます。 -d ?
はそれらとそれらの値をリストします。サブシステムが機能していることがわかったら、デバッグを停止して他のサブシステムに集中できます。
クライアントでデバッグを開始するのが最も簡単ですが、サーバーでデバッグを行う必要がある場合があります。 Syslogを介してログを記録している場合は、デバッグ出力を調べることができるデバッグログファイルがあると便利です。
LDAPを使用する場合 [〜#〜] url [〜#〜]ldaps://server.com:389
の形式で、サーバーは [〜#〜] ssl [〜# 〜] クライアントがポート389
に接続するとネゴシエーションが行われます。 StartTLS 既存のSSL接続では使用できません:StartTLS '変換'(おそらくpromotesはより良いWordです)安全でない接続したがって、ldaps://server.com:389
はすでに安全な接続であるため、StartTLSは使用できません。サーバーはldap://server.com:389
のクリアテキストクライアントからの接続を受け入れ、StartTLSの使用をすぐに促進しないクライアント接続を拒否する必要があります-サーバー製品が安全でないクライアント接続をすぐに拒否できない場合は、その猫の製品を選択する必要があります。 SSLエンドポイントも必要な場合、サーバーはldap://server.com:636
で安全なクライアント接続をリッスンする必要があります。