Compartilhar via


Código de erro 403 ou 500 quando você se conecta a um site publicado usando o ISA Server 2004 Service Pack 2

Este artigo fornece uma solução para um erro que ocorre ao tentar se conectar a um site publicado usando o Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2).

Aplica-se a: Windows Server 2003
Número original do KB: 912122

Importante

Este artigo contém informações que mostram como ajudar a reduzir as configurações de segurança ou como desativar os recursos de segurança em um computador. Você pode fazer essas alterações para contornar um problema específico. Antes de fazer essas alterações, recomendamos que você avalie os riscos associados à implementação dessa solução alternativa em seu ambiente específico. Se você implementar essa solução alternativa, tome as medidas adicionais apropriadas para ajudar a proteger seu sistema.

Sintomas

Ao tentar se conectar a um site publicado usando o Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2), você recebe uma mensagem de erro. Se o ouvinte da Web do ISA Server tiver a autenticação básica habilitada, você receberá a seguinte mensagem de erro:

Código de erro: 403 Proibido.
A página deve ser exibida em um canal seguro (SSL (Secure Sockets Layer)). Entre em contato com o administrador do servidor. (12211)

Se o ouvinte da Web do ISA Server tiver a autenticação RADIUS ou a autenticação baseada em formulários do Microsoft Outlook Web Access (Cookie-auth) habilitada, você receberá a seguinte mensagem de erro:

Código de erro: 500 Erro interno do servidor.
Ocorreu um erro interno. (1359)

Causa

Esse problema ocorrerá se todas as seguintes condições forem verdadeiras:

  • O ouvinte da Web do ISA Server 2004 tem qualquer um dos seguintes métodos de autenticação habilitados:

    • Básico
    • RAIO
    • Baseado em formulários do Outlook Web App
  • O ouvinte da Web do ISA Server 2004 está configurado para escutar o tráfego HTTP.

  • A caixa de seleção Exigir que todos os usuários se autentiquem está marcada para o ouvinte da Web ou as regras de publicação na Web se aplicam a um conjunto de usuários diferente do conjunto de usuários padrão Todos os usuários .

  • Você se conecta ao site publicado usando HTTP em vez de HTTPS.

Esse problema ocorre devido a uma modificação de segurança incluída no ISA Server 2004 SP2. Quando você usa a ponte HTTP para HTTP, o ISA Server 2004 SP2 não habilita o tráfego na porta HTTP externa se o ouvinte da Web estiver configurado para solicitar um ou mais dos seguintes tipos de credenciais:

  • Básico
  • RAIO
  • Baseado em formulários do Outlook Web App

Esse comportamento ocorre porque esses tipos de credenciais devem ser criptografados. Essas credenciais não devem ser enviadas em texto não criptografado por HTTP.

Para versões do ISA Server 2004 anteriores ao ISA Server 2004 SP2, você será solicitado a inserir credenciais em texto não criptografado. Esse comportamento pode fazer com que as credenciais sejam transmitidas pela rede em texto não criptografado se você não tiver implementado alguma outra forma de segurança de rede, como um acelerador SSL externo ou um túnel criptografado. O ISA Server não fornece essas formas de segurança.

O ISA Server 2004 SP2 impede que você insira credenciais em texto não criptografado. Ao tentar fazer isso, você recebe uma mensagem de erro.

Solução alternativa

Aviso

Essa solução alternativa pode tornar seu computador ou sua rede mais vulnerável a ataques de usuários mal-intencionados ou de software mal-intencionado, como vírus. Não recomendamos essa solução alternativa, mas estamos fornecendo essas informações para que você possa implementá-la a seu próprio critério. Você é responsável pelo uso dessa solução alternativa.

Para contornar esse problema, configure o ISA Server 2004 SP2 para se comportar como versões anteriores do ISA Server 2004.

Para fazer isso, execute o script a seguir no ISA Server 2004 em que você deseja alterar a configuração. O script define um valor chamado AllowAskBasicAuthOverNonSecureConnection em um novo fornecedor de parâmetros definidos na raiz da matriz do ISA Server 2004.

A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não se limita a, garantias implícitas de comercialização ou adequação a uma finalidade específica. Este artigo pressupõe que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um procedimento específico, mas não modificarão esses exemplos para fornecer funcionalidade adicional ou construir procedimentos para atender aos seus requisitos específicos.

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