Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IIS: Using Kerberos with client computers that are not on the domain

Can a computer that is NOT a part of the domain (but is on the network) authenticate against to a web site published by IIS8 where the authentication for that site is "Windows Authentication" only with a single provider of "Negotiate:Kerberos" (and with Kernel-mode authentication disabled)?

I ask because I am trying to do just this, but I cannot get past the authentication to the site (yet alone trying to pass the authentication to the database). I see the "WWW-Authenticate: Negotiate" header on the response to the client, but the client only ever seems to send a "NTLM Type1: Negotiation" (NTLMSSP) in the subsequent (re)requests. Either that or I am interpreting the results from Fiddler2 incorrectly!

I am using Kerberos as most of the clients will be domain computers and I need to pass user credentials from the web application back to the database. I was hoping that I would be able to do the same with non-domain computers and they would simply be prompted for a username/domain/password that would be validated and converted to a Kerberos ticket on the server.

Note that for testing purposes, Windows 8 is both the server and the client. In production, the server will be Windows 2008 Server R2 and the client will be primarily Windows 7 (though there will be some Windows 8 clients).

like image 336
Martin Robins Avatar asked Nov 04 '22 07:11

Martin Robins


1 Answers

Kerberos will not work on accounts/computers which are not part of the domain. You have two options to achive your goal:

  1. Request the user data with Basic auth and pass that to LogonUserEx. See this for answers.
  2. Authenticate the user by other means and use S4U2self (protocol transition).
like image 195
Michael-O Avatar answered Nov 15 '22 07:11

Michael-O