Thoughts on initial ticket acquisition/verification on Sun (slightly OT)
Nicolas Williams
Nicolas.Williams at sun.com
Thu Nov 17 18:52:00 EST 2005
On Wed, Nov 16, 2005 at 05:12:01PM -0800, Henry B. Hotz wrote:
> I just finished an auth plugin for Sun LDAP 5.2 that will accept a
> simple bind username/password and verify it against a K5 server. It
> carefully does nothing if it's a SASL bind so the native SASL/GSSAPI/
> K5 bind works as expected, using the native Sun Kerberos libraries.
> It calls the MIT-API routines discussed on this list, so it works
> with either MIT or Heimdal libraries (linked so they don't
> interfere). It uses the same ldap/... principal and keytab that the
> Sun SASL support uses, and we will configure things so that keytab
> isn't the system one.
>
> Nico suggested that I consider using PAM for this function. That
> does fill the functionality gap in GSSAPI, but. . . Sun's pam_krb5
> uses the system keytab and the host/... principal. There don't seem
> to be any options to change the keytab location and principal used to
> do the verifications.
>
> I think pam_krb5 should let you specify the keytab file and the check
> principal.
>
> I think GSSAPI and MIT-API libraries should have an environment
> variable that sets the default keytab file, analogous to KRB5CCNAME.
> The commercial sendmail authproxy uses KRB5_KTNAME.
>
> Alternatively I think the keytab file location could be put in the
> [appdefaults] section of krb5.conf. Or both. The point is: this is
> best practice; you should support it in the libraries, not require
> every application to program it independently.
So, short-term we have gss_acquire_cred_with_password() in Solaris
Nevada.
Medium-term we will just open the krb5 API[0].
Long-term we'd like to have a generic API based on extensions to the
GSS-API.
As to selection of a keytab file and/or principal to use for TGT
verification, neither gss_acquire_cred_with_password() nor the PAM
method will allow you to do more than to specify a keytab file using the
KRB5_KTNAME environment variable. Given that we will open the krb5 API
we're not likely to consider any RFEs for adding some mechanism for
selecting a principal to use in TGT verification to pam_krb5 or libgss/
mech_krb5 to be high priority RFEs, but if you'd like I'll open one.
[0] http://blogs.sun.com/roller/page/craigsblog/20050921
Nico
--
More information about the krbdev
mailing list