Udostępnij za pośrednictwem


Kod błędu 403 lub 500 podczas nawiązywania połączenia z witryną sieci Web opublikowaną przy użyciu programu ISA Server 2004 z dodatkiem Service Pack 2

Ten artykuł zawiera rozwiązanie błędu występującego podczas próby nawiązania połączenia z witryną sieci Web opublikowaną przy użyciu programu Microsoft Internet Security and Acceleration (ISA) Server 2004 z dodatkiem Service Pack 2 (SP2).

Dotyczy: Windows Server 2003
Oryginalny numer KB: 912122

Ważne

Ten artykuł zawiera informacje, które pokazują, jak ułatwić obniżenie ustawień zabezpieczeń lub jak wyłączyć funkcje zabezpieczeń na komputerze. Możesz wprowadzić te zmiany w celu obejścia określonego problemu. Przed wprowadzeniem tych zmian zalecamy ocenę ryzyka związanego z wdrożeniem tego obejścia w danym środowisku. Jeśli to obejście zostanie zaimplementowane, wykonaj odpowiednie dodatkowe kroki, aby ułatwić ochronę systemu.

Objawy

Podczas próby nawiązania połączenia z witryną sieci Web opublikowaną przy użyciu programu Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2) zostanie wyświetlony komunikat o błędzie. Jeśli odbiornik sieci Web serwera ISA ma włączone uwierzytelnianie podstawowe, zostanie wyświetlony następujący komunikat o błędzie:

Kod błędu: 403 Zabronione.
Strona musi być widoczna za pośrednictwem bezpiecznego kanału (Secure Sockets Layer (SSL)). Skontaktuj się z administratorem serwera. (12211)

Jeśli odbiornik sieci Web serwera ISA ma włączone uwierzytelnianie usługi RADIUS lub uwierzytelnianie oparte na formularzach programu Microsoft Outlook Web Access (uwierzytelnianie plików cookie), zostanie wyświetlony następujący komunikat o błędzie:

Kod błędu: 500 Wewnętrzny błąd serwera.
Wystąpił błąd wewnętrzny. (1359)

Przyczyna

Ten problem występuje, jeśli spełnione są wszystkie następujące warunki:

  • Odbiornik internetowy programu ISA Server 2004 ma włączoną jedną z następujących metod uwierzytelniania:

    • Podstawowy
    • RADIUS
    • Oparte na formularzach programu Outlook Web Access
  • Odbiornik internetowy programu ISA Server 2004 jest skonfigurowany do nasłuchiwania ruchu HTTP.

  • Pole wyboru Wymagaj uwierzytelnienia wszystkich użytkowników jest zaznaczone dla odbiornika sieci Web lub reguły publikowania w sieci Web mają zastosowanie do zestawu użytkownika innego niż domyślny zestaw użytkowników Wszyscy użytkownicy .

  • Łączysz się z opublikowaną witryną sieci Web przy użyciu protokołu HTTP zamiast przy użyciu protokołu HTTPS.

Ten problem występuje z powodu modyfikacji zabezpieczeń uwzględnionej w programie ISA Server 2004 SP2. W przypadku korzystania z mostkowania HTTP-to-HTTP program ISA Server 2004 SP2 nie włącza ruchu na zewnętrznym porcie HTTP, jeśli odbiornik sieci Web jest skonfigurowany do żądania co najmniej jednego z następujących rodzajów poświadczeń:

  • Podstawowy
  • RADIUS
  • Oparte na formularzach programu Outlook Web Access

Takie zachowanie występuje, ponieważ tego rodzaju poświadczenia powinny być szyfrowane. Te poświadczenia nie powinny być wysyłane w postaci zwykłego tekstu za pośrednictwem protokołu HTTP.

W przypadku wersji ISA Server 2004, które są starsze niż ISA Server 2004 SP2, zostanie wyświetlony monit o wprowadzenie poświadczeń w postaci zwykłego tekstu. Takie zachowanie może spowodować przesyłanie poświadczeń za pośrednictwem sieci w postaci zwykłego tekstu, jeśli nie zaimplementowano innej formy zabezpieczeń sieci, takich jak zewnętrzny akcelerator Secure Sockets Layer (SSL) lub zaszyfrowany tunel. Serwer ISA nie zapewnia tych form zabezpieczeń.

Program ISA Server 2004 SP2 uniemożliwia wprowadzanie poświadczeń w postaci zwykłego tekstu. Podczas próby wykonania tej czynności zostanie wyświetlony komunikat o błędzie.

Rozwiązanie

Ostrzeżenie

To obejście może spowodować, że komputer lub sieć będą bardziej narażone na ataki złośliwych użytkowników lub złośliwego oprogramowania, takiego jak wirusy. Nie zalecamy tego obejścia, ale udostępniamy te informacje, aby można było zaimplementować to obejście według własnego uznania. To obejście użytkownicy stosują na własną odpowiedzialność.

Aby obejść ten problem, skonfiguruj program ISA Server 2004 SP2 tak, aby zachowywał się jak wcześniejsze wersje programu ISA Server 2004.

W tym celu uruchom następujący skrypt na serwerze ISA Server 2004, w którym chcesz zmienić konfigurację. Skrypt ustawia wartość o nazwie AllowAskBasicAuthOverNonSecureConnection w nowych parametrach dostawcy ustawionych w katalogu głównym tablicy ISA Server 2004.

Firma Microsoft udostępnia tylko przykłady programowania dla ilustracji bez gwarancji wyrażonej lub dorozumianej. Obejmuje to, ale nie ogranicza się do domniemanych gwarancji możliwości handlowych lub przydatności do określonego celu. W tym artykule założono, że znasz język programowania, który jest demonstrowany i z narzędziami używanymi do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc wyjaśnić funkcjonalność określonej procedury, ale nie zmodyfikują tych przykładów, aby zapewnić dodatkowe funkcje lub procedury konstruowania w celu spełnienia określonych wymagań.

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 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