Código de error 403 o 500 al conectarse a un sitio web que se publica mediante ISA Server 2004 Service Pack 2

En este artículo se proporciona una solución a un error que se produce al intentar conectarse a un sitio web que se publica mediante Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2).

Se aplica a: Windows Server 2003
Número de KB original: 912122

Importante

Este artículo contiene información que muestra cómo ayudar a reducir la configuración de seguridad o cómo desactivar las características de seguridad en un equipo. Puede realizar estos cambios para solucionar un problema específico. Antes de realizar estos cambios, se recomienda evaluar los riesgos asociados a la implementación de esta solución alternativa en un entorno determinado. Si implementa esta solución alternativa, siga los pasos adicionales adecuados para ayudar a proteger el sistema.

Síntomas

Cuando intenta conectarse a un sitio web que se publica mediante Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2), recibirá un mensaje de error. Si el agente de escucha web del servidor ISA tiene habilitada la autenticación básica, recibirá el siguiente mensaje de error:

Código de error: 403 Prohibido.
La página se debe ver a través de un canal seguro (Capa de sockets seguros (SSL)). Póngase en contacto con el administrador del servidor. (12211)

Si el agente de escucha web de ISA Server tiene habilitada la autenticación RADIUS o la autenticación de Forms-Based de Microsoft Outlook Web Access (autenticación de cookies), recibirá el siguiente mensaje de error:

Código de error: 500 Error interno del servidor.
Se ha producido un error interno. (1359)

Causa

Este problema se produce si se cumplen todas las condiciones siguientes:

  • El agente de escucha web de ISA Server 2004 tiene habilitado cualquiera de los siguientes métodos de autenticación:

    • Basic
    • RADIO
    • Outlook Web Access Forms-Based
  • El agente de escucha web de ISA Server 2004 está configurado para escuchar el tráfico HTTP.

  • La casilla Requerir que todos los usuarios se autentiquen está activada para el agente de escucha web o las reglas de publicación web se aplican a un conjunto de usuarios distinto del conjunto de usuarios Todos los usuarios predeterminado.

  • Se conecta al sitio web publicado mediante HTTP en lugar de mediante HTTPS.

Este problema se produce debido a una modificación de seguridad que se incluye en ISA Server 2004 SP2. Cuando se usa el puente HTTP a HTTP, ISA Server 2004 SP2 no habilita el tráfico en el puerto HTTP externo si el agente de escucha web está configurado para solicitar uno o varios de los siguientes tipos de credenciales:

  • Basic
  • RADIO
  • Outlook Web Access Forms-Based

Este comportamiento se produce porque estos tipos de credenciales deben cifrarse. Estas credenciales no deben enviarse en texto no cifrado a través de HTTP.

En el caso de las versiones de ISA Server 2004 anteriores a ISA Server 2004 SP2, se le pedirá que escriba las credenciales en texto no cifrado. Este comportamiento puede hacer que las credenciales se transmitan a través de la red en texto no cifrado si no se ha implementado alguna otra forma de seguridad de red, como un acelerador externo de capa de sockets seguros (SSL) o un túnel cifrado. ISA Server no proporciona estas formas de seguridad.

ISA Server 2004 SP2 impide que escriba credenciales en texto no cifrado. Al intentar hacerlo, recibe un mensaje de error.

Solución alternativa

Advertencia

Esta solución alternativa puede hacer que su equipo o su red sea más vulnerable a los ataques de usuarios malintencionados o con software malintencionado, como los virus. No recomendamos esta solución alternativa, pero proporcionamos esta información para que pueda implementar esta solución alternativa a su entera discreción. Use esta solución alternativa bajo su propia responsabilidad.

Para solucionar este problema, configure ISA Server 2004 SP2 para que se comporte como en versiones anteriores de ISA Server 2004.

Para ello, ejecute el siguiente script en ISA Server 2004, donde desea cambiar la configuración. El script establece un valor denominado AllowAskBasicAuthOverNonSecureConnection en un nuevo parámetro de proveedor establecido bajo la raíz de la matriz ISA Server 2004.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.

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