JOSSO

NtlmProtocolHandler assumes NTLMv2 won't work with CIFS

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: JOSSO 1.8.2
  • Fix Version/s: JOSSO 1.8.3
  • Component/s: NTLM Auth Scheme
  • Description:
    Hide
    Receiving error:
    NTLMv2 requires extended security (jcifs.smb.client.useExtendedSecurity must be true if jcifs.smb.lmCompatibility >= 3):org.josso.auth.exceptions.AuthenticationFailureException

    Would you please revisit the following code assumption in NtlmProtocolHandler:
            /* The protocol handler can only work with NTLMv1 as it uses a man-in-the-middle
             * techinque that NTLMv2 specifically thwarts. A real NTLM Filter would
             * need to do a NETLOGON RPC that JCIFS will likely never implement
             * because it requires a lot of extra crypto not used by CIFS.
             */
            Config.setProperty( "jcifs.smb.client.useExtendedSecurity", "false" );

    From what I glean on CIFS, they use some mapping to an RPC$ share or something like this to implement NTLMv2, but that jcifs.smb.client.useExtendedSecurity must be set to true. I have not successfully built josso, so I can't test whether setting this property to true would have any affect. Could you please make it configurable in the josso-gateway-config.xml file?

    I have this listed as Major priority because the only workaround is to not use NTLM authentication. Setting jcifs.smb.lmCompatibility to 2 or lower on the Tomcat JVM results in this error: Logon failure: unknown user name or bad password.:org.josso.auth.exceptions.AuthenticationFailureException
    Show
    Receiving error: NTLMv2 requires extended security (jcifs.smb.client.useExtendedSecurity must be true if jcifs.smb.lmCompatibility >= 3):org.josso.auth.exceptions.AuthenticationFailureException Would you please revisit the following code assumption in NtlmProtocolHandler:         /* The protocol handler can only work with NTLMv1 as it uses a man-in-the-middle          * techinque that NTLMv2 specifically thwarts. A real NTLM Filter would          * need to do a NETLOGON RPC that JCIFS will likely never implement          * because it requires a lot of extra crypto not used by CIFS.          */         Config.setProperty( "jcifs.smb.client.useExtendedSecurity", "false" ); From what I glean on CIFS, they use some mapping to an RPC$ share or something like this to implement NTLMv2, but that jcifs.smb.client.useExtendedSecurity must be set to true. I have not successfully built josso, so I can't test whether setting this property to true would have any affect. Could you please make it configurable in the josso-gateway-config.xml file? I have this listed as Major priority because the only workaround is to not use NTLM authentication. Setting jcifs.smb.lmCompatibility to 2 or lower on the Tomcat JVM results in this error: Logon failure: unknown user name or bad password.:org.josso.auth.exceptions.AuthenticationFailureException
  • Environment:
    Microsoft Windows Server 2003 R2
    Tomcat 6.0
    Internet Explorer 7.0 / Firefox 3.6

Activity

Hide
Juan Luis added a comment - 03/Sep/10 5:24 AM
In JOSSO 1.8.2 still receiving same error: NTLMv2 requires extended security (jcifs.smb.client.useExtendedSecurity must be true if jcifs.smb.lmCompatibility >= 3):org.josso.auth.exceptions.AuthenticationFailureException
I test in environment in jboss 5.1.0.GA
Show
Juan Luis added a comment - 03/Sep/10 5:24 AM In JOSSO 1.8.2 still receiving same error: NTLMv2 requires extended security (jcifs.smb.client.useExtendedSecurity must be true if jcifs.smb.lmCompatibility >= 3):org.josso.auth.exceptions.AuthenticationFailureException I test in environment in jboss 5.1.0.GA
Hide
Sebastian Gonzalez Oyuela added a comment - 23/Sep/10 10:24 AM
As a workaround for 1.8.2 and earlier set the following JAVA system property in your VM:

jcifs.smb.lmCompatibility=0
Show
Sebastian Gonzalez Oyuela added a comment - 23/Sep/10 10:24 AM As a workaround for 1.8.2 and earlier set the following JAVA system property in your VM: jcifs.smb.lmCompatibility=0

People

Dates

  • Created:
    18/Mar/10 5:01 PM
    Updated:
    12/Aug/11 7:34 AM
    Resolved:
    22/Oct/10 3:12 PM