OpenLDAPにGSSAPIサポートを追加する方法を探していますか?
現在の設定
MIT Kerberos V + OpenLDAP
Kerberos bind to openldap
Able to issue kerberos tickets to my users (with kinit exampluser)
Able to ldapsearch -x uid=exampluser
Openldap側
server% ldapsearch -x -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms
ldap_start_tls: Protocol error (2)
additional info: unsupported extended operation
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN
クライアント側
client% ldapsearch uid=exampleuser
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Authentication method not supported (7)
additional info: SASL(-4): no mechanism available: Couldn't find mech GSSAPI
クライアントldap.conf
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=example,dc=com
URI ldap://ldap.example.com
SASL_MECH GSSAPI
明らかに、エラーは、私のLDAPリクエストが認証メカニズムを見つけられなかったことを説明するのに十分明確です。
私は多くのチュートリアル、説明を行ってきましたが、そのメカニズムを "add"する方法がどこにも見つかりません。
ありがとう SASL/GSSAPIとは? すべての素晴らしい説明をありがとう。
ユーザー473183469のために更新
LDAP専用のキータブを生成し、/ etc/ldap/ldap.keytabにコピーして、/ etc/default/slapdに従って https://help.ubuntu.com/community/SingleSignOn コメントを外してパスを要求するtoexport KRB5_KTNAME =/etc/ldap/ldap.keytab
そのLDAPキータブはそのように生成されました
kadmin: addprinc -randkey ldap/[email protected]
kadmin: ktadd -k ~/ldap.keytab ldap/[email protected]
インストールの最初に作成された/etc/krb5.keytabも持っています
kadmin.local: listprincs
[email protected]
K/[email protected]
krbtgt/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
[email protected] (also in the ldap, can issue a ticket and everything)
[email protected] (same for him)
ldap/[email protected]
Ktutilの結果
# ktutil
ktutil: read_kt /etc/ldap.keytab
ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 2 ldap/[email protected]
2 2 ldap/[email protected]
3 2 ldap/[email protected]
4 2 ldap/[email protected]
ktutil: read_kt /etc/krb5.keytab
ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 2 ldap/[email protected]
2 2 ldap/[email protected]
3 2 ldap/[email protected]
4 2 ldap/[email protected]
5 2 kadmin/[email protected]
6 2 kadmin/[email protected]
7 2 kadmin/[email protected]
8 2 kadmin/[email protected]
[〜#〜]解決済み[〜#〜]
不足していたSASL_MECH GSSAPI
およびSASL_REAM
in /etc/ldap/ldap.conf
[Tue Feb 28 13:48 root:ldap] [~] # cat /etc/ldap/ldap.conf
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=example,dc=com
URI ldap://ldap.example.com
SASL_MECH GSSAPI
SASL_REALM EXAMPLE.COM
これで、Kerberos検索チケットで直接ldapsearch uid = userを実行して、
SASL/GSSAPI authentication started
SASL username: [email protected]
SASL SSF: 112
SASL data security layer installed.
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> (default) with scope subtree
# filter: uid=user
# requesting: ALL
#
もちろん、Kerberosチケットを持っていない場合(これは理にかなっています)
client% ldapsearch uid=gleger
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (see text (No credentials cache file found)
Slapdのsasl設定を変更する必要があります。通常は/etc/sasl2/slapd.conf
、gssapiを含める。
例えば:
mech_list: external gssapi plain
pwcheck_method: saslauthd
その後、slapdを再起動する必要があります。
あなたは単に/etc/krb5.keytab
SPNとして持つファイルldap/fdqn
?
OpenLDAPでGSSAPI関連のSASLスイッチを設定する必要はないと思います。レルムは他よりも厄介です。