掲示板

Non-domain NTLM Authentication

16年前 に Robert Zahm によって更新されました。

Non-domain NTLM Authentication

Junior Member 投稿: 46 参加年月日: 07/10/08 最新の投稿
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
16年前 に Robert Zahm によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 46 参加年月日: 07/10/08 最新の投稿
Anyone have any ideas on this? Am I doing something wrong, or is this a hole in the NTLM security component?
16年前 に Robert Zahm によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 46 参加年月日: 07/10/08 最新の投稿
Can anyone tell me if this sounds like an issue with my configuration, or if this is a bug?

Thanks,

Rob
thumbnail
16年前 に Jorge Ferrer によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 2871 参加年月日: 06/08/31 最新の投稿
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
16年前 に Bruno Farache によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Master 投稿: 603 参加年月日: 07/05/14 最新の投稿
Hi Robert, what you mean and you say "non-domain instances of IE"? The user is accessing outside the domain?
16年前 に Robert Zahm によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 46 参加年月日: 07/10/08 最新の投稿
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
15年前 に Scott Dale Westbrook によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 14 参加年月日: 08/02/11 最新の投稿
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
15年前 に Luca Costa によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 72 参加年月日: 08/03/05 最新の投稿
Same problem on liferay 5.2.1 + LDAP + NTLM:
password is not checked.

problem is solved?

Luca
thumbnail
15年前 に Jonas Yuan によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Master 投稿: 993 参加年月日: 07/04/27 最新の投稿
Any update on this issue?
thumbnail
15年前 に Jonas Yuan によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Master 投稿: 993 参加年月日: 07/04/27 最新の投稿
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
15年前 に Luca Costa によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 72 参加年月日: 08/03/05 最新の投稿
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
15年前 に jerin jacob によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 11 参加年月日: 09/03/23 最新の投稿
Any Fix for Non-Domain NTLM authentication ???? or any way to get around this problem ???
thumbnail
15年前 に Jonas Yuan によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Master 投稿: 993 参加年月日: 07/04/27 最新の投稿
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
15年前 に Roman Orfinyak によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 2 参加年月日: 09/04/30 最新の投稿
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
14年前 に jerin jacob によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 11 参加年月日: 09/03/23 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
i though i the only one facing this. will update you all if i found anything. any update so far on this?
thumbnail
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
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
14年前 に Roman Orfinyak によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 2 参加年月日: 09/04/30 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿


portal-impl/src/com/liferay/portal/servlet/filters/sso/ntlm/NtlmFilter.java
thumbnail
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
download the source code . i'm using 5.2.2
thumbnail
14年前 に cometta cometta cometta によって更新されました。

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

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
try compile from source and try that on your development environment first. if that work. then shift to production
14年前 に Rathish R によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 47 参加年月日: 09/02/26 最新の投稿
I have downloaded the source and made the changes in ntlmfilter.java file. How do i compile the source code?
14年前 に Roman Kuchvarskyy によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 6 参加年月日: 09/06/22 最新の投稿
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.
14年前 に Roman Kuchvarskyy によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 6 参加年月日: 09/06/22 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
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
14年前 に Roman Kuchvarskyy によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 6 参加年月日: 09/06/22 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
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);
14年前 に Roman Kuchvarskyy によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 6 参加年月日: 09/06/22 最新の投稿
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?
14年前 に Roman Kuchvarskyy によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 6 参加年月日: 09/06/22 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
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
14年前 に Roman Kuchvarskyy によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 6 参加年月日: 09/06/22 最新の投稿
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
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
so for i test 2-3 users login same times without problem.. any feedback from other members?
thumbnail
14年前 に cometta cometta cometta によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 109 参加年月日: 09/04/27 最新の投稿
by the way i'm using tomcat 6.0.18 +oracle 10g
thumbnail
14年前 に Lisa Simpson によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 2034 参加年月日: 09/03/05 最新の投稿
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.
13年前 に Sultee khan によって更新されました。

RE: Non-domain NTLM Authentication

Regular Member 投稿: 145 参加年月日: 09/10/31 最新の投稿
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
14年前 に Victor Zorin によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 1228 参加年月日: 08/04/14 最新の投稿
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
14年前 に jerin jacob によって更新されました。

RE: Non-domain NTLM Authentication

New Member 投稿: 11 参加年月日: 09/03/23 最新の投稿
ya ... worked .. great .... Is there any way to login with out NTLM settings ???
thumbnail
14年前 に Victor Zorin によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 1228 参加年月日: 08/04/14 最新の投稿
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
14年前 に Michael Wang によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 29 参加年月日: 09/09/24 最新の投稿
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
14年前 に Victor Zorin によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 1228 参加年月日: 08/04/14 最新の投稿
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
14年前 に Michael Wang によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 29 参加年月日: 09/09/24 最新の投稿
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
14年前 に Victor Zorin によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 1228 参加年月日: 08/04/14 最新の投稿
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
14年前 に Michael Wang によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 29 参加年月日: 09/09/24 最新の投稿
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
14年前 に Michael Wang によって更新されました。

RE: Non-domain NTLM Authentication

Junior Member 投稿: 29 参加年月日: 09/09/24 最新の投稿
Hello Victor,

Any updated advise on the problem ?
thumbnail
14年前 に Victor Zorin によって更新されました。

RE: Non-domain NTLM Authentication

Liferay Legend 投稿: 1228 参加年月日: 08/04/14 最新の投稿
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)