[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: C LDAP API: security considerations
Hi Kurt,
Your suggestions are good but it is difficult to get
a consistent implementation unless one (or all) of the following are put
in the standards track:
- additional API hooks to control the referral chasing characteristics on
the client side. Currently the API draft provides for functions/control
that can chase or not chase referrals. We need some more controls that
will allow a client to control the type of authentication used when
binding to a referred server.
- Root DSE of the main LDAP server containing some information about the
'trustworthiness' of LDAP servers that it can return referrals to.
- the 'trustworthiness' of the referred servers being returned with the
actual referral message from the main LDAP server.
I would recommend against changing the current default behavior of clients
chasing referrals. I think that the clients should use the same
'authentication information' for the referred server as the main server.
This is useful because:
+ it will cover most of the usage cases
+ it requires no change to existing client code
+ to some extent it requires little administrative overhead
(other than duplicating the user information in both the
LDAP servers)
Only the security minded clients should use the additional
API functions to hide the 'authentication information' from "unsafe"
servers while chasing referrals.
Comments/suggestions are welcome.
Regards,
Ashish Kolli
OiD Group
On Mon, 8 Nov 1999, Kurt D. Zeilenga wrote:
> I believe it wise to add a security consideration stating that
> implementations should not reuse authentication information,
> without application interaction, when chasing referrals.
> That is, unless the application authorizes reuse with the
> authentication information (or provides new information via
> some mechanism) with the server chased, the implementation
> should use an anonymous bind.
>
> Even if DIGEST-MD5 was in use, such application interaction
> should still be recommended to be consistent with "keeping
> long-lived copies of credentials without the application's
> knowledge is discouraged."
>
> I also suggest that "long-lived" should be clarified. Something
> like "implementations should not maintain copies of authentication
> information, including credentials, any longer than necessary."
> In particular, authentication information should not live longer
> than the API call it was used with. (Implementations are encouraged
> to "forget" such information sooner).
>
> Note also that I prefer "authentication information" over
> "authentication credentials" as the authorization ID itself
> may be sensitive.
>
> Kurt
>
>