Fórum

RE: Non-domain NTLM Authentication

Robert Zahm, modificado 16 Anos atrás.

Non-domain NTLM Authentication

Junior Member Postagens: 46 Data de Entrada: 08/10/07 Postagens Recentes
I was able to get NTLM working so that an instance of IE from a domain account passes the username through without prompting the user. However, I ran into issues when trying this from non-domain instances of IE and other browsers such as FireFox. These browsers pop up username and password dialogs as they should. However, it doesn't matter what I enter in as the password, it always authenticates the username that I enter. This is obviously a very large security hole, am I doing something wrong?

Thanks,

Rob
Robert Zahm, modificado 16 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 46 Data de Entrada: 08/10/07 Postagens Recentes
Anyone have any ideas on this? Am I doing something wrong, or is this a hole in the NTLM security component?
Robert Zahm, modificado 16 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 46 Data de Entrada: 08/10/07 Postagens Recentes
Can anyone tell me if this sounds like an issue with my configuration, or if this is a bug?

Thanks,

Rob
thumbnail
Jorge Ferrer, modificado 16 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hi Robert,

I've never used this functionality but as nobody else in answering I'd like to, at least, try to guide you on how to find the root problem.

The NTLM functionality is implemented through two clases. The first one is NtlmFilter which can be configured through properties in portal(-ext).properties:

    ntlm.auth.enabled=false
    ntlm.auth.domain.controller=127.0.0.1
    ntlm.auth.domain=EXAMPLE


This filter reads the HTTP Authentication headers and act accordingly. If it decides the user should be authenticated it leaves an attribute in the request.

The second class is NtlmAutoLogin. This class is responsible for the login and tries to authenticate the user If it finds in the request the attribute left by the filter.

I hope this info. helps you get started debugging the problem.
thumbnail
Bruno Farache, modificado 16 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Master Postagens: 603 Data de Entrada: 14/05/07 Postagens Recentes
Hi Robert, what you mean and you say "non-domain instances of IE"? The user is accessing outside the domain?
Robert Zahm, modificado 16 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 46 Data de Entrada: 08/10/07 Postagens Recentes
Thanks for the info, we have worked around this issue for the time being, but I am hoping to be able to revisit it, as allowing proper logins will make life much simpler for us.

What I've found is that NTLM works great for IE browsers where the user has logged into the domain. For machines outside the domain (including non-domain machines, users logged in to machines using local accounts and for Firefox), I have found that it prompts me for a username and password, and then simply signs me in with the username without actually validating that the password is correct.

The "non-domain" machine isn't really a big deal, I was just questioning whether or not the password was actually being validated.

Thanks,

Rob
Scott Dale Westbrook, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 14 Data de Entrada: 11/02/08 Postagens Recentes
Unfortunately I am experiencing the same issue with using NTLM. Using an IE browser on the domain that has the Liferay portal (5.1.1) as a trusted or intranet site will login automatically once the user selects "Sign In" from the Dock menu without prompting.

However Firefox and Chrome will prompt for a username/password which isn't a problem. However any password is accepted and the user is logged in. If the user has never logged in before, their information is loaded via LDAP.

If the user logs in using the Sign In portlet, the user's credentials are validated correctly with LDAP.
thumbnail
Luca Costa, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 72 Data de Entrada: 05/03/08 Postagens Recentes
Same problem on liferay 5.2.1 + LDAP + NTLM:
password is not checked.

problem is solved?

Luca
thumbnail
Jonas Yuan, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Master Postagens: 993 Data de Entrada: 27/04/07 Postagens Recentes
Any update on this issue?
thumbnail
Jonas Yuan, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Master Postagens: 993 Data de Entrada: 27/04/07 Postagens Recentes
Just testing, it popped up a window for inputs of user name and password in FireFox 3.0.7 and IE 7.0.

The password is not checked ....

It seems that the users are not imported properly ....
thumbnail
Luca Costa, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 72 Data de Entrada: 05/03/08 Postagens Recentes
I have same problems, if you successfully connect with your AD,
(select AD, reset, test all three LDAP test button,
I can see users, if you cannot see them I thin your AD is different from standard, mine goes immediately well)

just check "import at startup" and restart server.
Now users and groups should be in your server (I know, not the best, but works).

Now the other 2 points will remain:
I cannot automatically get in with IE7/FF when I'm in the domain,
always I have a user /password request, and password is not checked.

Luca
thumbnail
jerin jacob, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 11 Data de Entrada: 23/03/09 Postagens Recentes
Any Fix for Non-Domain NTLM authentication ???? or any way to get around this problem ???
thumbnail
Jonas Yuan, modificado 15 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Master Postagens: 993 Data de Entrada: 27/04/07 Postagens Recentes
Hi Jerin,

This issue was fixed. You can refer to wiki page:

http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Integration+with+NTLM+plus+ADS

Hope that it helps.

Thanks

Jonas Yuan
Roman Orfinyak, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 2 Data de Entrada: 30/04/09 Postagens Recentes
Jonas Yuan:
Hi Jerin,

This issue was fixed. You can refer to wiki page:

http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Integration+with+NTLM+plus+ADS

Hope that it helps.

Thanks

Jonas Yuan


Jonas, which issue you're referring to as fixed? I still see the bug in Jira LPS-2032 as open.

Also would like to stress that the problem is really severe both for non-domain and for domain NTLM authentication. A user can login to a portal knowing only user names of other users even if he is using IE which is domain. This can be done if one goes to the Tools -> Internet Options -> Security -> Choose a zone in which your site is -> Custom Level -> At the bottom of the page choose the radio button 'Prompt for user name and password'.

This will tell IE to give you a user name/password dialog box each time you enter the site with NTLM authenticaton configured. Knowing the user names of users one can login to the site *SUPPLYING ANY PASSWORD*.

Any feedback from Liferay community would be welcome.

Regards,
Roman.
thumbnail
jerin jacob, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 11 Data de Entrada: 23/03/09 Postagens Recentes
HI Roman ,
You are exactly into the problem I am facing ..................

Any work around for this ............... Is there any alternate way so that we fix it ...........

Thanks
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
i though i the only one facing this. will update you all if i found anything. any update so far on this?
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
trying to troubleshoot on this..
maybe we can disucss on this.. from information that i have. ntlmfilter using ntlmssp to get user credential . in order to fix this, we need to getPassword() and compare it right? each time i do getPassword(), i will get null . any findings you folks wanna share ?
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
Hello Gurus,
after dig here and there... i think i came out a fix and i want to get feedback from all of you .

I edited ntlmfilter.java file , search for keyword "ntlm = NtlmSsp.authenticate(request, response, challenge);" then below this line, i add



  try{
            SmbSession.logon(uniAddress, ntlm);

           }
           catch( jcifs.smb.SmbException smbE){
               //only print brief error and skip
              _log.error("smbSession.logon error logon credential");
              return null;
           }



now, if the ntlm pop up appear , you enter wrong password, u will not be allow to log in . and foward to blank page . maybe forward to blank page is not a good idea. any suggestion ? maybe you folks can give me feedback . if this is the fix to the problem. can someone put this in SVN. your feedback is needed, so that i can comment something in issues.liferay.com on the bug reported
Roman Orfinyak, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 2 Data de Entrada: 30/04/09 Postagens Recentes
cometta cometta cometta:
Hello Gurus,
after dig here and there... i think i came out a fix and i want to get feedback from all of you .

I edited ntlmfilter.java file , search for keyword "ntlm = NtlmSsp.authenticate(request, response, challenge);" then below this line, i add
....


hi Cometta,

We actually also came to that fix. It is working for us now.
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes


portal-impl/src/com/liferay/portal/servlet/filters/sso/ntlm/NtlmFilter.java
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
download the source code . i'm using 5.2.2
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

Re: [Liferay Forums][5. Portal Framework] RE: Non-domain NTLM Authenticatio

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
in production u will only find the class file. i not sure it inside with jar. but if you compile everything from source it should work . good luck




________________________________
From: Rathish R from liferay.com <no-reply@liferay.com>
To: "mb.239391.3299211@events.liferay.com" <mb.239391.3299211@events.liferay.com>
Sent: Thursday, June 11, 2009 12:54:26 PM
Subject: [Liferay Forums][5. Portal Framework] RE: Non-domain NTLM Authentication <mb.239391.3299211@events.liferay.com>

Hi Cometta,

I can download the source code and make the changes. But my concern is that i have the portal already deployed in production environment and in that package i am not able find the file ntlmfilter.java. Is this file located in any jar files?? Do i need to unpack any jar files in order to view this file??


Regards,

Rathish
--
Liferay Message Boards
http://www.liferay.com/web/guest/community/forums/-/message_boards/message/3299211
mb.239391.3299211@events.liferay.com
http://www.liferay.com
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
try compile from source and try that on your development environment first. if that work. then shift to production
Rathish R, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 47 Data de Entrada: 26/02/09 Postagens Recentes
I have downloaded the source and made the changes in ntlmfilter.java file. How do i compile the source code?
Roman Kuchvarskyy, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 6 Data de Entrada: 22/06/09 Postagens Recentes
Do you have extension of your project?
If you have, you only must place this file on ext-impl/src/{file-path} and then run ant deploy target.
Roman Kuchvarskyy, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 6 Data de Entrada: 22/06/09 Postagens Recentes
Hi Cometta!

Your fix work but,

I have a problem with login. I can login via NTLM only first time. And then I get Access denied! exception.

First user login successful, and when I try login by another user I got this exception.

Have you any suggestion about such problem?
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
pls provide error screenshot or console exception error code, also better if you can include your nltmfilter file so that someone able to help up
Roman Kuchvarskyy, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 6 Data de Entrada: 22/06/09 Postagens Recentes
Hi cometta,
Here is a screenshot of my exception and NTLMFilter.txt.
The exception throws after I try to login for the second time by another user. At first logon method login successful.
Maybe the problem is on the domain configuration?
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
i place logon at wrong place


ntlm = NtlmSsp.authenticate(request, response, challenge);

//*** modified start
try{
SmbSession.logon(uniAddress, ntlm); //ref:http://article.gmane.org/gmane.network.samba.java/501

}
catch( jcifs.smb.SmbException smbE){
//only print brief error and skip
_log.error("smbSession.logon error logon credential");
return null;
}

//*** modified end


session.setAttribute("NtlmHttpAuth", ntlm);
Roman Kuchvarskyy, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 6 Data de Entrada: 22/06/09 Postagens Recentes
Hi Cometta,

I found what are causing my Access denied exeception. The problem is that I connect to th IPC$ share. And It allowed only one connection. My domain is located on Windows 2003 server. Do you have the same problem?
Roman Kuchvarskyy, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 6 Data de Entrada: 22/06/09 Postagens Recentes
Can anybody help me with my problem?
The problem is, that I can Login only first time via NTLM. Second user(another user) couldn't login(but can if login first time). I user Windows 2003 server and tomcat.
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
1. did u tried the code that i post on my previous post?
2. hope someone will respond on this. give some feedback to this user
Roman Kuchvarskyy, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 6 Data de Entrada: 22/06/09 Postagens Recentes
Yes I tried. Your fix work. But only for first user. If I go in my server(Win 2003) and kill the session to IPC$ the next user can login.
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
so for i test 2-3 users login same times without problem.. any feedback from other members?
thumbnail
cometta cometta cometta, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 109 Data de Entrada: 27/04/09 Postagens Recentes
by the way i'm using tomcat 6.0.18 +oracle 10g
thumbnail
Lisa Simpson, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 2034 Data de Entrada: 05/03/09 Postagens Recentes
Just to toss 2 cents in, why not shim the authentication path with something like CAS? It would certainly seem easier than all this stuff that all of you are doing now.
Sultee khan, modificado 13 Anos atrás.

RE: Non-domain NTLM Authentication

Regular Member Postagens: 145 Data de Entrada: 31/10/09 Postagens Recentes
I tried your update and FF is now working but IE is showing a login box too, which was not the case before. I am on 5.2.3 and using IE8. For me an idea solution will be that the pop up login box not show up in IE and FF both. Any suggestion ?
Thanks
thumbnail
Victor Zorin, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 1228 Data de Entrada: 14/04/08 Postagens Recentes
Surprised that this is not fixed yet, because working solution was suggested by cometta a long time ago, works across IE, domain and non-domain FFs without problems. Public patch can be found here. Source code is inside zip/jar file.

Edited: For auto-sign-in in FF, do not forget to extend configuration parameter 'network.automatic-ntlm-auth.trusted-uris' with the comma-separated list of NTLM domains (using about:config screen)
thumbnail
jerin jacob, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

New Member Postagens: 11 Data de Entrada: 23/03/09 Postagens Recentes
ya ... worked .. great .... Is there any way to login with out NTLM settings ???
thumbnail
Victor Zorin, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 1228 Data de Entrada: 14/04/08 Postagens Recentes
If NTLM auth does not pass, you should be redirected to login page automatically.
That's normal behavior. We use both sign-in processes simultaneously.
thumbnail
Michael Wang, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 29 Data de Entrada: 24/09/09 Postagens Recentes
We had tried the methods above, but Still No Luck and having the same issue when using the 5.2.4 version ,are there any updates on how to fix the bug ? Somebody,pl Help.....
thumbnail
Victor Zorin, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 1228 Data de Entrada: 14/04/08 Postagens Recentes
having the same issue...

Hi Michael. Usually single thread touches on many issues and flavors of those, what's the exact problem in this particular setup?
thumbnail
Michael Wang, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 29 Data de Entrada: 24/09/09 Postagens Recentes
Dear Victor,

Thanks for your concerns.The problem is that I can Login only first time via NTLM. Second user(another user) couldn't login(but can if login first time). I use Windows 2003 server and tomcat. Can you help me with the problem?

Thanks,
thumbnail
Victor Zorin, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 1228 Data de Entrada: 14/04/08 Postagens Recentes
Need more info about sequence of events:
- is it from the same desktop or different? For example:
step 1. You log in to desktop
step 2. You log in to portal
step 3. you log out from desktop
step 4. another person logs in to desktop with different credentials
step 5. another person con not log in to portal
... something like that

Do you have proxy on your network? If you do, disable until investigation is complete.
thumbnail
Michael Wang, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 29 Data de Entrada: 24/09/09 Postagens Recentes
Dear Victor,

Thanks for the kindly help, we didn't used any proxy on our network,we followed your ideas and the result are :

There are users A , B and C

1. User A login desktop then login portal. Successed!

2. User B login desktop then login portal. Failed.

3, User C login desktop and login portla used user A account, sucessed!
thumbnail
Michael Wang, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Junior Member Postagens: 29 Data de Entrada: 24/09/09 Postagens Recentes
Hello Victor,

Any updated advise on the problem ?
thumbnail
Victor Zorin, modificado 14 Anos atrás.

RE: Non-domain NTLM Authentication

Liferay Legend Postagens: 1228 Data de Entrada: 14/04/08 Postagens Recentes
Michael , sorry for the delay. Had to go through some painful releases.
On your NTLM issue, there must be something simple, though hard to figure out what's going on without seeing your system setup.

If I start asking detailed questions one by one, there could about ten 2-way interactions on the forum, which may take 10 days (one per question/answer).
So may be it is a good time for you to roll up your sleeves and learn how to resolve such situations quickly. That's what I usually do:
- create a Java project in Eclipse, that is configured to produce a single jar file
- set library path to point to liferay impl and service jars
- create a replica of a class which your would like to debug, e.g. in this case you would want to know what's going on when NTLM is executed, so you have to create a cut-and-paste copy of class com.liferay.portal.security.auth.NtlmAutoLogin, but with your own package name, e.g. com.myoffice.portal.security.auth.NtlmAutoLogin
- insert your own debugging statements into it
- build, create your own jar, put it into classpath
- modify your portal-ext.propeties file, by copying line auto.login.hooks=... from portal.properties
- in this line change the class com.liferay.portal.security.auth.NtlmAutoLogin to com.myoffice.portal.security.auth.NtlmAutoLogin
- so when NTLM is executed, your own class will be executed instead of liferay' one
- run the portal and see which way it is going

Once you are set like this and feel comfortable, the entire debugging and build process for future problems and investigations may only take 30 minutes.

You can certainly do such builds in ext environment, but I found that it is much easier to do it this way, probably because I used this style on liferay installations before ext environment existed, (e.g. 4 years ago)