Gli utenti non possono accedere al dominio dopo la modifica della password in un controller di dominio remoto

Questo articolo fornisce una soluzione a un problema per cui gli utenti non possono accedere al dominio dopo la modifica della password in un controller di dominio remoto.

Si applica a: Windows 2000
Numero KB originale: 318364

Sintomi

Dopo aver modificato una password dell'account utente in un controller di dominio remoto che contiene il ruolo FSMO (Flexible Single Master Operation) del controller di dominio primario, l'utente potrebbe non essere in grado di accedere a un controller di dominio locale immettendo la nuova password. Tuttavia, l'utente potrebbe comunque essere in grado di accedere al dominio usando la password precedente.

Causa

Questo comportamento può verificarsi quando si verificano le condizioni seguenti:

  • Il controller di dominio remoto non è ancora stato replicato con il controller di dominio locale.

  • Kerberos è configurato per l'uso del protocollo UDP (User Datagram Protocol) (configurazione predefinita).

  • Il token di sicurezza dell'utente è troppo grande per essere inserito in un messaggio Kerberos UDP.

    Nota

    Il token di sicurezza dell'utente può essere grande se l'utente è membro di molti gruppi.

Questo problema è causato dalla funzionalità di anti-riproduzione dell'autenticazione Kerberos nel controller di dominio locale. I passaggi seguenti illustrano questo comportamento:

  1. La password dell'account utente viene modificata nel controller di dominio remoto, ma tale modifica non è ancora stata replicata nel controller di dominio locale.
  2. L'utente tenta di accedere al dominio usando la nuova password. Il messaggio exchange del servizio di autenticazione Kerberos (KRB_AS_REQ) viene inviato al controller di dominio locale tramite UDP.
  3. L'autenticazione del controller di dominio locale non riesce perché non dispone ancora delle nuove informazioni sulla password.
  4. Il controller di dominio locale inoltra la richiesta al controller di dominio primario remoto (KDCSVC!FailedLogon).
  5. FailedLogon Nella funzione viene immessa una voce per la richiesta nella tabella di rilevamento della riproduzione e il messaggio di KRB_AS_REQ viene inviato al controller di dominio primario remoto.
  6. Il controller di dominio primario remoto autentica correttamente la richiesta e quindi restituisce una risposta positiva al controller di dominio locale.
  7. Il controller di dominio locale rileva che la risposta è troppo grande per un pacchetto UDP ed è per questo motivo che invia una richiesta al computer client per inviare nuovamente la richiesta tramite TCP (Transmission Control Protocol).
  8. Il computer client invia nuovamente la richiesta di autenticazione tramite TCP.
  9. L'autenticazione del controller di dominio locale non riesce perché non contiene ancora le nuove informazioni sulla password (come nel passaggio 3).
  10. Il controller di dominio locale inoltra la richiesta al controller di dominio PDC remoto () (KDCSVC!FailedLogoncome nel passaggio 4).
  11. Il controllo di rilevamento della riproduzione nella FailedLogon funzione restituisce un messaggio di KRB_AP_ERR_REPEAT perché nella tabella di rilevamento della riproduzione è già presente una voce per questa richiesta. Si tratta della voce creata nel passaggio 5.

Il tentativo di autenticazione non riesce.

Risoluzione

Per risolvere questo problema, ottenere l'ultimo Service Pack per Windows 2000.

La versione inglese di questa correzione include gli attributi del file (o versioni successive) elencati nella tabella seguente. Le date e le ore per questi file sono elencate in formato UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, vengono convertite in ora locale. Per trovare la differenza tra l'ora UTC e l'ora locale, usare la scheda Fuso orario nello strumento Data e ora in Pannello di controllo.

Date Time Version Size File name
-----------------------------------------------------------
22-Mar-2002 23:55 5.0.2195.4959 123,664 Adsldp.dll
30-Jan-2002 00:52 5.0.2195.4851 130,832 Adsldpc.dll
30-Jan-2002 00:52 5.0.2195.4016 62,736 Adsmsext.dll
22-Mar-2002 23:55 5.0.2195.5201 356,624 Advapi32.dll
22-Mar-2002 23:55 5.0.2195.4985 135,952 Dnsapi.dll
22-Mar-2002 23:55 5.0.2195.4985 95,504 Dnsrslvr.dll
22-Mar-2002 23:56 5.0.2195.5013 521,488 Instlsa5.dll
22-Mar-2002 23:55 5.0.2195.5246 145,680 Kdcsvc.dll
22-Mar-2002 23:50 5.0.2195.5246 199,952 Kerberos.dll
07-Feb-2002 19:35 5.0.2195.4914 71,024 Ksecdd.sys
02-Mar-2002 21:32 5.0.2195.5013 503,568 Lsasrv.dll
02-Mar-2002 21:32 5.0.2195.5013 33,552 Lsass.exe
08-Dec-2001 00:05 5.0.2195.4745 107,280 Msv1_0.dll
22-Mar-2002 23:55 5.0.2195.4917 306,960 Netapi32.dll
22-Mar-2002 23:55 5.0.2195.4979 360,208 Netlogon.dll
22-Mar-2002 23:55 5.0.2195.5221 917,264 Ntdsa.dll
22-Mar-2002 23:55 5.0.2195.5201 386,832 Samsrv.dll
30-Jan-2002 00:52 5.0.2195.4874 128,784 Scecli.dll
22-Mar-2002 23:55 5.0.2195.4968 299,792 Scesrv.dll
30-Jan-2002 00:52 5.0.2195.4600 48,400 W32time.dll
06-Nov-2001 19:43 5.0.2195.4600 56,592 W32tm.exe
22-Mar-2002 23:55 5.0.2195.5011 125,712 Wldap32.dll

Soluzione alternativa

Per risolvere questo problema, modificare la password dell'account utente nel controller di dominio locale o forzare Kerberos a usare TCP (Transmission Control Protocol) anziché UDP (User Datagram Protocol).

Per altre informazioni, vedere Come forzare Kerberos a usare TCP anziché UDP in Windows.

Stato

Microsoft ha confermato che si tratta di un problema nei prodotti Microsoft elencati all'inizio di questo articolo. Questo problema è stato risolto per la prima volta in Windows 2000 Service Pack 3.

Ulteriori informazioni

La funzionalità di anti-riproduzione Kerberos impedisce che lo stesso pacchetto venga ricevuto due volte dal server di autenticazione. Un attacco replay è un attacco in cui una trasmissione di dati valida viene ripetuta in modo dannoso o fraudolento, dall'originatore o da un antagonista che intercetta i dati e lo ritrasmette. Un utente malintenzionato può tentare di "riprodurre" il nome utente e la password di un utente valido nel tentativo di eseguire l'autenticazione usando le credenziali di tale utente.