Microsoft KB Archive/938966

= Invalid authentication requests in ISA Server 2006 may be sent to the Radius OTP server =

Article ID: 938966

Article Last Modified on 7/30/2007

-

APPLIES TO


 * Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
 * Microsoft Internet Security and Acceleration Server 2006 Standard Edition

-



SYMPTOMS
Microsoft Internet Security and Acceleration (ISA) Server 2006 may be configured for Forms-Based authentication together with Radius One Time Passwords (Radius OTP). In this situation, invalid authentication requests may be sent to the Radius OTP server. This behavior may cause the Radius OTP server to lock out the user account if the Radius OTP server is configured to lock out accounts after several failed authentication attempts.



CAUSE
This problem may occur if the following conditions are true:
 * A Forms-Based authentication request is received. This request does not have a valid authentication cookie, and it has a User-Agent request header that is not known to support Forms-Based authentication.
 * The ISA Server 2006 fallback authentication feature responds with a request for Basic authentication.

When the client sends the request to ISA Server by using Basic credentials, ISA Server tries to validate these credentials against the Radius OTP server. Because these credentials are Windows credentials, the Radius OTP server cannot process them. Therefore, authentication fails. If many of these requests are sent in a short time, this may cause the Radius OTP server to lock out the user account.



Hotfix information
A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next ISA Server 2006 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites
You must have ISA Server 2006 installed to install this hotfix

Hotfix replacement information
The hotfix installation program restarts the Microsoft ISA Firewall service.

File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Post-hotfix installation information
After you install the hotfix, you must run a Microsoft Visual Basic script to resolve the problem that is described in the &quot;Symptoms&quot; section. This script configures ISA Server 2006 to perform the following actions:
 * Deny requests from clients that are not known to support Forms-Based authentication when Radius OTP is being used for authentication.
 * Deny a request that uses Basic credentials without trying to validate the credentials against the OTP server.

To run this script, follow these steps after you install this hotfix:  Start Notepad.  Copy the following code, and then paste it into Notepad:  ' ' Copyright (c) Microsoft Corporation. All rights reserved. ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE ' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE ' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS ' HEREBY PERMITTED.   ' This script sets whether ISA will disable Basic authentication fallback when ' ISA Forms-Based authentication with Radius OTP is being used and when the client is not ' known to support Forms-Based authentication. ' ' ' usage - to disable Basic authentication fallback when Radius OTP authentication is being used ' cscript DisableBasicFallbackForOtp.vbs '  Const SE_VPS_GUID = &quot;{143F5698-103B-12D4-FF34-1F34767DEabc}&quot; Const SE_VPS_NAME = &quot;DisableBasicFallbackForOtp&quot; Const SE_VPS_VALUE = true

Sub SetValue

' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject(&quot;FPC.Root&quot;)

'Declare the other objects needed. Dim array      ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet  ' An FPCVendorParametersSet object

' Get references to the array object ' and to the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets

On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID )

If Err.Number <> 0 Then Err.Clear

' Add the item. Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo &quot;New VendorSet added... &quot; & VendorSet.Name

Else WScript.Echo &quot;Existing VendorSet found... value- &quot; & VendorSet.Value(SE_VPS_NAME) End If

if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then

Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE

If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError

If Err.Number = 0 Then WScript.Echo &quot;Done with &quot; & SE_VPS_NAME & &quot;, saved!&quot; End If       End If    Else WScript.Echo &quot;Done with &quot; & SE_VPS_NAME & &quot;, no change!&quot; End If

End Sub

Sub CheckError

If Err.Number <> 0 Then WScript.Echo &quot;An error occurred: 0x&quot; & Hex(Err.Number) & &quot; &quot; & Err.Description Err.Clear End If

End Sub

SetValue  Save the script as &quot;DisableBasicFallbackForOtp.vbs.&quot; Open a command prompt in the location in which the script is saved, type the following command, and then press ENTER:

cscript DisableBasicFallbackForOtp.vbs



Notes
 * To revert to the default setting in which fallback to Basic authentication is used for ISA Forms-Based authentication together with Radius OTP, edit the script to revise &quot;Const SE_VPS_VALUE = true&quot; to &quot;Const SE_VPS_VALUE = false.&quot;
 * Save the script, and then rerun it.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.

Keywords: kbexpertiseadvanced kbhotfixserver kbqfe kbfix kbbug kbpubtypekc KB938966

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.