B
Borislav Marinov
How to use S4U to impersonate a user on a remote server (delegation)
In an Active Directory domain (2003), I have the following setup:
A Client computer, an application computer, one or more backend servers
and a domain controller.
The user connects (remotely) to the application running on the
application computer.
The Application uses Services 4 user (S4U) to obtain an delegation
token for the user {LsaConnectUntrusted +
LsaLookupAuthenticationPackage(Kerberos) +
InitializeLSAString(KerbS4ULogon)}. I am using the same code as the one
by Keith Brown (MSDN Magazine > April 2003 or
http://msdn.microsoft.com/msdnmag/issues/03/04/SecurityBriefs/default.aspx?fig=true#fig1).
I am able to obtain an impersonation token when running as a local
system but I was unable to obtain a delegation token this way. With
this token I can impersonate the user on the application machine but
not on the backend servers.
I NEED TO BE ABLE TO IMPERSONATE THE USER ON THE BACK-END SERVERS.
I did setup the AD to trust the application server and since I am able
to impersonate the user locally (on the application machine) obviously
the user allows delegation as well.
Am I missing some AD parameterization or this is not the way to obtain
a delegation token?
Thanks a lot,
Bobby Marinov
In an Active Directory domain (2003), I have the following setup:
A Client computer, an application computer, one or more backend servers
and a domain controller.
The user connects (remotely) to the application running on the
application computer.
The Application uses Services 4 user (S4U) to obtain an delegation
token for the user {LsaConnectUntrusted +
LsaLookupAuthenticationPackage(Kerberos) +
InitializeLSAString(KerbS4ULogon)}. I am using the same code as the one
by Keith Brown (MSDN Magazine > April 2003 or
http://msdn.microsoft.com/msdnmag/issues/03/04/SecurityBriefs/default.aspx?fig=true#fig1).
I am able to obtain an impersonation token when running as a local
system but I was unable to obtain a delegation token this way. With
this token I can impersonate the user on the application machine but
not on the backend servers.
I NEED TO BE ABLE TO IMPERSONATE THE USER ON THE BACK-END SERVERS.
I did setup the AD to trust the application server and since I am able
to impersonate the user locally (on the application machine) obviously
the user allows delegation as well.
Am I missing some AD parameterization or this is not the way to obtain
a delegation token?
Thanks a lot,
Bobby Marinov