Поделиться через


Код ошибки 403 или 500 при подключении к веб-сайту, опубликованному с помощью ISA Server 2004 с пакетом обновления 2 (SP2)

Эта статья содержит решение об ошибке, возникающей при попытке подключиться к веб-сайту, опубликованному с помощью Microsoft Internet Security and Acceleration (ISA) Server 2004 с пакетом обновления 2 (SP2).

Область применения: Windows Server 2003
Исходный номер базы знаний: 912122

Внимание

В этой статье содержатся сведения о том, как снизить параметры безопасности или отключить функции безопасности на компьютере. Эти изменения можно внести для решения конкретной проблемы. Перед внесением этих изменений рекомендуется оценить риски, связанные с реализацией этого обходного решения в конкретной среде. Если вы реализуете это решение, выполните все необходимые дополнительные действия, чтобы защитить систему.

Симптомы

При попытке подключиться к веб-сайту, опубликованному с помощью Microsoft Internet Security and Acceleration (ISA) Server 2004 с пакетом обновления 2 (SP2), вы получите сообщение об ошибке. Если веб-прослушиватель сервера ISA имеет базовую проверку подлинности, вы получите следующее сообщение об ошибке:

Код ошибки: запрещено 403.
Страница должна просматриваться по защищенному каналу (протокол SSL). Обратитесь к администратору сервера. (12211)

Если веб-прослушиватель СЕРВЕРА ISA имеет проверку подлинности RADIUS или включенную проверку подлинности на основе Форм Microsoft Outlook Web Access (cookie-auth), вы получите следующее сообщение об ошибке:

Код ошибки: ошибка внутреннего сервера 500.
Произошла внутренняя ошибка. (1359)

Причина

Эта проблема возникает, если выполняются все следующие условия:

  • Веб-прослушиватель ISA Server 2004 включает один из следующих методов проверки подлинности:

    • Базовая
    • RADIUS
    • На основе форм Outlook Web Access
  • Веб-прослушиватель ISA Server 2004 настроен для прослушивания HTTP-трафика.

  • Флажок "Требовать, чтобы все пользователи прошли проверку подлинности", выбраны для прослушивателя веб-прослушивателя или правил веб-публикации применяются к набору пользователей, отличному от набора пользователей по умолчанию.

  • Вы подключаетесь к опубликованному веб-сайту с помощью HTTP, а не с помощью HTTPS.

Эта проблема возникает из-за изменения безопасности, включенного в ISA Server 2004 с пакетом обновления 2 (SP2). При использовании бриджинга HTTP-to-HTTP ISA Server 2004 с пакетом обновления 2 (SP2) не включает трафик на внешний HTTP-порт, если веб-прослушиватель настроен на запрос одного или нескольких следующих типов учетных данных:

  • Базовая
  • RADIUS
  • На основе форм Outlook Web Access

Это происходит, так как эти типы учетных данных должны быть зашифрованы. Эти учетные данные не должны отправляться по протоколу HTTP.

Для версий ISA Server 2004, предшествующих ISA Server 2004 с пакетом обновления 2 (SP2), вам будет предложено ввести учетные данные в виде ясного текста. Это поведение может привести к передаче учетных данных по сети в виде чистого текста, если вы не реализовали другую форму сетевой безопасности, например внешний акселератор SSL или зашифрованный туннель. Сервер ISA не предоставляет эти формы безопасности.

ISA Server 2004 с пакетом обновления 2 (SP2) запрещает ввод учетных данных в виде ясного текста. При попытке сделать это вы получите сообщение об ошибке.

Обходное решение

Предупреждение

Это решение может сделать компьютер или сеть более уязвимыми для атак злоумышленниками или вредоносным программным обеспечением, например вирусами. Мы не рекомендуем использовать это решение, но предоставляют эти сведения, чтобы вы могли реализовать это решение по своему усмотрению. Ответственность за использование этого обходного пути несет пользователь.

Чтобы обойти эту проблему, настройте ISA Server 2004 с пакетом обновления 2 (SP2) для работы с более ранними версиями ISA Server 2004.

Для этого выполните следующий сценарий на isA Server 2004, где необходимо изменить конфигурацию. Скрипт задает значение, которое называется AllowAskBasicAuthOverNonSecureConnection в новом наборе параметров поставщика под корнем массива ISA Server 2004.

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Специалисты технической поддержки Майкрософт могут пояснить работу той или иной процедуры, но модификация примеров и их адаптация к задачам разработчика не предусмотрена.

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