ldap は動作していますが、ldaps が正しく動作していません

ldap は動作していますが、ldaps が正しく動作していません

ldapsearch について少し困惑しています... AD 認証を使用してクラウドを構成する必要があります。

これはうまく機能している

 ldapsearch -h server -p 389 -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com'

しかし、セキュリティを強化したいので、ldaps を試してみます。

これは動作しています:

> ldapsearch -H ldaps://server -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com'

そしてこれも:

> ldapsearch -H ldaps://server:636 -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com'

しかし、これは機能しません。

ldapsearch -h server -p 636 -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com' -v
ldap_initialize( ldap://srv-dc01.get.com:636 )
ldap_result: Can't contact LDAP server (-1)

何が起こっているのか分かりません。クラウドは URI ではなく URL を必要としています。 もう一つの質問ですが、ldap をブロックして、ldaps を動作させることは可能ですか?

OS: Linux CentOS 7、selinux Enforced DC はサーバー 2008 R2 上にあります。

どうもありがとうございました。アレクサンドルより

答え1

アップデート:

からこのページどうやら

完全修飾ドメイン名は常に必要-h オプションを使用します。これにより、中間者攻撃を防止できます。

そして、

ldaps プロトコルの使用はサポートされていますが、非推奨です。

さらに詳しくman ldapsearch

-h: LDAP サーバーが実行されている代替ホストを指定します。-H を優先して非推奨

安全な接続のみを許可するには、ここまたは、別の簡単な解決策は iptable ルールです。

iptables -A OUTPUT -p tcp --dport 389 -j DROP
iptables -A INPUT  -p tcp --destination-port 389  -j DROP

答え2

ありがとうございます。-Z と -ZZ で試してみました。

 ldapsearch -h server -p 636 -x -D 'admin.test' -w 'xxx' -b cn=admin.test,cn=users,dc=domain,dc=com' -v -Z
ldap_initialize( ldap://server.domain.com:636 )
ldap_start_tls: Can't contact LDAP server (-1)
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

-ZZ を使用すると、ldap_sasl_bind(SIMPLE) がない場合と同じエラー メッセージが表示されます: LDAP サーバーに接続できません (-1)

おっしゃる通り、このコマンドでは適切なプロトコルは開始されません。これを強制する方法はありますか?

関連情報