By the way Tomcat 8 was running on JDK  :-

C:\Windows\system32>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode)

Version update 40 should include some JRE fixes around GSS and SPNEGO, 
including ignoring parts of NegoEx, however
it does not seem to work.

I've also created a Windows 7 client with same config just different DNS of 
win-pc02.kerbtest.local

It has the same issue going from firefox to 
http://win-tc01.kerbtest.local/manager/html
I get the same three 401's and the Negotiate.

----------------------------------------
> Date: Thu, 26 Mar 2015 12:11:34 +0100
> From: a...@ice-sa.com
> To: users@tomcat.apache.org
> Subject: Re: SPNEGO test configuration with Manager webapp
>
> David Marsh wrote:
>> Hi Mark,
>>
>> Thanks for that, yes I've got 30 years windows experience, I can use Linux 
>> at a push but its not really my area expertise.
>>
>> I'm a Java / Windows programmer so I should be able to understand it, but 
>> not kerberos or Active Directory expert.
>>
>> I have used Waffle in the past with success and used JAAS/GSS-API in Java 
>> thick clients.
>>
>> I made the IE settings you outlined but it seems to still prompt.
>> IE has win-tc01.kerbtest.local as a trusted site.
>> Enable Windows Integrated Authentication is on
>> Auto logon only in Intranet Zone is on
>>
>> I've been using Firefox to test and that does send 401 and negotiate, but 
>> causes the GSS token error mentioned.
>>
>> Active directory and krb5.ini are using eType 23 which is rc4-hmac
>>
>> The windows client OS and tomcat server OS has registry setting for 
>> allowtgtsessionkey set to 1 (enabled).
>>
>> Java kinit test works and stores a ticket in the Java session cache.
>>
>> So problem seems to be either :-
>>
>> 1. Browser sends bad token
>> 2. Token is good but Oracle JDK 8 GSS-API cannot handle it
>>
>
> Another shot almost in the dark : while browsing hundreds of Kerberos-related 
> pages on the
> WWW, one other recommendation which seems to appear regularly (and Mark also 
> mentioned
> that somewhere), is that each time you make a change somewhere, you should 
> reboot the
> machine afterward, before re-testing. (Particularly on Windows machines).
> I know it's a PITA, but I have also found the same to be true sometimes when 
> merely
> dealing with NTLM matters. There are probably some hidden caches that get 
> cleared only in
> that way.
>
>
>> many thanks
>>
>> David
>>
>>> Date: Thu, 26 Mar 2015 11:32:39 +0100
>>> From: a...@ice-sa.com
>>> To: users@tomcat.apache.org
>>> Subject: Re: SPNEGO test configuration with Manager webapp
>>>
>>> David Marsh wrote:
>>>> Hi Mark,
>>>> Thanks that would be great !
>>>> Do you have a good mechanism to test and ensure kerberos token is passed 
>>>> to tomcat and not NTLM token ?
>>> I believe that I can answer that.
>>>
>>> And the basic answer is no.
>>>
>>> First the basic principle, valid for this and many many other areas : the 
>>> server cannot
>>> "impose" anything on the browser. The local user can always override 
>>> anything received
>>> from the server, by a setting in the browser. And a hacker can of course do 
>>> anything.
>>> All the server can do, is tell the browser what it will accept, and the 
>>> browser can tell
>>> the server ditto.
>>> So, never assume the opposite, and you will save yourself a lot of 
>>> fruitless searches and
>>> dead-ends.
>>>
>>> Now more specific :
>>> 1) For Kerberos to be used at all at the browser level, the server must 
>>> send a 401
>>> response with "Negociate" as the requested authentication method. Unless it 
>>> does that,
>>> the browser will never even attempt to send a Kerberos "Authorization" back.
>>> 2) for the browser to consider returning a Kerberos Authorization header to 
>>> the server,
>>> additional conditions depend on the browser.
>>> For IE :
>>> a) the "enable Windows Integrated Authentication" setting must be on 
>>> (checked), whether
>>> this is done locally by the user, or part of the standard IE settings 
>>> company-wide, or
>>> imposed by some "network policy" at corporate level.
>>> b) the server to which the browser is talking, must be known to IE as either
>>> - part of the "Intranet"
>>> - or at least a "trusted" server
>>> That is defined in IE's "security zones" (which again can be local, or 
>>> corporation-wide).
>>>
>>> If condition (a) is not met, when the server sends a 401 "Negociate", IE 
>>> will fall back to
>>> NTLM, always. And there is nothing you can do about that at the server 
>>> level.
>>> (Funnily enough, disabling the "enable Windows Integrated Authentication" 
>>> at the IE level,
>>> has the effect of disabling Kerberos, but not NTLM).
>>>
>>> If condition (b) is not met, IE will try neither Kerberos nor NTLM, and it 
>>> /might/ fall
>>> back to Basic authentication, if its other settings allow that. That's when 
>>> you see the
>>> browser popup login dialog; and in an SSO context, this is a sure sign that 
>>> something
>>> isn't working as expected.
>>>
>>> Some authentication modules, at the server level, are able to adapt to what 
>>> the browser
>>> sends, others not. I believe that Waffle can accept either browser NTLM or 
>>> Kerberos
>>> authentication. Waffle works only on a Windows Tomcat server, not on a 
>>> Linux Tomcat server.
>>> I do not know about the SPNEGO thing in Tomcat (from the name, it should).
>>> The Jespa module from www.ioplex.com does not handle Kerberos, just NTLM, 
>>> but it works
>>> under both Windows and Linux.
>>>
>>> And finally, about your problems : it seems that you have fallen in a very 
>>> specific kind
>>> of hell, because you are trying to talk to a Windows-based Kerberos KDC 
>>> (which is using
>>> Windows Kerberos libraries and encryption method choices and hostname 
>>> formats etc..), from
>>> a Java JVM-based "client" (in this case the Tomcat server, whatever its 
>>> underlying
>>> platform is), which is using Java Kerberos libraries and encryption method 
>>> choices etc...
>>> And it seems that between this Java Kerberos part and the Windows Kerberos 
>>> part, there
>>> are a number of areas of mutual incomprehension (such as which key 
>>> encryption methods they
>>> each implement, or which ones are the "default" ones for each).
>>>
>>> And I am sure that the issue can be resolved. But it is probably a question 
>>> of finding
>>> out which among the 25 or more settings one can alter on each side, overlap 
>>> and either
>>> agree or contradict eachother.
>>>
>>> One underlying issue is that, as well in corporations as on the WWW, the 
>>> "Windows people"
>>> and the "Linux people" tend to be 2 separate groups. If you ask the 
>>> "Windows people" how
>>> to set this up, they will tell you "just do this and it works" (assuming 
>>> that all the
>>> moving parts are Windows-based); and if you ask the "Linux people", they 
>>> will tell you
>>> "just do this and it works" (assuming that all the moving parts are 
>>> Linux-based).
>>> And there are very few people (and web pages) which span both worlds with 
>>> their various
>>> combinations.
>>>
>>>
>>>> David
>>>>
>>>>> Date: Thu, 26 Mar 2015 09:00:22 +0000
>>>>> From: ma...@apache.org
>>>>> To: users@tomcat.apache.org
>>>>> Subject: Re: SPNEGO test configuration with Manager webapp
>>>>>
>>>>> On 26/03/2015 00:36, David Marsh wrote:
>>>>>> Still getting :-
>>>>>> java.security.PrivilegedActionException: GSSException: Defective token 
>>>>>> detected (Mechanism level: G
>>>>>> SSHeader did not find the right tag)
>>>>>>
>>>>>> Folks here mention lack of NegoEx support or bugs in GSS-APi ?
>>>>>>
>>>>>> http://sourceforge.net/p/spnego/discussion/1003769/thread/990913cc/?page=1
>>>>>>
>>>>>> Does Tomcat 8 work with NegoEx ?
>>>>>>
>>>>>> Is Windows 8.1 and Windows Server 2012 RC2 supported ?
>>>>> My test environment is Windows 2008 R2 server and Windows 7. It is
>>>>> certainly possibly security has been tightened between those versions
>>>>> and 2012/R2 + 8 that means things don't work by default with Java.
>>>>>
>>>>> I'll see if I can find some time in the next few weeks to update my test
>>>>> environment and do some more testing.
>>>>>
>>>>> Mark
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
                                          
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to