Closed
Bug 23679
Opened 25 years ago
Closed 21 years ago
NTLM auth for HTTP
Categories
(Core :: Networking: HTTP, enhancement, P5)
Core
Networking: HTTP
Tracking
()
RESOLVED
FIXED
Future
People
(Reporter: Francis, Assigned: darin.moz)
References
Details
(Keywords: helpwanted, topembed-, Whiteboard: DO NOT SPAM read comment #162 before posting)
Attachments
(5 files)
Under NT 4.0 (Build 1381: Service Pack 5) the Mozilla browser release M12 is
unable to connect to sites that use M$'s proprietary NTLM authentification.
A pop up username/password dialogue appears but no combination of
username/password, NT_DOMAIN/username/password seems to work. FYI Internet
Explorer on UNIX brings up a dialgue with the three components seperated to
avoid confusion.
I also tried the same site with the same Mozilla release but under FreeBSD 3.3.
Mozilla wasn't able to access the site (it just flickered) and didn't pop up an
authentification dialogue. No error message appeared.
Updated•25 years ago
|
Assignee: dougt → gagan
Severity: blocker → enhancement
Component: Security → Networking
Summary: NTLM authentification doesn't work. → [enh] NTLM authentication doesn't work.
Comment 1•25 years ago
|
||
Even though this bug relates to cryptography stuff, i think it is more related
to networking code in \netwerk\protocol\http\src
Currently there is only 'Basic' authentication implemented (in nsBasicAuth)
I changed severity to 'enhancement' as prior versions of Navigator didn't have
this feature (though i think there was a plugin that did it)
M$ have a sample named 'HTTPauth' that contains source code illustrating
how to implement the NTLM authentication.
Here are the two files for that sample:
http://msdn.microsoft.com/library/devprods/vs6/visualc/vcsample/sdk_WinBase_Secu
rity_WinNT_httpauth.exe
http://msdn.microsoft.com/library/devprods/vs6/visualc/vcsample/sdk_WinBase_Secu
rity_WinNT_include.exe
I've started having a look at the sample code, and am trying to understand how
the authentication works currently to see how much cut'n'paste might be done ti
add this in.
But someone who is faster/better/smarter might want to beat me to it:-)
-dave
Reporter | ||
Comment 2•25 years ago
|
||
I have discovered an NTLM authentification plugin for Apache. Source code is
newer and easier to understand than the M$ examples...
http://www.ozemail.com.au/~timcostello/mod_ntlm/mod_ntlm-0.4.zip
A write up can be found under http://www.ozemail.com.au/~timcostello/mod_ntlm.
Updated•25 years ago
|
Target Milestone: M15
Comment 3•25 years ago
|
||
NTLM requires a Keep-Alive connection
Updated•25 years ago
|
Updated•25 years ago
|
Summary: [enh] NTLM authentication doesn't work. → NTLM authentication doesn't work.
Comment 6•25 years ago
|
||
This certainly sounds like cool stuff... but since it is not assigned to anyone,
it can't be an M15 stopper. I'm changing its target to --- until someone steps
up to the plate with a delivery plan.
Target Milestone: M15 → ---
Comment 8•25 years ago
|
||
Netscape 4.x has the same problem, but Internet Explorer 4+ works fine. Theres a
MS Knowledge base page on it which gives the only work around for Netscape 4
here: http://support.microsoft.com/support/kb/articles/Q218/4/84.asp
Microsofts own Knowledge base article id is Q218484.
The fetchmail source code may be a fruitful resource for figuring this NTLM
problem out. It supports using NTLM to authenticate for IMAP. ntlm.h provides
the definitions, and is included in imap.c, smbencrypt.c, and smbutil.c -- in
the <a
href="http://www.tuxedo.org/~esr/fetchmail/fetchmail-5.4.3.tar.gz">fetchmail
source</a>, of course.
Comment 10•24 years ago
|
||
The NTLM auth is pretty simple (and, of course, violates multiple RFCs), but
should not be difficult to add. The only things I'm not sure about are getting
DES and MD4 encryption. For the Digest auth patch, I added MD5 into netwerk. I
don't want to keep adding crypto functions to netwerk, but I'm not sure where
else to get them. The NSS service?
Comment 11•24 years ago
|
||
Comment 12•24 years ago
|
||
The above patch is a tar file with two files (nsNTLMAuth.[cpp|h]).
It implements the guts of NTLM protocol, but until we have DES and MD4
support in mozilla, it's not going to run. Basically, only the crypto
parts need to be changed. However, there are a number of unknown fields
(to me, at least), which some of the other implementations may show how
to properly use.
Also, my storage of domain, username, and password between auth "sessions"
leaves a bit to be desired (they're global statics). I couldn't think of a
substantially better solution, but if others have ideas, I'll improve that.
And one more thing, I don't actually have a server using NTLM authentication, so
once the crypto code is in place, to test it I'll need access to one. Perhaps
one of the people watching this bug could provide me some simple test access
account?
*** Bug 48469 has been marked as a duplicate of this bug. ***
I can supply a server testsite for NTLM testing.
How close is this to completation (don't know what DES and MD4 is). Also how
will the authentication work, will be possible to get automatic login the same
way IE does when logged to a Windows system?
Comment 15•24 years ago
|
||
Microsoft IIS gives the choice to enable NTLM auth, Basic auth, or Both.
Currently mozilla gives up immediately if both are enabled (Instead of using
Basic Auth)
This is a problem against both NT4 and Win2000 servers.
IIS 5:
HTTP/1.1 401 Access Denied
Server: Microsoft-IIS/5.0
Date: Mon, 21 Aug 2000 13:49:19 GMT
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="xxxxx"
IIS 4:
HTTP/1.1 401 Access Denied
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="xxxxx"
Mozilla will not view either of these pages as long as NTLM is an option.
Comment 16•24 years ago
|
||
Joel Roller: The problem with multiple Auth lines you describe is Bug 44041, for
which I've posted a patch.
As for NTLM, I need DES and MD4, which, as far as I can tell, are not available
in mozilla currently. They might be hidden somewhere in NSS, but I can't find
them. My plan is to write a (simple) crypto module to run in-process, which
would provide DES, MD4, MD5, and possibly others. Once that is written, NTLM
would be functional. Due to the broken nature of NTLM, however, it might not
work as smoothly as some would desire (ie. not automatic, and it will likely
prompt you for the domain/username/password a lot [once per HTTP connection]).
Both of those could be fixed, however.
I'll try to finish this as soon as possible, but since I'll never use this
feature, it's not a top priority of mine.
Comment 17•24 years ago
|
||
*** Bug 52770 has been marked as a duplicate of this bug. ***
DES is enabled in the latest PSM. Is there ANY chance this will get into NS6?
Comment 19•24 years ago
|
||
Adding a whole bunch of keywords to move this alone, especially since there's a
patch here.
Comment 20•24 years ago
|
||
This needs to be reviewed by someone, so I'm going to try to add gagan to cc and
ask if he can assign this to someone. This patch will languish in unholy
darkness forever if someone doesn't pick it up.
Comment 21•24 years ago
|
||
Gagan: I added you to cc: to see if you could move this patch to some reviewers.
(and since this has been assigned to component "Networking".)
Comment 23•24 years ago
|
||
cc to self
Comment 24•24 years ago
|
||
Take a look at ftp://ftp.visi.com/users/grante/stuff/libntlm-0.21.tar.gz which
would make fixing this much easier. There are patches for both mutt and pine
which use libntlm. However, because of licensing issues, I think this would
only help if the user compiled libntlm into mozilla himself, since it couldn't
be included in the official distribution.
Comment 25•24 years ago
|
||
*** Bug 60784 has been marked as a duplicate of this bug. ***
Comment 26•24 years ago
|
||
The attachment seems to be going in the direction of a full NTLM
implementation. Would it make sense to solve this in a windows-only way?
Windows provides a library called SSPI that generates the packets required for
NTLM authentication (and microsoft's kerebos implementation) with jusy a few
lines of code. I had a brief look at the examples that david gardiner pointed
to, and it sends uuencoded SSPI packets across to make the authentication
happen. The advantage of using SSPI would be that mozilla could authenticate
using the logged in user account by default (i.e. not ask for
user/password/domain), great for intranet apps.
If have some code lying around for another project that does something similar.
If someone would be so kind to provide me with a couple of pointers to where
this (windows only) stuff would go, it's probably something that could be done
on a rainy evening.
Comment 27•24 years ago
|
||
Although cross-platform is probably the ideal solution, i would agree that
the 'low hanging fruit' in this instance is the Windows-only solution.
If we can knock off the SSPI stuff, then someone with more enthusiasm can look
at the public implementations of NTLM at a later date.
-dave
Comment 28•24 years ago
|
||
While I agree that a Windows-only implementation is probably "low-hanging
fruit," in my opinion there is infintely more value in a cross-platform
solution. Consider this: there is current NO browser on UNIX that supports NTLM
authentication.
An example of the potential value (at least for me): my company is very
Microsoft-focused; many of the internal web servers run on IIS. The corporate
security policy is to use only NTLM authentication, therefore I can't access
things like our intranet, phonebook, etc. without running IE inside vmware on
my Linux box. It would be amazing if Mozilla would be the first UNIX browser to
support NTLM.
Comment 29•24 years ago
|
||
NTLM on intranet servers is a wedge that it used to drive other operating
systems off of the enterprise desktop. I will name my first loinfruit after
the programmer that delivers a cross-platform solution, even if that means I end
up with a daughter named Festus.
Comment 30•24 years ago
|
||
The patch I posted last summer does most of what is required.
The thing that prevented me from completing it at the time was simply
that I did not know how to access DES and MD4 routines. Once you put
the right code in for that, it should work.
Of course, it might be a bit annoying to use, since the authentication
only lasts for the specific connection (ie. a keep-alive'd connection to
the server), and the authentication token will change with each new
connection (it has to do a little negiotiation first [which contains
a new salt] for each new connection) and mozilla's auth token cache
assumes the same token will work over and over. So you would get lots of
username, domain, password prompts. That could be easily fixed by
making the auth cache more flexible (note: the original author's of the
auth cache stuff are not to blame for this lack of functionality. it's
only required because Microsoft horribly abused the auth mechanism)
Comment 31•24 years ago
|
||
*** Bug 73332 has been marked as a duplicate of this bug. ***
Component: Networking → Networking: HTTP
Keywords: qawanted
Summary: NTLM authentication doesn't work. → NTLM auth for HTTP
Updated•23 years ago
|
OS: Windows NT → All
Comment 33•23 years ago
|
||
I'd also like to see this implemented, because Mozilla has now IMO duplicated
all of Netscape 4.x's functionality, and is moving on to implement IE
functionality, such as the -turbo option. While you could argue about the
propriety of adding the -turbo option or NTLM support (i.e. letting Microsoft
set the rules instead of W3C), NTLM support is really the last reason I would
choose IE as an enduser (nobody uses ActiveX or any other IE-only features).
Also, and this is NOT intended to provoke anything...should someone logging in
via NTLM get a "low grade encryption" warning like with low-grade SSL? I know
_nothing_ about cryptography, but if there hasn't been any independent peer
review of NTLM security (and I don't know that), should it by default be
considered a risk and the user warned?
adding nsenterprise keyword. The reason is that many large companies (at least
that I've worked with) use NT-security and then NTLM authorization to make
passwords not sent in cleartext.
I have in fact worked with quite a few intranet sites that had to drop support
for netscape (and mozilla) since NTLM wasn't supported.
Keywords: nsenterprise
Comment 35•23 years ago
|
||
This bug is why we won't be able to even have Mozilla or Netscape 6 as an option
for our users. Our Intranet needs are forceing us to use IE 5+ only.
I assume there are not any outside people that could help us get movement on
this?
Comment 37•23 years ago
|
||
RELNOTE:
NTLM authentication is not supported in this release.
Keywords: relnote
Comment 38•23 years ago
|
||
The Patch we have is quite old. Has it bit-rotted? It would be nice to have this
feature in (if it doesn't hurt stability for 1.0, else 1.1) I know quite a few
companies which use NTLM simply because they want to limit the number of users
and want the easiest solution. (Which on an NT machine is NTLM)
If this patch is "complete" except for the encryption modules, we should
seriously look at how to integrate it into the trunk. I'll ping a few people on IRC.
Question about the patch: Justin, when you say "silmultaneous logins" you are
referring the different servers correct? It would be upsetting if we couldn't
open another page on the server at the same time
the main problem isn't the NTLM stuff itself, it's bug 74246. As far as I've
understood
Comment 40•23 years ago
|
||
*** Bug 94092 has been marked as a duplicate of this bug. ***
Comment 41•23 years ago
|
||
I am working on this in my spare time (while at the same time trying to get
group authorization to work under squid with ntlm) but a lot of what i am
having to do is just figure out how the protocol works. IF anyone could help
me with packet traces of an NTLM authorization session...and better yet if
anyone has NTLMv2 running a packet trace of that would be great.. I am having a
hard time figuring out if/and how NTLM & NTLM2 authentiate differently....any
help would be appreciated (I have been through every documentation/code base i
can find so dont bother pointing me to that I have already been there :)
Comment 43•23 years ago
|
||
Just to clarify, this is what makes a browser able to authenticate to web
servers running on Windows based IIS systems...
Of corse I don't know what the requirements for an nsenterprice bug is, but I
know that for many large corporations this bug is a showstopper. The reason
that many choose to do auth through NTLM is that passwords don't pass in
cleartext and you get (in IE) an automatic login that is compleatly transparent
for the endusers.
I know that there are other solutions that makes it possible to send passwords
in non-cleartext (https for example) however that is often more work involved
making companies rather drop support for ns/moz.
For most users, me included, this isn't really a big deal since next to no
sites on the Internet use NTLM. However, as I said, corporations often like to
use NTLM
Comment 45•23 years ago
|
||
Please do not remove an nsenterprise nomination. nsenterprise is like nsbeta1,
it is a +/- keyword. Someone nominates and then the keyword is given a +/- from
the enterprise team. From the Keyword Descriptions:
"This indicates a bug nominated as a blocker for Enterprise Use. Enterprise Use
means the ability for large organizations (500+ users) to deploy the product for
daily end-user use. This keyword will be changed to nsenterprise+ or the
nsenterprise- keyword to indicate Netscape Enterprise Client Team (ECT)
approval/rejection of higher prioritization of this bug."
IMHO this is an enterprize blocker. I know of several companies that use NTLM
with their intranets. (Including many universities -- with over 5000 users)
renominating for nsenterprise
Keywords: nsenterprise
Comment 46•23 years ago
|
||
My employer is also dropping support for Netscape on our intranet because of
this problem. As more and more of it becomes inacessible, the pages behind begin
to be written to IE's DOM and the whole thing becomes more and more untenable
(ie, the amount of work required to support Netscape increases).
Its a wedge, without a doubt.
Also: we're finding with our setup (several domains) we can't make basic
authenitication and NTLM work reliably at the same time - even though we also
allow basic aunthentication on many parts of the site increasingly Netscape
users, version 4 or 6, still can't authenticate to servers in the other domains.
This is clearly almost certainly a bug somewhere in Microsoft's server code, but
the net effect is that Netscape doesn't work.
Comment 47•23 years ago
|
||
lordpixel: Since this should have worked for some time, lets get a new bug
report on that, please.
Comment 48•23 years ago
|
||
Here is what I know about NTLM, this is more of a data dump of the things in my
brain so that we can start figuring out how to tackle these problems one at a
time. Plus most of this stuff isnt documentated anywhere so it helps to have it
down somewhere. (Some of this is taken from other sources
NTLM transaction
1: C --> S GET ...
2: C <-- S 401 Unauthorized
WWW-Authenticate: NTLM
3: C --> S GET ...
Authorization: NTLM <base64-encoded type-1-message>
4: C <-- S 401 Unauthorized
WWW-Authenticate: NTLM <base64-encoded type-2-message>
5: C --> S GET ...
Authorization: NTLM <base64-encoded type-3-message>
6: C <-- S 200 Ok
Now its a *connection* authorization mechanism which means it must be
kept-alived or this whole thing must start over again....It also appears that
after it is authorized you dont need to send the authorization header no matter
where you go...
but i am not sure about this yet....a good resource is
http://www.innovation.ch/java/ntlm.html
Comment 49•23 years ago
|
||
Oh yeah another thing is it has to use the same port for the authorization
setup...if you use another port further along the whole process repeats
itself...but i could be wrong on that one...
Comment 50•23 years ago
|
||
As far as I'm aware authorisation is intended only to apply to the directory
whether the first request applied and sub directories. Whether this is an NTLM
thing or a general HTTP auth thing or just an IIS thing I don't know.
However its how IE behaves, based on the server logs I've looked through. It only
sends authorization for items in that directory and sub directories.
One gotcha - I've observed a bug in IE5 where javascript loaded URLs don't use
authentication when they should. This should be part of the QA test for any
Mozilla implementation.
Comment 52•23 years ago
|
||
Comment 53•23 years ago
|
||
My company uses a ntlm proxy and I've finally managed to use Mozilla. I used the
'NTLM Authorization Proxy Server', a small application writeen in Python.
http://www.geocities.com/rozmanov/ntlm/
This application also includes a html file with the 'NTLM Authentication Scheme
for HTTP' that i'm adding as an attachment.
Comment 54•23 years ago
|
||
*** Bug 111128 has been marked as a duplicate of this bug. ***
Comment 55•23 years ago
|
||
This is the core NTLM implementation that libsoup (http transport library,
gnome cvs module "soup") uses. It is verified working with several Windows
versions.
It contains a clean-roomed MD4 impl (licensed LGPL), public-domain DES impl,
and all the NTLM protocol code.
Contact me or Dan Winship (danw@ximian.com) if you need help on usage.
Comment 56•23 years ago
|
||
In addition to the above protocol flow, be aware that newer windows versions
always close the connection after the first 401 response (step 2). So you need
to be able to tell the next connection to begin the conversation at step 3.
I don't know your abstractions at all, so this might be easy, but for soup it
was a pain...
Comment 57•23 years ago
|
||
The first 401 response contains a "connection: close" header, mozilla's
connection pooling handles this correctly and will indeed send the next request
on a new connection.
The problem is still bug 74246 where step 3 and 5 are sent over different
connections.
Comment 58•23 years ago
|
||
I have been coding an addon to Squid to allow NTLM authorization with groups at
work so I am well aware of how NTLM works in the real world etc. My main problem
is i dont have enough computing power to actually test the patches (all I have
is a 233 Mhz) so I am stuck with the cart but without the horse.
Comment 59•23 years ago
|
||
RE: Comment #57
Yes, forgive me for not being detailed enough... of course it will send the next
request over a new connection, however either the message being sent or that new
connection need to know 1) that this is a new connection 2) we are in the middle
of NTLM auth, so start at step 3. If this is not handled, you will get in a
loop as your connections are all closed after the first response (having not
continued at step 3 and thus the server HUP'ing the connection).
Yes, I had I had to deal with step 3 and 5 being sent over different conns too :)
Comment 60•23 years ago
|
||
You should also look at the "negotiate" authentication scheme that is
used by newer MS IIS servers. This will replace the old NTLM scheme.
With negotiate auth Kerberos can be used and with it, it is possible
to make authentication from Unix without prompting for userid/password.
So if Mozilla had that, it would be possible for both Unix and MS users
to access pages without having to type in user/password (if you use Kerberos).
The negotiate scheme is describe in IETF draft:
draft-brezak-spnego-http-02.txt (current draft for the moment).
Comment 61•23 years ago
|
||
*** Bug 119472 has been marked as a duplicate of this bug. ***
Comment 62•23 years ago
|
||
An implementation of an NTLM proxy. Note that this also works with Opera v6.0.
Comment 63•23 years ago
|
||
I have seen that proxy and plan on using how it interfaces on Windows to the
NTLM API as how we will but of course in C++ its very good as a temporary single
user solution. Oh yeah and I finally got a computer that can compile Mozilla so
now i can start working on it in ernest...Woot!
Keywords: mozilla0.9.4
Comment 64•23 years ago
|
||
See http://www.geocities.com/rozmanov/ntlm for a Python proxy workaround to
this problem. Version 0.9.7 of this code includes some documentation on the
NTLM protocol as well as a AUTH_DEBUG environment variable that instruments
the NTLM negotiation sequence.
The nice thing about being written in Python is that it's cross-platform
so it works on our Suns.
Comment 65•23 years ago
|
||
*** Bug 124466 has been marked as a duplicate of this bug. ***
Comment 66•23 years ago
|
||
Moving Netscape owned 0.9.9 and 1.0 bugs that don't have an nsbeta1, nsbeta1+,
topembed, topembed+, Mozilla0.9.9+ or Mozilla1.0+ keyword. Please send any
questions or feedback about this to adt@netscape.com. You can search for
"Moving bugs not scheduled for a project" to quickly delete this bugmail.
Target Milestone: mozilla1.0 → mozilla1.2
Comment 67•23 years ago
|
||
*** Bug 130355 has been marked as a duplicate of this bug. ***
Assignee | ||
Updated•23 years ago
|
Status: NEW → ASSIGNED
Target Milestone: mozilla1.2alpha → Future
Assignee | ||
Comment 69•23 years ago
|
||
*** Bug 140353 has been marked as a duplicate of this bug. ***
Comment 70•23 years ago
|
||
*** Bug 140376 has been marked as a duplicate of this bug. ***
Comment 71•23 years ago
|
||
*** Bug 141508 has been marked as a duplicate of this bug. ***
Comment 72•23 years ago
|
||
*** Bug 143302 has been marked as a duplicate of this bug. ***
Updated•22 years ago
|
Keywords: mozilla1.0 → mozilla1.1
Hardware: PC → All
Comment 73•22 years ago
|
||
Is there an ETA on this feature? It still has a target of "future".
We've run into a bunch of cases where the corporate proxy server only supports
NTLM authentication (no more Basic Auth). Hence - no Internet access is
available using Mozilla.
Comment 75•22 years ago
|
||
I work (but only for another couple of weeks) at such a site. Our *&(*&^(*$%^
network maniacs went microsoft-only a few weeks ago and replaced squid with
WebSweeper with NTLM-only authentication. Although the NTLMproxy server has been
installed, it is unsatisfactory:
- http and ftp downloads usually fail to retrieve the last packet. I have seen
this affect .exe, .tar.gz and .pfd files.
- a number of cgis e.g. tinderbox, mozilla cvs log are badly formatted, often
with portions of <a> tags being rendered in the display.
- many larg'ish pages do not 'complete' i.e. the Mozilla 'm' keeps 'waving'
until, I presume, it times out.
IE, directly talking to Websweeper, doesn't suffer these problems.
There are at least two problems:
1. Because it spoofs the connection to look like IE, we get invalid HTML/DHTML
i.e. w/ MS extensions. This is a nasty one and can only be fixed by native
Mozilla support for NTLM.
2. The use of the proxy is less than perfect and can lose the last packet or so
on large transfers.
The net effect is that I am forced to use IE 6 for a number of actions :(
PS. Of course, Netscape 4 suffers the same problems.
Assignee | ||
Comment 76•22 years ago
|
||
i'm going to be ambitious here and say that i'll have time to work on this for
1.1beta ;-)
Target Milestone: Future → mozilla1.1beta
Comment 77•22 years ago
|
||
Darin, go, go :-)
Please keep in mind that NTLM may also be used with SMTP, IMAP, POP and NNTP. It
would be great if you're routines would be reusable for the other protocols.
Comment 78•22 years ago
|
||
*** Bug 150537 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 79•22 years ago
|
||
*** Bug 18891 has been marked as a duplicate of this bug. ***
Comment 80•22 years ago
|
||
*** Bug 150840 has been marked as a duplicate of this bug. ***
Comment 81•22 years ago
|
||
Can someone verify that this problem is also the culprit in bug 151422?
Comment 82•22 years ago
|
||
This may be obvious, but having set up Outlook Web Access in the past, I thought
I'd mention it. Outlook Web Access can be set to use HTTP Basic Authentication,
NTLM Authentication, or both/either. The setup screen muddies the waters a bit
by showing the options as "Basic Authentication" or "Secure Authentication".
Any admin not very versed in Microsoft Newspeak (tm) could easily set their
server up for secure authentication only, figuring that it's more secure.
If so, bugs here could be very server-specific. I personally know Moz had no
issues with Basic Authentication the last time I had to use Outlook Web Access.
Another big question would be whether Outlook handles the Basic+Secure setting
correctly. I don't have the server to test this out with anymore, unfortunately.
Comment 83•22 years ago
|
||
Damn wrong bug. Spam.
Comment 84•22 years ago
|
||
*** Bug 151422 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 85•22 years ago
|
||
wtc: NSS provides DES and MD4 crypto algorithms, right? if so, what's the best
way to expose them to our HTTP implementation? MD5 (and others) are already
available via caps/idl/nsISignatureVerifier.idl... can this be extended? thx!
Assignee | ||
Comment 86•22 years ago
|
||
kaie, ssaux: so i'd like to extend nsISignatureVerifier to provide DES and MD4.
is this possible? wtc tells me that NSS probably doesn't provide MD4 since it
is known to be insecure, but inorder to provide NTLM support we have to use it.
we have a clean-roomed MD4 impl attached to this bug, so we could just use
that. my only concern is that i figure the MD4 code probably can't live in
necko (because of import restrictions in some countries). so, can PSM provide
these crypto algorithms via nsISignatureVerifier? thx!!
Comment 87•22 years ago
|
||
I confirmed that NSS doesn't provide MD4. We did not
include MD4 in NSS because there are known attacks
against parts of the MD4 algorithm. (See Applied
Cryptography, 2nd. Ed., pp 435-436.)
Comment 88•22 years ago
|
||
Darin, we don't have the resources right now with the RTM release to add this to
the PSM code. I'm also worried about adding something to the crypto code that is
known to be breakable.
I'll need to check with a few folks.
Comment 89•22 years ago
|
||
MD4 is a small algorithm, moreover it will never be used by PSM, why not just
adding it inline in the NTLM code?
Comment 90•22 years ago
|
||
Side suggestion:
If an NTLM session tries to use MD4 (once implemented), we could pop up a
separate "insecurity" dialog requesting that you contact the site administrator
and that data may not be secure. Or, at least, override the "lock" icon in the
lower right corner of the window.
Of course, such discussions are best saved for later.
Comment 91•22 years ago
|
||
afaik that's like saying if an ntlm server is NT4, complain. open a npm.necko
thread (i'll gladly ignore it, but you'll be able to have your discussion)
I agree with timeless. We don't display a warning for basic-cleartext, which is
even less secure, so i don't see a reason to display a warning for NTML. But we
should defenetly not lock the lock-icon since NTML doesn't give secure transfers
in any way.
Comment 93•22 years ago
|
||
I think, if the NSS team does not want to add the algorithm, the second best
place would be PSM. This would save us the hassle of having another module that
needs to be handled as export controlled.
However, which directory should the code get added to?
mozilla/security/nss is out.
security/manager/ssl is mostly a C++ wrapper around NSS, and does not seem
logically approriate. It also has some special magic to couple module init to
NSS init, and it disables any services from within that module, if NSS can not
get initialized. So an unavailability of NSS would also mean other algorithms
would not be available, too.
security/manager/pki defines no crypto logic on its own, but contains Mozilla UI
glue code to NSS. It also contains logic embeddors are likely to replace, so we
should not add base logic here.
security/manager/boot is only a lean subset of the crypto UI glue code. We
created it, when we were asked to optimize the startup time. We also have an
open request, to optimize the number of XPCom modules, and we might eventually
move this code over to other Mozilla components, eliminating this module.
While I personally wouldn't have a problem with adding the logic to the
security/manager/boot module, this makes implementing the optimization bug harder.
If our intention is to keep the above logical structure, it would make sense to
start a new XPCom module, and add that as a new directory named (suggestion):
mozilla/security/non-nss
Assignee | ||
Comment 94•22 years ago
|
||
kaie: either way can MD4 be exposed via nsISignatureVerifier, which
nsNSSComponent implements?
Comment 95•22 years ago
|
||
> can MD4 be exposed via nsISignatureVerifier, which nsNSSComponent implements?
I think we can reuse the interface.
But I think, if the implementation of MD4 does not live inside
security/manager/ssl/, a different implementation of this interface should be
used to verify MD4.
I suggest to use a new contract ID for the verification services offered by a
new XPCom module, implemented in
mozilla/security/non-nss
like
"@mozilla.org/non-nss/signature-verifier-service;1"
The netwerk code could know when to ask for the new contract ID (right now only
for MD4), and when to ask for the psm contract ID.
If you want to, I'd say it is fine to use the existing interface
nsISignatureVerifier regardless who implements it. This probably makes life
easier for those modules who need verification services from multiple implementors.
We can add additional algorithm ID constants to the interface. But we need to be
careful when choosing the constants. Currently, function hashBegin takes as an
argument a number, which is directly mapped to NSS's own set of internal
algorithms IDs.
We either must use a different range of numeric identifiers, those which are
guaranteed to get never used by NSS. Or we should ask the NSS team to at least
define and reserve a numeric ID for any algorithm they are not providing and
that the Mozilla team wants to implement on their own.
Comment 96•22 years ago
|
||
*** Bug 152481 has been marked as a duplicate of this bug. ***
Comment 97•22 years ago
|
||
The good and safe workaround for NTLM authorization in IIS Web sites and MS
proxies is using SSL at site/proxy and using user certificates for NT logins
(Certificate Server is required in your domain/AD). See my comments (#44) in bug
35159 for details.
But I hope this bug to be fixed.
Comment 98•22 years ago
|
||
There are no workarounds if your IT administration is hell bent on using only
NTLM for their MS proxy servers. Trying to convince them to upgrade their
security infrastructure to include certificates for everyone, while laudable, is
like hitting your head against a wall. That dog just don't hunt.
Comment 99•22 years ago
|
||
*** Bug 158619 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 100•22 years ago
|
||
not going to make it for moz 1.1
Target Milestone: mozilla1.1beta → mozilla1.2alpha
Comment 101•22 years ago
|
||
This will have to be a Windows-only implementation. You need to go through SSPI
which depends on the OS for the passing of credentials.
White Paper:
http://www.microsoft.com/windows2000/techinfo/howitworks/security/sspi2000.asp
Implementing:
http://msdn.microsoft.com/library/en-us/security/security/initializing_sspi.asp
I recommend that the Severity be changed from enhancement to normal since as of
right now, credentials are being send clear-text without the user knowing otherwise.
Comment 102•22 years ago
|
||
If this ends up being Windows-only, then Platform and OS should be set
accordingly, and bug 151422 will need to be reopened to cover it on Mac OS.
Assignee | ||
Comment 103•22 years ago
|
||
there's no reason to limit this to windows only. we can easily put together a
XP solution. we don't have to reuse microsoft libraries (though we could on
windows if we really really wanted to). the only hard part about this patch is
solving bug 152883, which kai seems to have a good start on.
Comment 104•22 years ago
|
||
There are two big advantages to using a native windows implementation:
1) SSPI can by used to send the credentials of the user running the browser
without any user interaction. In an intranet situation (workstation and
web/proxy server share the same user database) this means seamless
authentication. IMHO, this is usually how windows authentication is used. I am
not sure if Mozilla would be able to grab a hold of these credentials and use
them for network authentication without using SSPI (I doubt it).
2) The first step of an SSPI driven authentication negotiates the
authentication protocol. NTLM is but one possible outcomes. Two windows 2000
machines might choose to use MS's kerebos implementation instead of NTLM. If
memory serves me, it is possible to disable NTLM altogether in a pure windows
2000+ domain, my guess is that then IIS/MS Proxy server will require kerebos
instead of NTLM to authenticate the connection and the solutions proposed in
the bug won't work.
There is obviously a big advantage to having NTLM on non-windows platforms as
well. I do however think that using SSPI on windows would be desireable. I
filed bug 159015 (Implement windows authentication using SSPI) to 'request' ;-)
a seperate windows implementation as well.
Comment 105•22 years ago
|
||
I fully support Darin. NTLM support must be platform independent, for example,
to use it on MacOS behind MS Proxy or to visit sites with IIS authentication
from Linux system.
Using SSPI is, IMHO, not so good idea - I may want to logon to MS Proxy or IIS
with another login, not current at my local PC.
Comment 106•22 years ago
|
||
It should be XP. For Unix I suggest using SAMBAs winbindd (used to provide NTLM
service for PAM, Apache and the Cyrus SASL lib). The drawback is thta Mozilla
will depend on a SAMBA installation. OTOH, who deploys a Linux box in a NT
network certainly uses SAMBA anyway.
Whether it is a good idea to use SSPI on Windows cannot say. But creating our
very own implementation of NTLM could be hard (and will probably not 100%
compatible) so I vote for reusing existing mechanisms.
I am not a Mac guy so I don't know the situation is there. SAMBA will probably
run on OS X, but thatÄs no good for OS 8/9.
Comment 107•22 years ago
|
||
SAMBA exists not on all Unix compatible systems. And if I want to logon in IIS
site over the Internet (not in LAN) - following your logic I must install SAMBA
anyway? Maybe, you think that we must include SAMBA in Mozilla install package?
I hope NTLM support is not so hard thing to relalize it in native Mozilla code -
it implementation in SAMBA and in Python NTLM proxy utility doesn't look as very
complicated issue.
Comment 108•22 years ago
|
||
To avoid coding every available security option into an application, SSPI
enables applications to access dynamic-link libraries containing common
authentication and cryptographic data schemes.
An application implementing SSPI can use any security package available on a
system without knowing details about the security protocols that the security
package implements.
manko's statement - "I may want to logon to MS Proxy or IIS
with another login, not current at my local PC."
If the authentication fails with Kerberos, then it prompts you for credentials
that it passes via NTLM. So you CAN use SSPI on Windows and still use a login
that differs from your Domain account that you login to your PC with.
It would be nice to have NTLM support on the UNIX/Mac side, but there is a
greater need right now with Windows clients to have this ASAP. The methods are
there, and you do not need to worry about hashing with bug 152883 or proxies
or anything like that if you are using SSPI (Re-read my first paragraph).
Comment 109•22 years ago
|
||
If Mozilla is to be a viable alternative to MS products, the Mozilla group must
commit to supporting all of MS Proxy's non-standard quicks in a timely, high
priority, cross-platform manner. Leaving NTLM authentication as a priority 3
enhancement and taking 2 years (and counting) to handle it is the best way I
can think of to encourage the MS folks to add some new blocking "feature" when
you finally get NTLM implemented.
Unfortunately I don't have the expertise to assist with this project, but as a
user stuck behind a corporate MS Proxy server I can tell you that Mozilla's
features, performance and stability don't matter if you can't authenticate.
Comment 110•22 years ago
|
||
In my organization, the timesheet application is behind NTLM on the intranet.
If you don't fill out the timesheet, you don't get paid. Or health benefits for
that matter. The intranet administrators are a hostile entity that cannot be
negotiated with. Our intranet applications slowly become increasingly dependent
on IE-only features. Worse, I work in the most enlightened company in the
region. I can't escape.
Since there seem to be many of us that are interested in this problem, but few
of us who feel qualified to contribute, maybe we could set up a separate mailing
list where we can work this puzzle out together?
Comment 111•22 years ago
|
||
I can help with the SSPI and how authentication works in Windows. I only know
VB and VB.NET, so I wouldn't be too much help in implementing. If you want my
help with the Windows side, SSPI, Domain authentication, I'm here.
Comment 112•22 years ago
|
||
(I'll try to be brief, because many people have heard what I am going to say
here before...)
Mozilla's trunk code base is strongly rooted in XP solutions. Many of the
consumers of the code (who hope to make finished products from the code) work in
XP or non-Windows environments. As such, the general aproach of Mozilla is to
implement, whenever possible, a single, cross-platform solution.
However, Mozilla has obviously added platform features, which I think is a sign
of the code maturity and robustness. Reading Mac OS prefs in Chimera and
Windows-path handling in URL bar are good examples. As such, I think this
dicussion of using a native Windows library is a good idea.
However, this is clearly not what was originally contemplated here, so I suggest
the following: create a new bug that is Windows-only. If you do successfully
create a Windows patch, you will need to make this feature pref-controlled.
Once that bug is fixed, we can resume the debate over which is the better choice
(presumably which would be "on" by default in Windows).
Comment 113•22 years ago
|
||
I'll bug it since I know what is involved on the windows side.
Comment 114•22 years ago
|
||
Windows implementation is now Bug 159215, assigned to mstoltz@netscape.com.
Comment 115•22 years ago
|
||
Correction :)
Windows implementation is now Bug 159015
Comment 116•22 years ago
|
||
This "bug" should be fixed for all platforms. Without it for many people, they
are excluded from small company intranet applications without access to a
browser that can do this NTLM authentication. That is to say they have to have
a windows box. It should be easy to implement stand alone on all platforms.
There is code from SAMBA and a small standalone python daemon that can also be
used as a resource (search for aps097 in google). I know it is an insecure non
standard proprietary authentication protocol, but that shouldn't stop you from
implementing it. My company for example offers Linux users a citrix server to
access windows apps. Great. But then the MSCE certs decided to only allow
access to citrix through a NTLM secured web server. Without recourse to the
python server the Linux users would have been out in the cold. It would all be
a lot easier if it was built into Mozilla.
Assignee | ||
Comment 117•22 years ago
|
||
my plan is still to implement the XP solution outlined in attachment 53556 [details].
Comment 118•22 years ago
|
||
Darin, I agree that attachment 53556 [details] is agood starting point and will provide a
basic implementation. However, MS seems to have a number of various variations
of the protcol plus keeps on adding "enhancements". So on Windows using SSPI
will always provide better support. IMHO the same is true for using
SAMBA/winbindd on Unix. The guys have a natural interest in keeping up with MS.
That said I think, Mozilla should have a fallback XP implementation of NTLM, but
should either use platform dependent code if possible or allow some kind of
plug-in to be used instead. Is there a need for a "Win auth using winbindd" bug?
Comment 119•22 years ago
|
||
NTLM has a two implementatons - v1 and v2. The difference, AFAIK, is only in
encryption algorithm: NTLM v1 uses 56 bit MD4 hash and v2 uses 128 bit MD5 hash.
SAMBA supports both versions.
I think (hope ;) that MS hasn't plans to develope new incompatible NTLM
algorhithms just now - a big park of Windows NT 4 and 2000 servers will demand
backward compatibility still long time.
Comment 120•22 years ago
|
||
NTLM is there for backwards compatibilty. MS Kerberos is used first then NTLM
is Kerberos is unavailable.
Comment 121•22 years ago
|
||
Description of MS Kerberos
http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/windows2000serv/deploy/kerberos.asp
But NTLM is favorite for IIS web-servers in Internet.
Comment 122•22 years ago
|
||
Adding topembed since we got a topsite using this authentication method from the
Latin America evangelism effort.
Keywords: topembed
Comment 123•22 years ago
|
||
*** Bug 160529 has been marked as a duplicate of this bug. ***
Comment 124•22 years ago
|
||
bumping the vote count up to 79.
The wedge has struck here. Our medical school standardized on MSIE a couple of
years ago, and just last week started enforcing that policy by using NTLM-only
on all of our intranet content.
Thousands of users can no longer use mozilla. I code perl for said intranet
and have had to start using MSIE. ;6 <-- that's a "Mr. Yuck" face
At least I'm on MacOS X rather than linux or I wouldn't even be able to use my
OS. Damned wedge. :(
Seconding Martin in comment #77
> Darin, go, go :-)
-matt
Comment 125•22 years ago
|
||
adding nsdogfood on behalf of myself and all others who have been locked out
of our intranets with a switch to IIS and NTML. Well, not entirely locked out,
but not able to get in with mozilla...
-matt
Keywords: nsdogfood
Removing nsdogfood, which is only fed to NS dogs. See the keyword description.
Keywords: nsdogfood
Comment 127•22 years ago
|
||
Darin, what is the next step here.
Assignee | ||
Comment 128•22 years ago
|
||
the next step is for me to finish off the patch i'm working on ;-)
Comment 129•22 years ago
|
||
*** Bug 164879 has been marked as a duplicate of this bug. ***
Comment 130•22 years ago
|
||
*** Bug 165798 has been marked as a duplicate of this bug. ***
Assignee | ||
Updated•22 years ago
|
Target Milestone: mozilla1.2alpha → mozilla1.2beta
Comment 131•22 years ago
|
||
Darin, any update on progress towards resolving this bug?
Assignee | ||
Comment 132•22 years ago
|
||
difficult to find time to work on this patch these days... but i'm still
optimistic about getting this in by moz 1.2 :)
Updated•22 years ago
|
QA Contact: benc → tever
Comment 133•22 years ago
|
||
*** Bug 170754 has been marked as a duplicate of this bug. ***
Comment 134•22 years ago
|
||
*Please* don't create yet-another-bodgy-ntlmssp-implementation...
A *lot* of products are seem to have much of and idea trying the NTLMSPP game on
unix, but very few seem to have much of an idea what NTLMSSP is.
Firstly, the patches I see here seem to miss the point: NTLMSSP is DCE-RPC NDR
encoded. It has muliple negotiation flags, and is quite a 'general' protocol.
In particular, the flags presented by ISS is not the same as persented by
exchange, or their SMB server. So creating a 'this is what I saw on the wire'
implemeation will probably break.
I have a spec out on solving this (for unix platforms, server side), see:
http://lists.samba.org/pipermail/samba-technical/2002-September/039255.html
and I think the client can be solved in a similar way.
For windows systems, using the SSPI is the *much* prefered method.
Please keep in touch with the Samba Team on these issues!
(BTW, there is LGPL MD4 at mhash.sf.net)
Andrew Bartlett
Comment 135•22 years ago
|
||
Filed a new bug on supporting NLTMSSP on Unix with winbindd.
Added the to the blocker list, though I think it should be listed with #159015
as a dependency.
Blocks: 171500
Comment 136•22 years ago
|
||
It sounds like you're already past the point where this would be of help, but
just in case, here's a perl module that does NTLM
http://search.cpan.org/dist/Authen-Perl-NTLM/
distributed under the same terms as perl itself
namely:
http://www.perldoc.com/perl5.6.1/Artistic.html
-matt
Assignee | ||
Comment 137•22 years ago
|
||
not going to make it for mozilla 1.2
Target Milestone: mozilla1.2beta → mozilla1.3alpha
Assignee | ||
Comment 138•22 years ago
|
||
*** Bug 149842 has been marked as a duplicate of this bug. ***
Comment 139•22 years ago
|
||
I don't mean to sound ungreatful or anything, but can somebody please let us
poor users who are stuck behind NTLM-only proxy servers know what's holding
this up? Surely 3 years and half a dozen sample implementations in other
languages should be enough to get this done.
Assignee | ||
Comment 140•22 years ago
|
||
it has unfortunately taken a back seat, but i'm hoping (cross your fingers) to
have time to work on it soon.
Comment 141•22 years ago
|
||
I think the priority must be set more high !
Comment 142•22 years ago
|
||
With 134 votes this bug is among the top 10 as voted by users. Yet priority is
still P3. Seems like a disconnect to me.
From my experience, I can tell you that NTLM is very popular because it provides
transparent authentication with high security. Most major sites on my company's
intranet use it, some exclusively. Users can't use Mozilla if NTLM is the only
authentication mechanism allowed by an intranet site. And if basic
authentication is allowed as a backup, users are prompted to authenticate every
time. All this quickly discourages users from using Mozilla.
Comment 143•22 years ago
|
||
*** Bug 179521 has been marked as a duplicate of this bug. ***
Comment 144•22 years ago
|
||
I told some of my coworkers how proud I was to remove Microsoft products from
the dock (OSX). Because of this problem, explorer is back. Like some others,
NTLM is used in my department and I need access. Please make this high priority.
Comment 145•22 years ago
|
||
llichtor,
see bug 35159 comment 36 and bug 35159 comment 44 to workaround your troubles.
Comment 146•22 years ago
|
||
is there a workaround for NTLM digest authentication in IIS?
<deleted>(why I hate having to use MSIE to debug CGI scripts at work)</deleted>
-matt
Comment 147•22 years ago
|
||
There are 2 workarounds for NTLM authentication.
1. Basic authentication. Simple in use, but unsafe for non-SSL connections. SSL
(https://) connections are safe because plaintext password is being sent in
already encrypted TCP packet. For more information see:
http://www.microsoft.com/windows2000/en/server/iis/htm/core/iiauths.htm#enablebasic
You must specufy default NT domain in IIS settings for plain username. If
default domain is omitted or you want use login from another NT domain, use
"DOMAINNAME\username" in login field at authentication dialog window.
2. Using certificates mapped to NT accounts. This is SSL-only feature, but very
useful and secure. See:
http://www.microsoft.com/windows2000/en/server/iis/htm/core/iicerts.htm?id=90
Certificates issued by Windows-based certification root, must be exported on
PKCS #12 format then imported in Mozilla, see also bug 35159 comment 44.
Comment 148•22 years ago
|
||
Sorry "manko", but any "workaround" that forces the IT organization to change
their configuration of the proxy server or their web servers is not a
workaround. The only available workaround must be performed by the browser or
under the browser user's control. Even an accommodating IT organization such as
ours draws the line on this.
Comment 149•22 years ago
|
||
Brian, we use Mozilla as standard browser in our company instead of MSIE for
security reasons. And I consider that webmasters and system administrators must
do not ignore Mozilla users. Moreover sysadmins IMHO must encourage using
Mozilla at workplaces thanks to it safety and traffic savings - attempt to
convince your sysadmin by this arguments.
Of course, this bug must be fixed, but if your webmaster or proxy administrator
can add Mozilla support just now, I see no reasons for disregarding.
Comment 150•22 years ago
|
||
Sorry - not disregarding anything. But many sysadmins (including our own) refuse
to "turn on" basic authentication for any reason. They've got it in their head
that this is the most secure means to restrict access to systems within their
network in the most secure means.
I can talk til I'm blue in the face about what is or isn't more secure. They
won't change their mind for a handful of mozilla users who have broken ranks
with the corporate standard.
This plays out all over corporate America everyday.
So, every release when this bug gets deferred to the next release (it's happened
at least 3 times), mozilla goes another release where it can't be easily used in
the office.
For me, the only way around it today is to install a proxy server on my PC and
route all traffic through it, even though I only need it for a handful of
corporate servers. Obviously, if it were a proxy server that was blocking my
way, it (separate proxy) wouldn't seem to be such a waste of resources.
Assignee | ||
Comment 151•22 years ago
|
||
and yet NTLM use weak crypto algorithms... lovely ;-)
Comment 152•22 years ago
|
||
Stop making this political and just start working on the bug.
Comment 153•22 years ago
|
||
Missing the point again. Crypto strength does not matter. The predominant
attitude in IT administration is set - you can't change it.
I've had arguments with sysadmins who argued that telnet was more secure than
rlogin because rlogin might have a password passed in the clear (he read that
somewhere). Never mind that so did telnet. Or the argument from a different
admin who wouldn't let us use SSH because SSL was more secure.
It makes no sense. IT makes no sense. You can bludgeon your head against the
wall for years and it won't ever make sense.
This is a top-10 problem for Mozilla but it never gets fixed. I can only presume
it's personally distasteful for Mozilla developers to fix.
Comment 154•22 years ago
|
||
Top-10? This bug is probably somewhere in the Top-1 bugs affecting Mozilla's
usability.
Comment 155•22 years ago
|
||
The severity was set as an Enhancement in Jan of 2000, can it please be
changed to Normal.
Darin, where are you on this? Please post your progress or what you need help
with. If you don't have the time to work on this and don't consider it serious
enough, assign it to someone else.
Assignee | ||
Comment 156•22 years ago
|
||
> I can only presume it's personally distasteful for Mozilla developers to fix.
this is by far the most moronic thing i've ever heard. get a grip man!!!
everyone wants this to be fixed, including me (the person who will most likely
do the work).
i understand how important this is to many many users. it is important to the
mozilla project and to netscape, but so are a huge pile of other bugs.
the only reason this bug has been delayed is because it is difficult to fix.
several folks have attempted to fix it, but have given up after they realized
just how much work is involved.
it will take a good couple of weeks to fix this bug, and right now i am being
paid to work on other things. if someone else wants to own this bug, please let
me know. otherwise, comment #140 still holds.
if you have further comments that are NOT constructive please find an
appropriate mailing list or newsgroup instead. let's please PLEASE cut out the
useless chatter in this bug report. thanks!
Assignee | ||
Comment 157•22 years ago
|
||
> The severity was set as an Enhancement in Jan of 2000, can it please be
> changed to Normal.
why? enhancement is not less than normal. enhancement means that this is an
addition to the mozilla feature set. the severity level is correct.
Comment 158•22 years ago
|
||
>why? enhancement is not less than normal. enhancement means that this is an
>addition to the mozilla feature set. the severity level is correct.
This is not a feature request, this is a loss of function where there is not an
easy workaround present. Users can not access the site at all, there is no way
for them to get to the site no matter what workaround the client tries to do. I
would think this falls between Major and Minor. It should be changed to Normal.
Comment 159•22 years ago
|
||
The severity must be set to BLOCKER
because it blocks hundreds of thousands people all over the world off
from using the Mozilla Browser !
Comment 160•22 years ago
|
||
Greetings.
I think I will have to side with the many that complained for the apparent
stagnation of the activity surrounding this bug.
It looks to me that a very clear and important business case exists for this to
be fixed - it is a missing feature that unnecessarily restrict the browser's
user base, something that should be important to the Mozilla project.
Makes one wonder what can be so much more deserving than this to prevent
allocating the time and resources needed for about three years time, 144 votes
and more than 160 comments.
Comment 161•22 years ago
|
||
To all those complaining about the progress of this bug:
This is not an easy bug to fix, certianly not properly. It is easy (as has been
demonstrated) to create nice intel-only works-for-me solutions to this problem.
It is *much* harder to create a sufficent implemention of NTLMSSP to actually
cope with the range of MS (and other!) servers that this will encounter.
Furthermore, depending on the implementation, it might not solve your problems
anyway! Until the SSPI version is implemented (which should be the easier of
the two to tackle) you will not get 'no password prompt' stuff anyway.
There are also serious security issues to be addressed: Microsoft uses their
'internet security zones' to determine where they should send an NTLM password.
Mozilla must do the same, becouse otherwise there are *serious* security risks.
(NTLMSSP is easily used in a MITM attack, and brute forcing an LM hash is quite
cheap these days.)
Netscape and Mozilla have never shipped with support for this method of
authentication, a scheme that breaks all the relevent RFCs, so while I can
understand people wanting bugs 'upgraded', this is an enhancement, and is
certainly not a show-stopper. (Which would imply loss of functionaliy, IMHO).
In the meantime, there are workarounds for those stuck in this situation.
Finally, for those with time to develop this area, the ethereal network sniffer
decodes NTLMSSP over HTTP, and I intend to get some Samba-side stuff done that
would allow the use of some Samba code in solving this unix-side.
Andrew Bartlett
Samba Team
Comment 162•22 years ago
|
||
OK, at about comment 160 I begin to think a bug has gotten out of hand.
Please do not post any comments to this bug unless you have working code to fix
this problem. Darin has on numerous occasions (most recently comment #156) said
that he has this bug planned, but is being paid to fix other more important bugs
at the moment. When the time comes, he will focus on this.
If you want to try to fix the bug, please do so. There is (believe it or not) a
lot of useful information in this bug to help you.
If you want to whine, you should do it in the newsgroups
(netscape.public.mozilla.browser would be a good try) or you can submit requests
to Netscape at http://channels.netscape.com/ns/browsers/7/feedback/default.jsp
Perhaps then you can affect which bugs Darin gets paid to work on. :-)
Whiteboard: DO NOT SPAM read comment #162 before posting
Comment 163•22 years ago
|
||
I've been trying to stay out of this, as I've been following this bug for
about a year now, but I've got a few things on my mind.
I understand where the developers and such are coming from on the fact that
this is time consuming, and I understand that they have to meet the needs of
the users with what is feesable.
But, this missing feature/bug (depending on ones point of view) is costly to
NS and to Mozilla. How can you expect this to be used by the masses when it
doesn't fully support existing technology. And why is it that this bug has
been here nearly 3 years without anything but "low priority" as a comment from
the netscape crew? Unfortunately, the ostrich syndrom that surrounds this bug
isn't going to help Mozilla, it is ultimately going to hinder it.
Regardless of what they think, NTLM isn't going away. Not that I can see.
Why not take a bite of humble pie, get this fixed, and move on to bigger and
better things, like tackling the other bugs out there.
If I was proficient enough in the language, I'd certainly offer my services,
but I'm not. If this were fixed, then IE would have a serious threat posed
against it.
Comment 164•22 years ago
|
||
Contribute code or money, or please for the sake of whatever deity you hold holy
shut up.
Comment 165•22 years ago
|
||
And nothing like Comment 164 proving my point exactly. Remarks telling people
to "contriube code/money or shutup" are not the type of things that this
project is about.
Just because I don't contribute code or money does not make my points have any
less value than yours. Every time I launched Mozilla it tells me "This means
that you've volunteered to become part of the Mozilla testing community.
Great! Welcome aboard. Helping out won't take much of your time, doesn't
require special skills, and will help improve Mozilla."
I'm trying to help improve Mozilla, but it's hard to help improve when
feedback by users is ignored, and taken with a grain of salt. I am a
developer by day. I know what it means to have users asking for features, and
giving feedback on current features. But I don't get a RFE/Bug and say "Oh,
we'll look at it in about 5 years". That's very bad practice for a
developer. The attitude that i've observed is that users feedback doesn't
mean squat in your eyes, Andrew.
You don't have to write code to contribue feedback to the project...like it
says in the quote I pasted "helping out doesn't special skills".
Comment 166•22 years ago
|
||
I see some of the delays in this bug as resulting from bug 74246 and bug 152883
but in at least bug 74246's case, there's a feedback loop (bug 23679 isn't
moving, so bug 74246 won't move ...).
For many reasons (which I vote for in my bug votes) I can't deploy Mozilla as
the primary browser in the businesses I consult for. However, it seems people
are willing to put time into implementing tabbed browsing and/or banner
blocking. I'm glad these people contribute code, but some of the features
Mozilla lacks (like NTLM authentication) require people with good Mozilla &
coding experience and I hope those people are willing to at least get their feet
wet in it at some point.
Did anyone else notice that bug 159015 also depends on this bug, even though it
was pointed to expressly because its solution could be developped astride of
this one's?
PS, Anyone openened a bug for .NET authentication yet? :-) Better get started
early.
Keep up the good work, even if its another 3 years ...
Comment 167•22 years ago
|
||
See: http://www.luigidragone.com/networking/ntlm.html
for a supposedly "100 Pure Java" implementation of the MS NTLM authentication
protocol offered under the GNU GPL. I'm not a C or Java programmer so I can't
vouch for the accuracy or completeness of this code, but it might provide a
means of getting NTLM authentication into a Java enabled Mozilla browser
reasonably quickly.
We've been stuck behind an NTLM-only MS Proxy server for the past three years
and have had switch away from Netscape onto MS Internet Explorer running on
Solaris (yuck). Since MS recently discontinued this product, we're about to be
left in the lurch.
Comment 168•22 years ago
|
||
That page does not work for me, but here is the google cache:
http://www.google.ca/search?
q=cache:h2HCA2EommYC:www.luigidragone.com/networking/ntlm.html+&hl=en&ie=UTF-8
Comment 170•22 years ago
|
||
Hi,
Sorry, a little new to the Bugzilla etc world (including Multizilla for me).
I find your comment Darin a bit cryptic (um so to speak).
-> 1.3 beta
Does that mean it's going in now? Yesterday's 12/3 build? (Was before the
time of your post so probably not). So maybe today's build 12/4?
Or is this just an indication that you think it'll be in there sometime with
1.3 beta?
Looking forward very much to getting NTLM and appreciate all the work of the
programmers who've made a much superior product to IE (sorry if that seems faint
praise).
thanx.
pat
Comment 171•22 years ago
|
||
*** Bug 183972 has been marked as a duplicate of this bug. ***
Comment 172•22 years ago
|
||
NTLM also need to make it into the installer, I couldn't install NS7.01 today
because the installer couldn't get through the proxy.
This means that any web-development work I do won't be tested against NS7.01,
and therefore may only work with IE and older NS/Moz browsers.
Comment 173•22 years ago
|
||
Don't want to add too much to the spam, but the 1.3 beta tag means that he will
try to get an implementation in sometime during the 1.3 beta which realistically
means before the feature freeze for 1.3. When is the feature freeze for 1.3?
According to the roadmap it scheduled for the end of January next year, so anytime
Comment 174•22 years ago
|
||
A full installer for Netscape 7.01 is available.
http://wp.netscape.com/download/full_install.html
Comment 175•22 years ago
|
||
Rozmanov's utility (NTLM proxy, written in PHP) can be download from:
http://www.http-tunnel.com/aps098.zip
Freshmeat/Geocities URLs are outdated.
Comment 176•22 years ago
|
||
In the Comment #175 I made a mistake: That proxy -- of course -- written in
Python, not PHP...
Comment 177•22 years ago
|
||
*** Bug 187800 has been marked as a duplicate of this bug. ***
Comment 178•22 years ago
|
||
*** Bug 189170 has been marked as a duplicate of this bug. ***
Assignee | ||
Updated•22 years ago
|
Target Milestone: mozilla1.3beta → mozilla1.4alpha
Comment 179•22 years ago
|
||
*** Bug 190530 has been marked as a duplicate of this bug. ***
Comment 180•22 years ago
|
||
Can we have any news about mozilla ntlm implementation? Thanks a lot
Comment 181•22 years ago
|
||
Hi there, yes, I too am keen to find out whether NTLM support will make it into
1.3. Currently using 1.3b and its great! Probably the best Moz ever, just shy
of NTLM support ... :-(
Comment 182•22 years ago
|
||
There is no way that this bug will make it for 1.3. No patch was checked in, I
don't even know if anyone is actively working on this.
Comment 183•22 years ago
|
||
If you must have NTLM right now, and are running windows, have a look at bug
159015 , which has a preliminary patch.
Apologies to anyone that already knows this.
Assignee | ||
Comment 184•22 years ago
|
||
*** Bug 198323 has been marked as a duplicate of this bug. ***
Comment 185•22 years ago
|
||
*** Bug 198819 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 186•22 years ago
|
||
topembed- per edt@netscape.com
Assignee | ||
Updated•22 years ago
|
Priority: P3 → P5
Target Milestone: mozilla1.4alpha → Future
Comment 187•22 years ago
|
||
Brilliant - thank you !
Mozilla Works for me under Mozilla 1.4b
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4b) Gecko/20030507
we have a W2K with Microsoft ISA proxy doing NTLM auth.
Goodbye to the Python proxy !
:-)
darren.
Comment 188•22 years ago
|
||
Is there a problem with WWW-Authenticate: Negotiate NTLM?
I use: Mozilla 1.4b
Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4b) Gecko/20030507
I do not see a pop-up, but instead immediately get:
"HTTP 401.2 - Unauthorized: Logon failed due to server configuration
Internet Information Services"
I connect to the IIS server over the Internet (I am at home and the server at
work). In IE the expected pop-up appears and I can connect.
On the server only "Integrated Windows authentication" is enabled.
Headers from LiveHTTPHeaders:
http://the.server.domain/app/admin.asp
GET /app/admin.asp HTTP/1.1
Host: the.server.domain
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4b) Gecko/20030507
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
HTTP/1.x 401 Access Denied
Server: Microsoft-IIS/5.0
Date: Fri, 09 May 2003 17:00:28 GMT
WWW-Authenticate: Negotiate
NTLM
Connection: close
Content-Length: 4431
Content-Type: text/html
Comment 189•22 years ago
|
||
Regarding comment 188:
It would appear that the WWW-Authenticate header is continued to the next line
without a preceeding white space character. That violates RFC 822, RFC 1945, RFC
2068, and RFC 2616. Of course, mozilla does it, too (bug 205078).
Is there anyway you could get the hex values of the output and post that? I
would guess IIS is delimiting continued lines with a "\n" and ending headers
with "\r\n". Making mozilla support that would probably then fail with some
otherwise broken servers and scripts, though (things that send "\n" rather than
"\r\n" when they meant end-of-header). I wonder what IE does.
Also, a similar but slightly different problem: mozilla doesn't handle multiple
authentication types listed on a single line. Mozilla won't handle it, but it is
valid to do:
WWW-Authenticate: Basic realm="foo" Digest realm="bar"
Comment 190•22 years ago
|
||
Running IE and accessing the IIS server.
From tethereal -x -i eth0 'port 80':
5 0.148392 ip.from.my.server -> ip.to.my.client HTTP HTTP/1.1 401 Access
Denied
0030 fa 2a a3 6e 00 00 48 54 54 50 2f 31 2e 31 20 34 .*.n..HTTP/1.1 4
0040 30 31 20 41 63 63 65 73 73 20 44 65 6e 69 65 64 01 Access Denied
0050 0d 0a 53 65 72 76 65 72 3a 20 4d 69 63 72 6f 73 ..Server: Micros
0060 6f 66 74 2d 49 49 53 2f 35 2e 30 0d 0a 44 61 74 oft-IIS/5.0..Dat
0070 65 3a 20 46 72 69 2c 20 30 39 20 4d 61 79 20 32 e: Fri, 09 May 2
0080 30 30 33 20 32 31 3a 34 34 3a 32 39 20 47 4d 54 003 21:44:29 GMT
0090 0d 0a 57 57 57 2d 41 75 74 68 65 6e 74 69 63 61 ..WWW-Authentica
00a0 74 65 3a 20 4e 65 67 6f 74 69 61 74 65 0d 0a 57 te: Negotiate..W
00b0 57 57 2d 41 75 74 68 65 6e 74 69 63 61 74 65 3a WW-Authenticate:
00c0 20 4e 54 4c 4d 0d 0a 43 6f 6e 6e 65 63 74 69 6f NTLM..Connectio
00d0 6e 3a 20 63 6c 6f 73 65 0d 0a 43 6f 6e 74 65 6e n: close..Conten
00e0 74 2d 4c 65 6e 67 74 68 3a 20 34 34 33 31 0d 0a t-Length: 4431..
00f0 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 Content-Type: te
0100 78 74 2f 68 74 6d 6c 0d 0a 0d 0a 3c 21 44 4f 43 xt/html....<!DOC
Or in plain ascii:
WWW-Authenticate: Negotiate\r\n
WWW-Authenticate: NTLM\r\n
Is there a way to configure NTML to make mozilla work? Is Comment #187 just for
a proxy? What are the testcase in mozilla for NTML? Mozilla support for NTML is
on the first page of mozilla.org.
Comment 191•22 years ago
|
||
Regarding Comment 188
I have reported the 401.2 Error with IIS at #200520 as a separate bug report.
I'm using an IIS with Integrated Windows Authentication at my workplace, and
it is doing the exact behavior that you are experiencing.
Assignee | ||
Comment 192•22 years ago
|
||
>It would appear that the WWW-Authenticate header is continued to the next line
>without a preceeding white space character. That violates RFC 822, RFC 1945, RFC
>2068, and RFC 2616. Of course, mozilla does it, too (bug 205078).
no! you are seeing the results of the way necko coalesces multiple
WWW-Authenticate response headers. the \n is completely fabricated by necko for
internal reasons (because some sites insert ',' into their realm).
Assignee | ||
Comment 193•22 years ago
|
||
NTLM is disabled if PSM is not installed. please verify that you have PSM
installed.
Comment 194•22 years ago
|
||
Installed Mozilla 1.4b on a Win98 that never have had mozilla installed before.
Basic auth works, https: works (is that enough to be sure that PSM is installed?).
NTLM just gives me HTTP 401.2 - Unauthorized directly, no pop-up for entering
username, etc.
Can this be related to just Win98 then? Comment 187 means it works on WinXP?
Comment 195•22 years ago
|
||
1.4b works fine on NT 4 sp6, but not on Windows 98. I'm getting the box with password and login
on NT, but it's not poping up on 98 and I'm getting the same error Morgan received.
I'm testing this out on VirtualPC in two (one NT & one 98) VPCs and on two other systems in the
same setup.
Comment 196•22 years ago
|
||
1.4b works fine on NT 4 sp6, but not on Windows 98. I'm getting the box with password and login
on NT, but it's not poping up on 98 and I'm getting the same error Morgan received.
I'm testing this out on VirtualPC in two (one NT & one 98) VPCs and on two other systems in the
same setup.
Comment 197•22 years ago
|
||
The current nightly builds work for WinXP, but still fail on Win98 for an ISA
proxy with NTLM enabled.
Comment 199•21 years ago
|
||
*** Bug 207471 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 200•21 years ago
|
||
*** Bug 35159 has been marked as a duplicate of this bug. ***
Comment 201•21 years ago
|
||
Comment 202•21 years ago
|
||
Should I open a bug against the web site and release notes that report NTLM as
functional as of 1.4 (I get a basic auth prompt indicating NTLM Auth failed)?
This feature still looks to be a work in progress...
Comment 203•21 years ago
|
||
Re: comment 202: please provide more information about your setup in the future.
There are known limitations on the NTLM support, and the release notes specify
this. Useful information includes your version of mozilla (from about:) and
your operating system (platform and version, e.g. RedHat Linux 9.0 on PC, Win2K,
etc.).
If you are using Mozilla 1.4 on Windows, please file a new bug with details
about your setup. If you are not using Mozilla 1.4 on Windows, please re-read
the release notes, where it mentions that support is currently only available on
Windows.
Comment 204•21 years ago
|
||
*** Bug 213278 has been marked as a duplicate of this bug. ***
Comment 205•21 years ago
|
||
When will NTLM auth come to non-windows builds? I'm thinking talking through
SAMBA, perhaps, for Unix builds?
Does anyone know if this is underway, if a plugin exists on MozDev, or if it is
unfeasible because of some reason?
If I were to try and do this myself is there anyone I can talk to who could
advise re: the NTLM auth protocol?
Thanks,
Manik
Comment 206•21 years ago
|
||
In the release notes for Mozilla 1.4.1 I found that windows builds now supports
windows NTLM authentification. I'm not sure that I understand correctly what it
is, but I hope it's so. In my work office installed MS ISA firewall and proxy
with authentification.
So, when the first mozilla window opened and accessed to any web-site I have to
enter my login and password which is the same I used when logging in windows.
This is very inconveniently you know. I cant even save this login+password in my
mozilla profile. But MS IE somewhat doesn't require such authorization but
working fine.
So, is NTLM auth is what I need? If yes, why Mozilla 1.5 doesn't seemes to
support it?
About my system: Windows XP Professional/Eng, Mozilla 1.5-Win32.
Assignee | ||
Comment 207•21 years ago
|
||
this bug is fixed. see bug 224653 for details. here's a quick summary:
o starting with mozilla 1.6 beta, it should be possible to connect using NTLM
authentication on all platforms. note: NTLM is currently only supported
for HTTP or HTTPS.
o it is not supported when FIPS mode is enabled (because it uses MD4).
o the SSPI based WIN32 implementation has been dropped in favor of the new
cross-platform implementation. we had too many bugs with SSPI crashing on
older machines. if possible, i'd therefore like to avoid SSPI altogether.
however, i'm willing to entertain the possibility of adding it back under
certain conditions if it proves valuable.
o the new implementation attempts to negotiate the preferred NTLM2 session
key mode whenever the server supports it. this improves security.
o as with the previous SSPI based implementation, mozilla does not
automatically send username, password, and domain (based on the user's
WINNT logon) since we feel that that is a security risk. in a future
version we may eliminate this restriction for proxy authentication.
Comment 208•21 years ago
|
||
Is there any possibility to disable NTLM authentification ?
We have a lot trouble with bad configured MS-Webservers.
These sites are not accessable since mozilla 1.3 because Mozilla now
tries NTLM and fail.
But basic authentification works well.
sorry for commenting a fixed bug
Assignee | ||
Comment 209•21 years ago
|
||
d. oertel: please see bug 226456. with more recent builds of mozilla you can
actually cancel the NTLM auth prompt, and then you will be presented with the
Basic auth prompt. this allows users to get around bad NTLM servers. the
downside is that we don't tell users that this is happening. our auth prompts
don't inform them of the security level :(
Comment 210•21 years ago
|
||
showing the type of authentication in the dialog is bug 115500, btw
Comment 212•11 years ago
|
||
Isn't this, like, fixed long ago? It's marked as RESOLVED FIXED but apparently still active!
Comment 213•2 years ago
|
||
NTLM over http is using HTTP persistent connection or http keep-alive.
A single connection is created and then kept open for the rest of the session.
If using the same authenticated connection, it is not necessary to send the authentication headers anymore.
This is also the reason why NTLM doesn't work with certain proxy servers that don't support keep-alive connections.
Comment hidden (collapsed) |
You need to log in
before you can comment on or make changes to this bug.
Description
•