Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a Delphi procedure to validate user credentials on my system integrated with Active Directory.

On Windows XP/2000, when the user presents invalid credentials, the program/system performs as expected. On a Windows 7 system, the procedure doesn't validate the credentials and allows the user to continue without a check.

share|improve this question
2  
And your question is...? –  pehrs Apr 27 '10 at 12:02
1  
Likely belongs on StackOverflow. Post some code to help judge where the problem lies, and please clarify your question. Would you like help in enforcing a credential check on Windows 7 and XP systems? –  p.campbell Apr 27 '10 at 13:16

1 Answer 1

up vote 5 down vote accepted

It sounds like a bug in the way your app is processing logins/authentication, it sounds like it could be hitting an authentication type it doesn't understand and 'failing safe' by allowing users in.

Windows 7 (and Vista) changed a lot of security and authentication related settings and defaults. For instance, by default, 7 doesn't send LanManager or NTLMv1 authentication any more, it will only send NTLMv2. We've seen some strange behaviour from 3rd party apps that authenticate against AD using Java modules that has been traced back to this.

The easiest way to test is to set the 7 machines back to the XP behaviour (where it tries to authenticate using NTLMv2 and then falls back to the less secure protocols if that's not understood by the app).

The registry key to downgrade your login security to XP's level is:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LmCompatibilityLevel"=dword:00000001

(win7's default LmCompatibilityLevel is 3)

Alternatively you can set the same thing using GPOs. The policy setting you're looking for is in Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options and is called 'Network security: LAN Manager authentication level'

Obviously you should only really be doing this for testing, you don't want to leave your clients at a lower security level long term without fully understanding the risks.

You'll find a good description of these authentication settings here: TechNet The Most Misunderstood Windows Security Setting of All Time. More info on the changes in NTLM Authentication available here.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.