0

ユーザー認証のために既に FreeIPA を実行している Centos 7 サーバーに openLDAP をインストールしました。http://www.tecmint.com/setup-ldap-server-and-configure-client-authentication

openLDAP の目的は、Nodejs アプリケーションがアプリのユーザーを管理することです。別のサーバーで実行されます。

slapd が実行されていることがわかります (ps -ef | grep slapd):

ldap      1287     1  0 06:40 ?        00:00:00 /usr/sbin/slapd -u ldap -h ldapi:/// ldap:///

そのため、ldapadd コマンドを使用してデフォルトを変更しようとしましたが、ボックスで構成されている FreeIPA LDAP に接続していると思われます (一部のコマンドでは -x -h を使用して、まだ設定されていないパスワードを要求しています) ):

sudo ldapadd -H ldapi:/// -f ldaprootpasswd.ldif

SASL/GSS-SPNEGO authentication started
ldap_sasl_interactive_bind_s: Local error (-2)
        additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate)

ldapsearch を実行すると、openLDAP に接続できるようです。

sudo ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" "(olcRootDN=*)" olcSuffix olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={2}hdb,cn=config
olcSuffix: dc=my-domain,dc=com
olcRootDN: cn=Manager,dc=my-domain,dc=co

Windows LDAP ツールを使用して外部接続できるのではないかと思ったのですが、接続エラーが発生します。ポートが開いていて、外部から見えることを確認しました。

nmap -p 389 10.18.16.243

Starting Nmap 7.12 ( https://nmap.org ) at 2016-09-28 11:25 GMT Daylight Time
Nmap scan report for 10.18.16.243
Host is up (0.00s latency).
PORT    STATE    SERVICE
389/tcp filtered ldap
MAC Address: BB:BB:BB:BB:BB:00 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 19.92 seconds 

-H の代わりに -h を使用してみました:

sudo ldapadd -a -x -h localhost -p 389 -D cn=Manager,dc=my-domain,dc=com -W -f ldaprootpasswd.ldif

これによりパスワードの入力が求められますが、openLDAP をインストールしたばかりで、まだパスワードを設定していません (適用しようとしている ldif ファイルに olcRootPW があります)。

ユーザー認証のためにopenLDAPを使用した経験がある人はいますか、またはこれを実行するためにどの構成を変更する必要があるか考えていますか?

4

1 に答える 1

0

秘密の呪文は次のとおりです。

sudo ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif

「-a」はldapmodifyを使用するときに新しいエントリを強制的に追加するため、これは上記と同じです。

sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif

"-Q" -- SASL Quiet モードを有効にします。決してプロンプトしないでください。

"-Y" -- 認証に使用する SASL メカニズムを指定します。指定されていない場合、プログラムはサーバーが認識している最適なメカニズムを選択します。

于 2016-09-29T09:24:25.737 に答える