Brendan Kearney wrote:
On Fri, 2014-12-26 at 14:53 -0600, Dan White wrote:
> On 12/26/14 12:10 -0500, Brendan Kearney wrote:
>> i am in the process of updating all of my systems to fedora 20 from
>> fedora 16, and am using all the latest available builds for openldap,
>> cyrus-sasl and mit kerberos. i have put everything together as i had on
>> fedora 16, and i am finding that the sasl instance is using
>> sasl/gss-spnego, and not sasl/gssapi like it did on the older version.
>>
>> i am not sure if i should be concerned about this, but it feels like i
>> should be. i am not able to find anything that allow me to configure
>> things one way or another, so i can force the use of gssapi from
>> configs, it seems.
>>
>> can anyone point me in a direction about this, tell me if i should be
>> concerned, or if you might have come across this before what i should be
>> doing that i am not?
>
> To limit the use of specific sasl mechanisms, configure a libsasl
> slapd.conf file which contains a 'mech_list' option explicitly listing the
> mechanisms (space separated) you wish to offer.
>
> Consult the fedora documentation for both slapd and libsasl2 for the
> location to place the slapd.conf file in.
>
> To obtain a list of advertised mechanisms, do:
>
> ldapsearch -LLL -x -H
ldap://ldap.example.org -s "base" -b ""
supportedSASLMechanisms
>
> You should also force your clients to use gssapi explicitly if that's your
> preferred mechanism. The OpenLDAP client utilities offer a '-Y' option for
> to do that.
>
kudos and thanks to mr. white. /etc/sasl2/slapd.conf containing
"mech_list: gssapi" did the trick.
having put this in brought to mind something i will be looking to do in
the near future, and i am now wondering if i am limiting myself in that
effort.
i want to use the "pass-through" auth mechanism with sasl, so that i
validate credentials against the kerberos database, and not have to
maintain passwords in multiple places.
The right way to do this is to store your KDC keystore in slapd.
right now, saslauthd is
configured and if i test with my id, i get OK/Success back.
it seems i need to add PLAIN to the "mech_list" along with maybe a
couple other directives for this to be enabled. i have olcSaslSecProps
set to "noanonymous,noplain", so i am assuming i will need to remove the
"noplain".
No.
If you're already using SASL/GSSAPI then there's no need to do anything
else. If you're talking about clients performing plaintext
authentication, then what you just described is irrelevant. "sasl
pass-through" uses LDAP Simple Bind and the {SASL} crypt scheme. The
SASL PLAIN mech is only used for LDAP SASL Binds, and is totally
irrelevant here. If your client can perform SASL Binds already then it
would have used GSSAPI in the first place.
being that this weakens a security posture (at least it looks to do
so),
what can be done to mitigate the risk. i would imagine tls is one step,
but would any other steps be necessary? acls can help, too, but the
plain bind/auth would have already occurred.
There is no valid use for SASL/PLAIN in LDAP. There is almost never any
valid reason to change the olcSaslSecProps config.
In the meantime, yes, if you allow LDAP Simple Binds to be authenticated
against Kerberos credentials, then you will need TLS otherwise your
Kerberos credentials will be easily compromised.
--
-- Howard Chu
CTO, Symas Corp.
http://www.symas.com
Director, Highland Sun
http://highlandsun.com/hyc/
Chief Architect, OpenLDAP
http://www.openldap.org/project/