[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: please help with MS AD -> UNIX trust
vadim wrote:
> Hi Douglas,
>
> thanx a lot for replying me! Really!
>
> You are abs. presize saying that I expect user once authenticated in
> realm A (Active Directory) to ssh into realm B (Heimdal or MIT) without
> supplying his password again based on trust definition between two
> realms.
>
> I however doubt a bit in what you saying that the problem is in mapping
> of kerberos principal to unix account (if it is that what you mean). I
> doubt in it, because in OpenSSH server log I see that
>
> "gssapi-with-mic failed".
What else does it say.
>
> At this stage sshd does not do anything with pam or similar. This makes
> me to feel bad as I don't understand how "gssapi-with-mic" could fail if
No, but the ssh_gssapi_krb5_userok in gss-serv-krb5.c calls the krb5_kuserok
routine that checks if the "client" (u@realm) is allowed to login and
use local account "name".
PAM is not involved with the authentication when GSSAPI is used.
PAM is called later for a session which can be used to get an AFS token
using the delegated redentials, i.e. forwarded kerberos tickets.
>
> 1) user from realm A could obtain ticket form sshd in realm B via trust
> definitions between realms A and B.
>
In this case the user u@A wold have a TGT for his own realm
krbtgt/A@A
This would be used to obtain a cross realm ticket from realm A for realm B:
krbtgt/B@A
This is then used with realm B to get a service ticket for the host in realm B
host/<FQDN>@B
This is then used by the GSSAPI to authenticate.
So you problem could be in how the cross realm is setup, i.e. if
the keys dont match the krbtgt/B@A might not be accepted by B.
If you look at the logs for the realm B KDCs does it issue the
ticket host/<FQDN>@B to user U@A ?
Or it could be the krb5_kuserok failing as the .k5login is not
allowing it.
> 2) user can ssh into realm B if it logged into realm B directly.
>
> I was looking in internet for information about possible difficulties
> when trying to establish trust between UNIX KDC and AD. People write a
> lot about salts and supported encription types. I am afraid I am
> struggling with something similar ... I however could not find any
> "ultimative" guide to what I am trying to do ...
salts are used in the string_to_key functions when generating a
key from a password. This might be a problem depending on how
you setup the cross realm trust if you did it by typing in
a password on both sides. But See:
http://www.microsoft.com/windows2000/techinfo/planning/security/kerbsteps.asp
This is the ultimate guide. It still applies to W2003. The ktpass in 2003
has more options.
> Any suggestion?
>
> Thanx a lot again, vadim tarassov.
>
> On Thu, 2005-06-02 at 13:25 -0500, Douglas E. Engert wrote:
>
>>vadim wrote:
>>
>>
>>>Hallo everybody,
>>>
>>>Could you please point stupid me to the right piece of documentation?
>>>
>>>I've build Kerberos realm, where KDC is MS AD, servers are OpenSSH and
>>>OpenLDAP on Solaris 8, clients are on Solaris and Cygwin. I have used
>>>GSSAPI implementation from Heimdal and MIT with equal success -
>>>everything worked just perfectly!
>>>
>>>Now for some odd reasons I have to build pure UNIX realm and to
>>>establish one-way trust, where UNIX realm trusts AD, and users once
>>>logged into the AD realm, should be able also to logged into the UNIX
>>>realm.
>>
>>You mean "users once logged into the AD realm, should be able also to
>>logged into servers in the UNIX realm."
>> ^^^^^^^^^^^
>>
>>>I have tried both Heimdal 0.6.4 and MIT 1.4.1 as UNIX realm, and in both
>>>cases I have the same result with OpenSSH:
>>>
>>>1) assuming that AD realm is called A, and UNIX realm is called B,
>>>client obtains TGT for realm A.
>>>2) trying to ssh into realm B client gets ticket
>>>krbtgt/B@A
>>>3) client gets ticket host/whatsoever@B
>>>
>>>and at this moment GSSAPI fails to establish context between client and
>>>server SSH.
>>>
>>>Since both Heimdal and MIT behaves exactly in the same manner with
>>>several versions of OpenSSH (from 3.8.1 to 4.0), and I have no problems
>>>with AD and Heimdal/MIT if not trying them to trust each other, I am
>>>absolutely sure that I've missed right documentation ...
>>>
>>>Can you please tell me where I could dig futher?
>>
>>
>>Look for auth_to_local in krb5.conf and .k5login file.
>>These map a principal to a local unix acocunt. By default
>>uses in the host realm are assumed to map to local acocunts.
>>But you are now using cross realm.
>>
>>The host/whatsover@B needs to know that a foreign principal, u@A is
>>allowed to use the local account u.
>>
>>
>>>Thanx a lot and best regards, vadim tarassov.
>>>
>>
--
Douglas E. Engert <DEEngert@anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444