Several ISA Server 2006 features have been modified in ISA Server 2006 SP1. The changes in these features are described in this section.
Multicast support for integrated NLB
Previous versions of ISA Server supported integrated NLB in unicast mode only. Multicast was only available without integrated NLB mode. However, in non-integrated mode bi-directional affinity (BDA) was not available.
In unicast mode ISA Server designates a single virtual IP address to computers in an NLB cluster. The NLB driver assigns a new unicast MAC address to all computers to be used by the virtual IP. When traffic arrives, the switch that controls which computer packets are sent to, cannot differentiate between ports; therefore because all computers in the cluster share the same virtual address, traffic is sent to all ports in the switch. This causes switch flooding. In multicast mode, NLB designates a multicast MAC address to all computers in the cluster. Multicast combined with Internet Group Management Protocol (IGMP) prevents all ports being flooded.
ISA Server 2006 SP1 adds support for unicast, multicast, and multicast with IGMP modes.
For configuration steps and more information, see An update enables multicast operations for ISA Server integrated NLB (http://support.microsoft.com/kb/938550/en-us).
Kerberos constrained delegation (KCD) authentication allowed in a cross domain environment
Secondary client certificate validation without mapping to Active Directory
Client certificates used as the secondary authentication method to Forms-based Authentication (FBA) in ISA Server do not need to be validated against an Active Directory® user account. Previously in this scenario, ISA Server was required to be a domain member. The administrator would have to ensure that each client certificate was mapped to a user account in Active Directory. Such authentication was available only for ISA Server in the domain and when FBA with Active Directory was configured as the primary authentication method. With the new option, ISA Server in the workgroup can accept client certificates issued from any Certificate Authority for which a certificate is included on the local machine Trusted Root store. If you limit the trusted roots only to your enterprise CA, then ISA Server will accept only users who were granted a client certification by your organization.
Note: |
|---|
Client certificate mapping to Active Directory user account is still possible and functions as it did prior to SP1. With SP1, you also have the option to authenticate client certificates without mapping.
|
Note: |
|---|
|
This new feature is limited to scenarios where client certificate authentication is used as a secondary authentication method with Forms-based authentication (FBA). If client certificates are used as the primary authentication method, ISA Server must still be a domain member to satisfy this authentication method.
|
Support for use of server certificates containing multiple Subject Alternative Name (SAN) entries
RSA SecurID supports public timeout
For RSA SecurID authentication, a new form has been introduced that gives the user the option to select a public or private session timeout. Previously SecurID authentication only had a public session timeout option.
Improve Web publishing load balancing cookie handling
Filtering RPC traffic by UUID
Alert improvements
Alert improvements include the following.
New alert for logging failure
A new alert, Long Write Time Excessive, indicates when ISA Server logging fails. By default, if the logging process takes longer than 15 seconds, this alert is generated.
New alert for exceeding virtual memory threshold of the Microsoft Firewall service
A new alert has been created that monitors the amount of virtual memory consumed by the WSPSRV process (the Microsoft firewall service). By default, the monitoring is off. To enable it, configure the threshold of virtual memory through the registry. When the virtual memory used by the WSPSRV process exceeds the specified threshold, an alert is activated. On the Actions tab of the Alert Actions dialog box, you can configure the alert to stop and then start the service.
For more information, see An ISA Server 2006 computer may stop responding under a heavy load (941296).
New performance counter
A performance counter has been added to measure the kilobytes per second for an HTTP/HTTPS requests and responses. This feature serves as an indicator in order to help administrators determine how to improve performance of a process for HTTP and HTTPS requests and responses. The counter filters out noise, such as a remote or weak Web server that responds too slowly or extremely large responses such as large files or RPC over HTTP.
The following script shows how the performance counter is configured.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 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.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
SetValue "RequestProcessingTimeLowBoundary", 5 ' milliseconds
SetValue "RequestProcessingTimeHighBoundary", 200 ' milliseconds
SetValue "RequestSizeLowBoundary", 0 ' bytes
SetValue "RequestSizeHighBoundary", 5000 ' bytes
Sub SetValue(paramName, newValue)
' Create the root obect.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects needed.
Dim isaArray ' An FPCArray object
Dim vendorSets ' An FPCVendorParametersSets collection
Dim vendorSet ' An FPCVendorParametersSet object
' Get references to the array object
' and the vendor parameters set of the array object.
Set isaArray = root.GetContainingArray()
Set vendorSets = isaArray.VendorParametersSets
On Error Resume Next
Set vendorSet = vendorSets.Item(SE_VPS_GUID)
If Err.Number <> 0 Then
Err.Clear
' Add the vendor parameters set.
Set vendorSet = vendorSets.Add(SE_VPS_GUID)
CheckError
WScript.Echo "The vendor parameters set " & vendorSet.Name _
& " was added."
Else
WScript.Echo "The value " & paramName & " = " _
& vendorSet.Value(paramName) & " was found."
End If
If vendorSet.Value(paramName) <> newValue Then
Err.Clear
vendorSet.Value(paramName) = newValue
If Err.Number <> 0 Then
CheckError
Else
vendorSets.Save False, True
CheckError
If Err.Number = 0 Then
WScript.Echo "The new value for " & paramName _
& " was saved."
End If
End If
Else
WScript.Echo "No change is needed for " & paramName & "."
End If
End Sub
Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " "_
& Err.Description
Err.Clear
End If
End Sub