Travamento de Conta não funciona corretamente quando se usa o formato UPN através de Autenticação Baseada em Formulário no ISA Server 2006


1. Introdução


 


Recentemente recebemos uma chamada de suporte de um cliente dizendo que um dos seus usuários de rede foi capaz de efetuar o logon em uma página web segura publicada pelo ISA Server 2006 após tentar digitar errada cinco vezes e na sexta tentativa (com a senha correta) ele efetuou o logon. O problema é que a política de travamento de conta ao digitar senha errada da empresa era de quatro tentativas. Depois disso ficou o alerta de que havia uma vulnerabilidade na publicação segura de página web e o cliente resolveu abrir um chamado de suporte para investigamos isso.


 


Após revisar o ambiente e coletar mais informações sobre o cenário em que o problema não acontecia caso o usuário entrasse com as credencias no formato DOMÍNIO\USUÁRIO. Desta forma, o problema só ocorria de fato se o usuário utilizasse o formato UPN (User Principal Name), que é usuário@domínio, para fazer o logon.


 


2. Ambiente


 


Após identificarmos o cenário, reproduzimos o problema em laboratório. O laboratório tinha a seguinte configuração:


 



Figura 1 – Laboratório usado para simular o problema.


 


Como é possível verificar na figura acima, a página web usava logon seguro via formulários fornecido pelo ISA Server. Na figura abaixo temos a regra de publicação do servidor web:


 



Figura 2 – Regra do ISA Server.


 


A regra usa um “web listener” que utilize autenticação LDAP para validar as credenciais do usuário conforme mostra abaixo:


 


Figura 3 – Componentes LDAP.


 


Na parte de “login expression” temos cadastrados ambos formatos: SAM Based e UPN Based.


 


Para maiores informações sobre configuração LDAP reveja os artigos que publiquei acerca deste assunto:


 


Publicação de Web Site com Troca de Senha de Usuário no ISA Server 2006 – Parte 1


Publicação de Web Site com Troca de Senha de Usuário no ISA Server 2006 – Parte 2


 


 


3. Entendendo o Processo de Logon


 


Para melhor entender o processo de tentativas de logon nós habilitamos o logging do netlogon no controlador de domínio. Para isso o seguinte comando foi executado na console do controlador de domínio:


 



nltest /dbflag:0x2080ffff


 


3.1. Using o formato SAM Account Name


 


Quando o usuário Bob tenta efetuar o logon no servidor ISA Server 2006 através de formulário seguro usando o formato DOMÍNIO\USUÁRIO e digita a senha errada, os seguintes eventos são registrados no log do netlogon.


 



11/20 21:19:34 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Entered


11/20 21:19:34 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Returns 0xC000006A


11/20 21:19:40 [LOGON] CONTOSO: SamLogon: Network logon of CONTOSO\Administrator from DCCONT Entered


11/20 21:19:40 [LOGON] CONTOSO: SamLogon: Network logon of CONTOSO\Administrator from DCCONT Returns 0x0


11/20 21:19:40 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Entered


11/20 21:19:40 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Returns 0xC000006A


11/20 21:19:45 [LOGON] CONTOSO: SamLogon: Network logon of CONTOSO\Administrator from DCCONT Entered


11/20 21:19:45 [LOGON] CONTOSO: SamLogon: Network logon of CONTOSO\Administrator from DCCONT Returns 0x0


11/20 21:19:45 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Entered


11/20 21:19:45 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Returns 0xC000006A


 


O erro 0xC000006A significa que a senha digitada está incorreta. Após quatro tentativas (que foi estabelecido via política) o seguinte evento é registrado:


 



11/20 21:19:51 [LOGON] CONTOSO: SamLogon: Network logon of contoso\bob from ISACONTN2 Returns 0xC0000234


 


O erro 0xC0000234 significa que a conta do usuário foi automaticamente locada. No visualizador de eventos, o seguinte evento também é registrado:


 


Event Type:   Success Audit


Event Source: Security


Event Category:       Account Management


Event ID:       644


Date:            11/20/2007


Time:            9:19:45 PM


User:            NT AUTHORITY\SYSTEM


Computer:     DCCONT


Description:


User Account Locked Out:


          Target Account Name:        Bob


          Target Account ID:    CONTOSO\Bob


          Caller Machine Name:         ISACONTN2


          Caller User Name:    DCCONT$


          Caller Domain:         CONTOSO


          Caller Logon ID:       (0x0,0x3E7)


 


 


3.2. Usando o Formato UPN


 


Quando o usuário Bob tenta efetuar o logon no servidor ISA Server 2006 através de formulário seguro usando o formato username@domain e digita a senha errada, os seguintes eventos são registrados no log do netlogon.


 



11/20 21:22:04 [LOGON] CONTOSO: SamLogon: Network logon of (null)\bob@contoso.msft from ISACONTN2 Entered


11/20 21:22:04 [LOGON] CONTOSO: SamLogon: Network logon of (null)\bob@contoso.msft from ISACONTN2 Returns 0xC0000225


 


O erro que é registrado neste cenário não é o 0xC000006A, ao invés disso o erro registrado é 0xC0000225, que por sua vez significa STATUS_NOT_FOUND. Mesmo digitando a senha incorreta várias vezes a conta não é locada pois o valor não é incrementado pelo controlador de domínio.


 


4. Como Corrigir o Problema


 


Este é um problema já corrigido pelo Windows Server 2003 SP2, entretanto sabemos que existem diversos clientes que ainda não aplicaram este Service Pack (o que é recomendado), se este for o seu caso então aplique o hotfix abaixo para solucionar o problema:


 


921063          Unsuccessful authentications are not counted as incorrect password logon attempts when you use the IADsOpenDSObject::OpenDSObject method to specify a UPN in a Windows Server 2003 domain


http://support.microsoft.com/default.aspx?scid=kb;EN-US;921063


 


Aplique este hotfix em todos controladores de domínio e no servidor ISA (caso ele tenha o Windows Server 2003 SP1). 


 



 


Até a próxima.


 


Yuri Diogenes


Security Support Engineer – ISA Server Team


Microsoft Texas


Comments (0)