Resumo
A actualização de segurança 2638420 (descrita no boletim de segurança MS11-100) altera a forma como o ASP.NET cria permissões da autenticação de formulários. O novo comportamento é incompatível com o comportamento anterior. As permissões são geradas utilizando o novo comportamento que não pode ser lido por servidores que utilizam o anterior comportamento e vice-versa. Como tal, se utilizar aplicações que utilizam a autenticação de formulários, deverá tomar passos específicos quando implementar a actualização de segurança 2638420 para certificar-se de que todos os servidores utilizam simultaneamente o novo comportamento.
Orientação de implementação
Devido à mudança de comportamento de permissão, os administradores de cujas aplicações utilizam autenticação de formulários deverão tomar passos específicos quando implementam a actualização de segurança 2638420 para certificarem-se de que todos os servidores mudam simultaneamente para o novo comportamento.
Para determinar se a sua aplicação utiliza a autenticação de formulários, examine o ficheiro System.web. As aplicações que utilizam a autenticação de formulários utilizam a seguinte entrada no ficheiro System.web:
<modo de autenticação="Forms">Notas
-
O modo de autenticação predefinido é "Windows."
-
O ASP.NET apenas utiliza a autenticação de formulários se for explicitamente configurado para tal.
Se utilizar aplicações que utilizam a autenticação de formulários, deverá implementar a actualização de segurança 2638420 utilizando um dos seguintes métodos para certificar-se de que os seus web sites funcionam correctamente.
Método 1
Implemente a actualização de segurança 2638420 em todos os servidores activos no seu web farm ASP.NET em simultâneo. Para tal, siga estes passos:
-
Retire metade dos servidores do web farm da rotação do balanceador de carga.
-
Instale a actualização nesses servidores.
-
Adicione os servidores de novo à rotação enquanto simultaneamente coloca offline os restantes servidores para uma actualização.
Método 2:
Se não conseguir implementar a actualização de segurança 2638420 em todos os servidores em simultâneo na sua web farm, utilize este método.
NotaNão recomendamos este método. Quando define este parâmetro, poderá instalar a actualização de segurança em alguns servidores na web farm e continuar a funcionar, utilizando o antigo comportamento. No entanto, os servidores que utilizam este parâmetro de configuração estarão num estado não seguro e não irão beneficiar de todas as correcções da actualização de segurança. Como tal, o parâmetro da configuração deve ser removido para permitir o novo comportamento seguro assim que a actualização de segurança 2638420 é implementada em todos os servidores na web farm.
Defina um parâmetro de compatibilidade no ficheiro Web.config ou Machine.config antes de instalar a actualização de segurança 2638420 para forçar o anterior comportamento quando a actualização for instalada. Para tal, siga estes passos:
-
Abra quer o ficheiro Web.config ou o ficheiro Machine.config utilizando um editor de texto, tal como o Notepad.
-
Adicione o seguinte texto ao ficheiro e, em seguida, guarde o ficheiro:
<appSettings>
<adicionar chave="aspnet:UseLegacyFormsAuthenticationTicketCompatibility" value="true" />
</appSettings>Não é necessário reiniciar o computador ou quaisquer serviços depois de actualizar e guardar os ficheiros Web.config ou Machine.config. A notificação de alteração da configuração irá automaticamente percorrer o conjunto de aplicações.
Poderá encontrar os ficheiros Web.config nas seguintes localizações:
Microsoft .NET Framework, Versões 4.0 a 4.5
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Web.config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Web.config .NET Framework versões 2.0 – 3.5 SP1
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\Web.config Num computador de 32 bits, apenas existirá a pasta Framework. Num computador de 64 bits, existirão quer a pasta Framework, quer a pasta Framework64. Como tal, se possuir ambos os conjuntos de aplicações de 32 bits e 64 bits em funcionamento com uma mistura de CLR 2 + CLR 4, deverá adicionar a entrada para todos estes quatro ficheiros.
Se adicionar também a entrada <appSettings> a estes ficheiros config, a alteração é aplicada em todo o sistema.
Problemas conhecidos
-
A descrição da permissão falha após a instalação da actualização de segurança 2638420
Após o novo comportamento da permissão ser activado, todas as permissões de autenticação de formulários que são geradas utilizando o anterior comportamento, serão invalidadas. Quando este problema ocorre, os utilizadores finais têm a sessão terminada e os administradores de servidor poderão experienciar falhas de desencriptação de permissão.
Além disso, é registada a seguinte mensagem de erro no registo de eventos:Nome do Registo: Aplicação
Event ID: 1315
Código do evento: 4005
Mensagem do evento: Falha da autenticação de formulários para o pedido. Razão: A permissão fornecida é inválida.
Estas falhas poderão provocar um comportamento inesperado. Por exemplo, poderão ocorrer erros "HTTP 401" ou "HTTP 302" se as páginas web se encontrarem protegidas por um elemento de <autorização>.
Após instalar a actualização de segurança 2638420, os administradores podem esperar ver várias destas falhas de desencriptação de permissão, já que as permissões anteriormente geradas expiraram. A quantidade e a frequência das falhas deverá diminuir ao longo do tempo, à medida que são criadas novas permissões. Se as falhas de desencriptação continuarem durante um período significativo após a instalação da actualização de segurança, isto poderá indicar que alguns servidores na web farm ainda estão a utilizar o antigo comportamento de permissões. Por exemplo, o problema poderá ocorrer caso se verifique uma das seguintes situações:-
Um ou mais servidores não estão actualizados com a actualização de segurança 2638420.
-
Um ou mais possuem o mencionado conjunto de parâmetros de compatibilidade. O parâmetro de compatibilidade é descrito anteriormente neste artigo.
-
Mais Informação
O parâmetro de configuração TicketCompatibilityMode já não é suportado
Já que a actualização de segurança 2638420 altera o formato das permissões de autenticação de formulários, o parâmetro de configuração <forms/ticketCompatibilityMode> não é suportado se a actualização de segurança 2638420 for instalada e activada.
Para mais informações sobre o parâmetro de configuração <forms/ticketCompatibilityMode>, visite o seguinte web site da MSDN: