README misleading about how Negotiate works #293
Replies: 2 comments 1 reply
-
The issue with windows browsers is that they seem to unconditionally ask (via UI prompt) for NTLM credentials that will never work, even if we do not advertize NTLM as available. Note that mod_auth_gssapi can support NTLM (via GSS-NTLMSSP for example), it's just that most deployments don't. |
Beta Was this translation helpful? Give feedback.
-
It seem you are turning this discussion into an issue? |
Beta Was this translation helpful? Give feedback.
-
The README says:
mod_auth_gssapi/README
Lines 77 to 87 in 796000a
The example effectively disables mod_auth_gssapi for Windows clients, which turns out to often be a reasonable thing to do, but isn't explained and instead suggests that the Windows browsers don't work properly, when in fact, they're dutifully working as originally designed (by Microsoft).
The
www-authenticate: Negotiate
behavior is hinted at here, but also not explained particularly well:mod_auth_gssapi/README
Lines 405 to 427 in 796000a
The missing information is troubling because a substantial number of browsers (Windows browsers such as Edge and Chrome) are affected by this behavior and it is a detail that should be front and center before someone invests time into setting up mod_auth_gssapi.
My understanding is this module supports Microsoft's IANA registered Negotiate auth scheme, which turns out to be very problematic. It is defined in RFC4559, and relies on RFC2478. The Negotiate scheme is designed to first try Kerberos and then fall back onto NTLM unless the client browser has disabled NTLM. Turns out Firefox defaults to disabling NTML on all OSes whereas on Windows OS Chrome and Edge default to the OS settings (which generally default to NTLM enabled).
Ideally default behavior on all browsers on all platforms would be to ignore NTLM. That hasn't happened yet, but Microsoft is starting to phase NTLM out in Windows 11 with IAKerb.
See Also:
Beta Was this translation helpful? Give feedback.
All reactions