Delegation in ASP.NET

Ask a Question related to ASP.NET Security, Design and Development.

  1. #1

    Default Delegation in ASP.NET

    I think i had a similar problem a while ago -

    and i further thinks - yes - he is falling back to NTLM which makes delegation impossible...

    when you turn on auditing for logon events you can see the Authentication Package that is used -

    when using kerberos - the NEGOTIATE SSPI should be used - see if in the case you described the AuthPackage is NTLM to clarify this...



    ---
    Dominick Baier - DevelopMentor
    [url]http://www.leastprivilege.com[/url]

    nntp://news.microsoft.com/microsoft.public.dotnet.framework.aspnet.security/<91175990-829B-44FD-BB4B-78BC757DEE78@microsoft.com>

    Hi,

    As the title suggests I have a question about delegation in ASP.NET.

    We have an ASP.NET application running on a web server which requires
    clients to authenticate via Windows Integrated authentication. We're running
    in a Win2K native-mode domain and the clients are IE6 so we should be using
    Kerberos to authenticate.

    At some points the application needs to send an email on behalf of the
    client; this it achieves by impersonating the remote user and using WebDAV to
    talk to the exchange server running on the DC (which is a physically separate
    box from the web server).

    This is working in the main and the credentials appear to flow from the
    browser, through the web-app to the exchange server.

    However, it only hangs together with a certain set of *browser* settings :s

    If the site is configured to live in a zone (e.g. Intranet or Trusted Sites
    etc.) that has either of the "automatic logon..." options in the IE custom
    security level dialog selected then all is well.

    As soon as this isn't true and we manually enter the credentials when
    prompted, we authenticate with the web-server OK, but then the ASP.NET app
    can't authenicate with the exchange box on the client's behalf (its as if
    we're back to impersonation rather than delegation).

    We believe that we've all the accounts are correctly configured for
    delegation (i.e. user accounts are *not* marked as sensitive, app account is
    marked as trusted for delegation, machine account trusted for delegation).

    Does anyone have any ideas about what this browser option is actually doing
    that makes the whole thing work?

    The application only supports windows integrated authentication so it can't
    be "falling back" to basic - is it falling back to NTLM though?

    Any help will be much appreciated.

    cheers,
    Matt


    [microsoft.public.dotnet.framework.aspnet.security]
    Dominick Baier Guest

  2. Similar Questions and Discussions

    1. ASP.NET Impersonation / delegation
      you are on the right track. ntlm will not delegate even if your security team allowed delegation, only digest allows delegation. on win2k you...
    2. Kerberos Delegation
      Hi I would like to know if Kerberos Delegation is possible in a multi Hop scenario. For example: Is the following scenario possible? A Client...
    3. ASP.NET Impersonation & Delegation
      I have read various articles regarding explaining ASP.Net security model. I have one simple question regarding Delegation that i can't seemed to...
    4. Impersonation or Delegation?
      A client makes a request that executes a stored procedure in SQL Server. That stored procedure attempts to read a file on the web server but fails...
    5. Impersonation and delegation
      I've read many messages and even more technotes, but I still can't get the following scenario to work: I have a Windows 2003 web server and a...
  3. #2

    Default Re: Delegation in ASP.NET

    Hi,

    If the website is in the Internet security zone, Internet Explorer will not
    use Kerberos (it will not attempt Kerberos authentication). Kerberos
    authentication requires the browser to be able to access both the
    webserver -and- the KDC (which are domain controllers in the Windows world),
    and this typically isn't possible in an internet scenario. So, IE doesn't
    attempt something that is most likely going to fail.

    Solution? Add sites that use fully qualified domain names or IP addresses to
    IE's Intranet zone. Also, ensure that you have an SPN registered for this
    address.

    Cheers
    Ken

    "matthewt" <matthewt@nospam.nospam> wrote in message
    news:91175990-829B-44FD-BB4B-78BC757DEE78@microsoft.com...
    > Hi,
    >
    > As the title suggests I have a question about delegation in ASP.NET.
    >
    > We have an ASP.NET application running on a web server which requires
    > clients to authenticate via Windows Integrated authentication. We're
    > running
    > in a Win2K native-mode domain and the clients are IE6 so we should be
    > using
    > Kerberos to authenticate.
    >
    > At some points the application needs to send an email on behalf of the
    > client; this it achieves by impersonating the remote user and using WebDAV
    > to
    > talk to the exchange server running on the DC (which is a physically
    > separate
    > box from the web server).
    >
    > This is working in the main and the credentials appear to flow from the
    > browser, through the web-app to the exchange server.
    >
    > However, it only hangs together with a certain set of *browser* settings
    > :s
    >
    > If the site is configured to live in a zone (e.g. Intranet or Trusted
    > Sites
    > etc.) that has either of the "automatic logon..." options in the IE custom
    > security level dialog selected then all is well.
    >
    > As soon as this isn't true and we manually enter the credentials when
    > prompted, we authenticate with the web-server OK, but then the ASP.NET app
    > can't authenicate with the exchange box on the client's behalf (its as if
    > we're back to impersonation rather than delegation).
    >
    > We believe that we've all the accounts are correctly configured for
    > delegation (i.e. user accounts are *not* marked as sensitive, app account
    > is
    > marked as trusted for delegation, machine account trusted for delegation).
    >
    > Does anyone have any ideas about what this browser option is actually
    > doing
    > that makes the whole thing work?
    >
    > The application only supports windows integrated authentication so it
    > can't
    > be "falling back" to basic - is it falling back to NTLM though?
    >
    > Any help will be much appreciated.
    >
    > cheers,
    > Matt
    >

    Ken Schaefer Guest

  4. #3

    Default Re: Delegation in ASP.NET

    a while ago i wrote a little diagnostics web service to troubleshoot exactly this problem - ShowContextWebService

    when you call it you have to pass in credentials (assuming you have disabled anonymous on the vdir) and if you want to impersonate.

    you will get back info about : the process identity, the managed identity and the unmanaged thread identity..

    get it from

    [url]http://www.leastprivilege.com/PermaLink.aspx?guid=9b9d4122-352d-4b49-bb6a-861eaa87cf40[/url]



    ---
    Dominick Baier - DevelopMentor
    [url]http://www.leastprivilege.com[/url]

    nntp://news.microsoft.com/microsoft.public.dotnet.framework.aspnet.security/<utJmyngmEHA.748@TK2MSFTNGP15.phx.gbl>

    Hi,

    If the website is in the Internet security zone, Internet Explorer will not
    use Kerberos (it will not attempt Kerberos authentication). Kerberos
    authentication requires the browser to be able to access both the
    webserver -and- the KDC (which are domain controllers in the Windows world),
    and this typically isn't possible in an internet scenario. So, IE doesn't
    attempt something that is most likely going to fail.

    Solution? Add sites that use fully qualified domain names or IP addresses to
    IE's Intranet zone. Also, ensure that you have an SPN registered for this
    address.

    Cheers
    Ken

    "matthewt" <matthewt@nospam.nospam> wrote in message
    news:91175990-829B-44FD-BB4B-78BC757DEE78@microsoft.com...
    > Hi,
    >
    > As the title suggests I have a question about delegation in ASP.NET.
    >
    > We have an ASP.NET application running on a web server which requires
    > clients to authenticate via Windows Integrated authentication. We're
    > running
    > in a Win2K native-mode domain and the clients are IE6 so we should be
    > using
    > Kerberos to authenticate.
    >
    > At some points the application needs to send an email on behalf of the
    > client; this it achieves by impersonating the remote user and using WebDAV
    > to
    > talk to the exchange server running on the DC (which is a physically
    > separate
    > box from the web server).
    >
    > This is working in the main and the credentials appear to flow from the
    > browser, through the web-app to the exchange server.
    >
    > However, it only hangs together with a certain set of *browser* settings
    > :s
    >
    > If the site is configured to live in a zone (e.g. Intranet or Trusted
    > Sites
    > etc.) that has either of the "automatic logon..." options in the IE custom
    > security level dialog selected then all is well.
    >
    > As soon as this isn't true and we manually enter the credentials when
    > prompted, we authenticate with the web-server OK, but then the ASP.NET app
    > can't authenicate with the exchange box on the client's behalf (its as if
    > we're back to impersonation rather than delegation).
    >
    > We believe that we've all the accounts are correctly configured for
    > delegation (i.e. user accounts are *not* marked as sensitive, app account
    > is
    > marked as trusted for delegation, machine account trusted for delegation).
    >
    > Does anyone have any ideas about what this browser option is actually
    > doing
    > that makes the whole thing work?
    >
    > The application only supports windows integrated authentication so it
    > can't
    > be "falling back" to basic - is it falling back to NTLM though?
    >
    > Any help will be much appreciated.
    >
    > cheers,
    > Matt
    >


    [microsoft.public.dotnet.framework.aspnet.security]
    Dominick Baier Guest

  5. #4

    Default RE: Delegation in ASP.NET

    Hi Matt,

    The logon and password are very sensitive data. In IE, there is no a
    uniform option to control this. We have to adjust it per ZONE. Since your
    application is only in a domain, I think you may consider set the intranet
    zone to low security level on each computer. Can this work for you?

    Luke

    [MSFT] Guest

  6. #5

    Default RE: Delegation in ASP.NET

    Hi Matt,

    The logon and password are very sensitive data. In IE, there is no a
    uniform option to control this. We have to adjust it per ZONE. Since your
    application is only in a domain, I think you may consider set the intranet
    zone to low security level on each computer. Can this work for you?

    Luke

    [MSFT] Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139