Groups | Blog | Home
all groups > iis security > december 2005 >

iis security : Authentication using Distinguished name instead of Certificates...



Daniel Corbett
12/2/2005 2:51:02 PM
I need to authenticate against active directory and log a user on to
Sharepoint. In order to reduce SSL load and support edge server caching we
are using a persistant shared SSL connection. My code will be searching
active directory using the distinguished name from the origional user
certificate to determine the correct user account and then logging on the
user. However, I do not have the "password" in plain text.

How can I logon / impersonate the user / grab the appropriate "ticket"
without the password?

This is what IIS does when it does certificate based login, however, in this
case, I do not have the full certificate.

Daniel Corbett
12/5/2005 5:01:03 AM
I DO want to a pass-through authentication feature by myself. Instead of
authenticating on a client certificate, I want to authenticate based on the
Distinguished name contained in a header in the client request. For
security purposes there is also a certificate contained in the request,
however, I am only using that to verify the validity of the connection, not
to authenticate the user who originally sent the HTTP request.

[quoted text, click to view]
v-yren NO[at]SPAM microsoft.com (
12/5/2005 8:43:55 AM
Hi,

Welcome to Microsoft newsgroup!

[quoted text, click to view]
this case, I do not have the full certificate."

IIS has client certificate authentication. However in this scenario, we do
need to provide each authenticated user account's password which is stored
into IIS metabase. The below article explains how this feature works in IIS
5.0:
http://support.microsoft.com/default.aspx?scid=kb;en-us;313070&sd=tech

[quoted text, click to view]
Sharepoint. In order to reduce SSL load and support edge server caching we
are using a persistant shared SSL connection."

I'm not very clear about what you want to achieve. Could you please explain
the whole scenario more clearly? It sounds like you want to implement a
pass-through authentication feature by yourself? What authentication method
you want to use? Is SSL used for encryption only or you also want it to
implement client cert authentication?

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
v-yren NO[at]SPAM microsoft.com (
12/7/2005 12:34:19 PM
Hi,

Thanks for your post!

[quoted text, click to view]
header in the client request."
Is the "Distinguished name" means the DN value of username in AD
environment? If you want to attach the current DN value into the request
without password, I think the IIS can not authenticate the current
credential.

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
Ken Schaefer
12/7/2005 5:28:48 PM
Daniel,

I'm a bit confused as well. Authentication occurs when you marry a user
identity (e.g. a username, in this case the DN) with the corresponding
"secret" (this is usually a password, or some kind of token like a
certificate). Given that you have the username only, how do you intend to
authenticate the user? How do you know the user is who they say they are?

Cheers
Ken


[quoted text, click to view]
:I DO want to a pass-through authentication feature by myself. Instead of
: authenticating on a client certificate, I want to authenticate based on
the
: Distinguished name contained in a header in the client request. For
: security purposes there is also a certificate contained in the request,
: however, I am only using that to verify the validity of the connection,
not
: to authenticate the user who originally sent the HTTP request.
:
[quoted text, click to view]
:
: > Hi,
: >
: > Welcome to Microsoft newsgroup!
: >
: > >How can I logon / impersonate the user / grab the appropriate "ticket"
: > without the password?
: > >¡­
: > >"This is what IIS does when it does certificate based login, however,
in
: > this case, I do not have the full certificate."
: >
: > IIS has client certificate authentication. However in this scenario, we
do
: > need to provide each authenticated user account's password which is
stored
: > into IIS metabase. The below article explains how this feature works in
IIS
: > 5.0:
: > http://support.microsoft.com/default.aspx?scid=kb;en-us;313070&sd=tech
: >
: > >"I need to authenticate against active directory and log a user on to
: > Sharepoint. In order to reduce SSL load and support edge server caching
we
: > are using a persistant shared SSL connection."
: >
: > I'm not very clear about what you want to achieve. Could you please
explain
: > the whole scenario more clearly? It sounds like you want to implement a
: > pass-through authentication feature by yourself? What authentication
method
: > you want to use? Is SSL used for encryption only or you also want it to
: > implement client cert authentication?
: >
: > Regards,
: >
: > Yuan Ren [MSFT]
: > Microsoft Online Support
: >
: >

Daniel Corbett
12/22/2005 6:08:01 AM
I know who they are because I have gotten this DN from a trusted source over
an SSL connection. I am trying to simulate having gotten the users
certificate. If necessary, I could grab all the components and re-create
the certificate, but I would still have the same issue.

I am trying to use LsaLogonUser with KERB_S4U_LOGON to impersonate the user
but I am now getting this error:

"specified logon session does not exist. It may already have been
terminated. (1312)."

I am using a "domain account" which has SeTcbPrivelege enabled, and am
requesting an impersonation token. I have also made sure the user is a
member of the "Pre-Windows 2000 compatible Access" group on the Domain.

[quoted text, click to view]
Daniel Corbett
12/27/2005 11:13:40 AM
LsaLogonUser with KerbS4ULogon set, uses the KERB_S4U_LOGON data structure.
This doesn't even have a field for the password. The point of using this is
to log the user on WITHOUT a password.... With the right set of permissions
I should be able to do this. This is the same thing which is done when the
system receives a certificate. There IS no "password" when you receive a
certificate, why should there be here?

Thanks,

- Daniel

[quoted text, click to view]
v-yren NO[at]SPAM microsoft.com (
12/27/2005 11:34:10 AM
Hi,

Thanks for your reply!

[quoted text, click to view]
user but I am now getting this error:"

As far as I know, if you want to use the LsaLogonUser method, you need
supply a credential to make the method works fine. As MSDN document's
description like the link below:
http://msdn.microsoft.com/library/en-us/secauthn/security/lsalogonuser.asp?f
rame=true

I think the credential information is different with distinguished name in
Active Directory. The credential information must contain a password which
has been hashed or encrypted. If you used impersonated token as credential
information, I think it might not work well.

Could you please give me more details about how to create credential
information in your application? It'll help me to understand your issue
clearly.

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
v-yren NO[at]SPAM microsoft.com (
12/28/2005 1:56:12 PM
Hi Daniel,

Thanks for your reply!

Below article from MSDN show us how to use LsaLogonUser to implement some
function likes your scenario:
http://msdn.microsoft.com/msdnmag/issues/03/04/SecurityBriefs/

Actually, I think the current issue is not focused on IIS tech as we
discussed in these threads. IIS security newsgroup is just focused on
secure issue such as configuration, authentication and so on. If you think
the above article can't help you, I suggest you post a new thread in
programming newsgroup so that you will get more details. Thanks for your
understanding!

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
AddThis Social Bookmark Button