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