Dela via


Felkod 403 eller 500 när du ansluter till en webbplats som publiceras med hjälp av ISA Server 2004 Service Pack 2

Den här artikeln innehåller en lösning på ett fel som uppstår när du försöker ansluta till en webbplats som publiceras med hjälp av Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2).

Gäller för: Windows Server 2003
Ursprungligt KB-nummer: 912122

Viktigt!

Den här artikeln innehåller information som visar hur du kan sänka säkerhetsinställningarna eller inaktivera säkerhetsfunktioner på en dator. Du kan göra dessa ändringar för att kringgå ett specifikt problem. Innan du gör dessa ändringar rekommenderar vi att du utvärderar de risker som är associerade med att implementera den här lösningen i din specifika miljö. Om du implementerar den här lösningen kan du vidta lämpliga ytterligare åtgärder för att skydda systemet.

Symtom

När du försöker ansluta till en webbplats som publiceras med hjälp av Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2) får du ett felmeddelande. Om ISA Server-webblyssnaren har Grundläggande autentisering aktiverat får du följande felmeddelande:

Felkod: 403 Förbjudet.
Sidan måste visas över en säker kanal (Secure Sockets Layer (SSL)). Kontakta serveradministratören. (12211)

Om ISA Server-webblyssnaren har RADIUS-autentisering eller Microsoft Outlook Web Access Forms-based authentication (Cookie-auth) aktiverat får du följande felmeddelande:

Felkod: 500 Internt serverfel.
Ett internt fel uppstod. (1359)

Orsak

Det här problemet uppstår om alla följande villkor är uppfyllda:

  • ISA Server 2004-webblyssnaren har någon av följande autentiseringsmetoder aktiverade:

    • Grundläggande
    • RADIUS
    • Formulärbaserad i Outlook Web Access
  • ISA Server 2004-webblyssnaren är konfigurerad för att lyssna efter HTTP-trafik.

  • Kryssrutan Kräv att alla användare autentiserar är markerad för webblyssnaren eller reglerna för webbpublicering gäller för en annan användaruppsättning än standarduppsättningen Alla användare .

  • Du ansluter till den publicerade webbplatsen med http i stället för https.

Det här problemet uppstår på grund av en säkerhetsändring som ingår i ISA Server 2004 SP2. När du använder HTTP-till-HTTP-bryggning aktiverar ISA Server 2004 SP2 inte trafik på den externa HTTP-porten om webblyssnaren har konfigurerats för att begära en eller flera av följande typer av autentiseringsuppgifter:

  • Grundläggande
  • RADIUS
  • Formulärbaserad i Outlook Web Access

Det här beteendet beror på att den här typen av autentiseringsuppgifter ska krypteras. Dessa autentiseringsuppgifter ska inte skickas i klartext via HTTP.

För ISA Server 2004-versioner som är tidigare än ISA Server 2004 SP2 uppmanas du att ange autentiseringsuppgifter i klartext. Det här beteendet kan leda till att autentiseringsuppgifterna överförs via nätverket i klartext om du inte har implementerat någon annan form av nätverkssäkerhet, till exempel en extern SSL-accelerator (Secure Sockets Layer) eller en krypterad tunnel. ISA Server tillhandahåller inte dessa säkerhetsformer.

ISA Server 2004 SP2 hindrar dig från att ange autentiseringsuppgifter i klartext. När du försöker göra detta får du ett felmeddelande.

Lösning

Varning

Den här lösningen kan göra datorn eller nätverket mer sårbart för angrepp från skadliga användare eller av skadlig programvara som virus. Vi rekommenderar inte den här lösningen men tillhandahåller den här informationen så att du kan implementera den här lösningen efter eget gottfinnande. Använd den här lösningen på egen risk.

Du kan undvika det här problemet genom att konfigurera ISA Server 2004 SP2 så att det fungerar som tidigare versioner av ISA Server 2004.

Det gör du genom att köra följande skript på ISA Server 2004 där du vill ändra konfigurationen. Skriptet anger ett värde med namnet AllowAskBasicAuthOverNonSecureConnection i en ny leverantörsparametrar som anges under roten för ISA Server 2004-matrisen.

Microsoft tillhandahåller programmeringsexempel endast för illustration, utan garanti, antingen uttryckt eller underförstådd. Detta omfattar, men är inte begränsat till, underförstådda garantier för säljbarhet eller lämplighet för ett visst syfte. Den här artikeln förutsätter att du är bekant med programmeringsspråket som demonstreras och med de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionerna i en viss procedur, men de ändrar inte dessa exempel för att tillhandahålla ytterligare funktioner eller konstruktionsprocedurer för att uppfylla dina specifika krav.

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 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 adds a new VendorParametersSets under the array root.
' add a new VendorParametersSet and add a value name "AllowAskBasicAuthOverNonSecureConnection" set to 1.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub AddAllowAskBasicAuthOverNonSecureConnection()

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

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

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

    On Error Resume Next
    Set VendorSet = VendorSets.Item( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )

    If Err.Number <> 0 Then
        Err.Clear

        ' Add the item
        Set VendorSet = VendorSets.Add( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
        CheckError
        WScript.Echo "New VendorSet added... " & VendorSet.Name

    Else
        WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value("AllowAskBasicAuthOverNonSecureConnection")
    End If

    if VendorSet.Value("AllowAskBasicAuthOverNonSecureConnection") <> 1 Then

        Err.Clear
        VendorSet.Value("AllowAskBasicAuthOverNonSecureConnection") = 1

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

            If Err.Number = 0 Then
                WScript.Echo "Done, saved!"
            End If
        End If
    Else
        WScript.Echo "Done, no change!"
    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

AddAllowAskBasicAuthOverNonSecureConnection