Thanks again Howard for your knowledge on this... we are working towards 
disabling NTLMv1/v2 on our CAS box but have not found the right group 
policy/settings can you supply those or maybe where we should be looking 
for them?

Chris Whittle
SWAT Team Developer
J.B. Hunt Transport Services, Inc.
Office Phone:(479) 419-3122
Ext:73122
Fax Phone:(479) 820-1769
chris_whit...@jbhunt.com
What's your next move?TM
Intermodal | Dedicated | Truckload | LTL | Delivery | Refrigerated | 
Flatbed | Expedited 



Howard Gilbert <howard.gilb...@yale.edu> 
07/22/2010 12:14 PM
Please respond to
cas-dev@lists.jasig.org


To
cas-dev@lists.jasig.org
cc

Subject
RE: [cas-dev] IE8 Outside the domain and Spegno






You are right that NTLMv2 will never "work" with CAS, but that doesn't
prevent it from trying and messing things up.

There are two kinds of NTLM authentications: Domain and Workgroup. If the
client machine is outside the Domain, it cannot generate a Domain
authentication. However, if I have locally logged into my machine as
"gilbert" (i.e. CLIENTMACHINE\gilbert) then I can access files on another
server on the network on which I have a local account
(SERVERMACHINE\gilbert) with the same userid and password. This access 
uses
NTLM(v2) between the client and the server and does not require me to
present any additional credentials.

Now things get technically fuzzy, but the results are clear to the end 
user.
Whenever a non-domain connected machine accesses a resource on a domain
connected server, and the initial Workstation authentication doesn't 
permit
it, the system typically pops up a dialog box that asks for alternate
credentials on the machine or on the domain to which it is connected. I do
not know the underlying protocol, but believe that the password is not
transmitted over the network.  This may involve SMBs and NTLMv2, but is 
not
technically a man in the middle because it is the SERVERMACINE that is
logging in as you, not the CLIENTMACHINE.

Although the previous discussion addresses SMB requests, GSSAPI uses
whatever authentication mechanisms exist on the local machine at the OS
level, and SPNEGO uses GSSAPI. 

Now in a real Domain situation the Kerberos 5 protocol will succeed and 
you
never get to NTLM. I think we are all in agreement that NTLM doesn't add
anything to what we really want to do in CAS. However, GSSAPI doesn't know
this and there doesn't appear to be any way to tell it except to disable 
all
NTLM on the machine from all authentications of every sort. 

So knowing only that you want authentication, and having skipped or failed
Kerberos 5, the Windows GSSAPI looks for another authentication protocol
plugged into the OS and, ignorant of Java or CAS, finds that NTLMv2 is
available, and if both the client and the server machine understand the
protocol GSSAPI tries to use it.  One implied consequence of this is that 
if
you enable SPNEGO and if CAS were not careful to check the type of 
Principal
object returned, you might authenticate users defined in the CAS local SAM
database as if they were domain userids.

If SPNEGO/GSSAPI simply tried to use any CLIENTMACHINE\userid +password 
and
compared it to CASMACHINE\userid + samepassword and silently failed, we
probably would not know and would not care. Instead, it seems to trigger
automatically the popup prompt for you to enter your domain userid and
password to the browser just as happens when you use a non-domain client 
to
access a domain connected file server. That is what produces the
unacceptable end user behavior. 

To recap: I am logged on to CLIENTMACHINE\gilbert and try to authenticate 
to
CASMACHINE. NTLM(v2) could authenticate me to a CASMACHINE\gilbert account
if I have the same userid and password on both CLIENTMACHINE and 
CASMACHINE,
and it will do this non-interactively, and this behavior will percolate up
through GSSAPI and then up through SPNEGO. However, no Windows machine 
will
ever automagically and non-interactively authenticate 
CLIENTMACHINE\gilbert
as DOMAIN\gilbert even if I happen to have the same userid and password on
my non-domain machine that I have in the domain. That always requires
reentering the userid and password because domain credentials are 
different
from local machine credentials. However, since every machine has a local
account database, and since GSSAPI doesn't know anything about Java or CAS
or what we want or are trying to do, NTLMv2 if it is available will be 
tried
even though it can never do anything we want it to do simply because it is
there. If it ever succeeds, it will always have done the wrong thing
(authenticate a user to the CASMACHINE database instead of the AD or else
prompt for a userid and password). So the solution is to run CAS on a 
Linux
machine that doesn't have it, or disable NTLM (v1+v2) completely on a
Windows box that runs CAS assuming you don't need it for anything else on
the machine.

-----Original Message-----
From: matthieu.m...@ensam.eu [mailto:matthieu.m...@ensam.eu] 
Sent: Thursday, July 22, 2010 11:09 AM
To: cas-dev@lists.jasig.org
Subject: RE : [cas-dev] IE8 Outside the domain and Spegno

When looking at Jcifs NTLM HTTP Authentication page
(http://jcifs.samba.org/src/docs/ntlmhttpauth.html), I can see that the 
HTTP
"filter" is using a "man in the middle" technique that cannot support
NTLMv2. In fact because the jcifs filter make connection to smb share to 
the
server using ntlm token given by the http client. So they recommend using
Jespa instead which properly implements NTLMv2.

CAS is using Jcifs for HTTP Authentication. I was unable to make NTLMv2 in
CAS, but regardings the jcifs comment, it is not possible to make it
working.


I do not understand why you let us thinking that NTLMv2 is working with 
CAS,
or maybee I do not understand all what you wrote.



-- 
You are currently subscribed to cas-dev@lists.jasig.org as: 
chris_whit...@jbhunt.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev



-- 
You are currently subscribed to cas-dev@lists.jasig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev

<<image/gif>>

Reply via email to