Codice di errore 403 o 500 quando ci si connette a un sito Web pubblicato tramite ISA Server 2004 Service Pack 2

Questo articolo fornisce una soluzione a un errore che si verifica quando si tenta di connettersi a un sito Web pubblicato tramite Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2).

Si applica a: Windows Server 2003
Numero KB originale: 912122

Importante

Questo articolo contiene informazioni che illustrano come ridurre le impostazioni di sicurezza o come disattivare le funzionalità di sicurezza in un computer. È possibile apportare queste modifiche per risolvere un problema specifico. Prima di apportare queste modifiche, è consigliabile valutare i rischi associati all'implementazione di questa soluzione alternativa nel proprio ambiente specifico. Se si implementa questa soluzione alternativa, seguire i passaggi aggiuntivi appropriati per proteggere il sistema.

Sintomi

Quando si tenta di connettersi a un sito Web pubblicato tramite Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2), viene visualizzato un messaggio di errore. Se nel listener Web ISA Server è abilitata l'autenticazione di base, viene visualizzato il messaggio di errore seguente:

Codice di errore: 403 Non consentito.
La pagina deve essere visualizzata su un canale sicuro (SSL (Secure Sockets Layer). Contattare l'amministratore del server. (12211)

Se nel listener Web ISA Server è abilitata l'autenticazione RADIUS o l'autenticazione di Microsoft Outlook Web Access Forms-Based (autenticazione cookie), viene visualizzato il messaggio di errore seguente:

Codice errore: 500 Errore interno del server.
Si è verificato un errore interno. (1359)

Causa

Questo problema si verifica se tutte le condizioni seguenti sono vere:

  • Il listener Web ISA Server 2004 dispone di uno dei metodi di autenticazione seguenti abilitati:

    • Basic
    • RAGGIO
    • Outlook Web Access Forms-Based
  • Il listener Web ISA Server 2004 è configurato per l'ascolto del traffico HTTP.

  • La casella di controllo Richiedi l'autenticazione di tutti gli utenti è selezionata per il listener Web oppure le regole di pubblicazione Web si applicano a un set di utenti diverso dal set di utenti Predefinito Tutti gli utenti .

  • Per connettersi al sito Web pubblicato, usare HTTP anziché HTTPS.

Questo problema si verifica a causa di una modifica della sicurezza inclusa in ISA Server 2004 SP2. Quando si usa il bridging da HTTP a HTTP, ISA Server 2004 SP2 non abilita il traffico sulla porta HTTP esterna se il listener Web è configurato per richiedere uno o più dei tipi di credenziali seguenti:

  • Basic
  • RAGGIO
  • Outlook Web Access Forms-Based

Questo comportamento si verifica perché questi tipi di credenziali devono essere crittografati. Queste credenziali non devono essere inviate in testo non crittografare tramite HTTP.

Per le versioni di ISA Server 2004 precedenti a ISA Server 2004 SP2, viene richiesto di immettere le credenziali in testo non crittografati. Questo comportamento può causare la trasmissione delle credenziali in rete in testo non crittografato se non è stata implementata un'altra forma di sicurezza di rete, ad esempio un acceleratore SSL (Secure Sockets Layer) esterno o un tunnel crittografato. ISA Server non fornisce queste forme di sicurezza.

ISA Server 2004 SP2 impedisce di immettere le credenziali in testo non crittografate. Quando si tenta di eseguire questa operazione, viene visualizzato un messaggio di errore.

Soluzione alternativa

Avviso

L'esecuzione di questa procedura potrebbe rendere il computer o la rete più vulnerabile agli attacchi di utenti malintenzionati o di programmi software dannosi, quali i virus. Questa soluzione alternativa non è consigliata, ma fornisce queste informazioni in modo che sia possibile implementare questa soluzione alternativa a propria discrezione. L'utilizzo di questa soluzione avviene pertanto a rischio esclusivo dell'utente.

Per risolvere questo problema, configurare ISA Server 2004 SP2 in modo che si comporti come le versioni precedenti di ISA Server 2004.

A tale scopo, eseguire lo script seguente in ISA Server 2004 in cui si vuole modificare la configurazione. Lo script imposta un valore denominato AllowAskBasicAuthOverNonSecureConnection in un nuovo parametro fornitore impostato sotto la radice della matrice ISA Server 2004.

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.

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