Algoritmi di convalida di accesso rete ed esempi per Windows Server 2003, Windows XP e Windows 2000

Traduzione articoli Traduzione articoli
Identificativo articolo: 103390 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Il seguente Ŕ un algoritmo semplificato che spiega come si osserva la convalida dell'account Windows in funzione durante l'accesso alla rete utilizzando il protocollo NTLM. Accesso tramite il protocollo server message block (SMB) viene utilizzato come esempio, ma si applica a tutte le altre applicazioni server che supportano l'autenticazione NTLM. Questa discussione non riguarda i meccanismi interni di questo processo. Con queste informazioni, Ŕ possibile prevedere il comportamento di accesso di rete di Windows in condizioni deterministiche.
Quando viene utilizzato Kerberos per autenticare l'utente e ottenere l'accesso alle risorse del server, il processo Ŕ molto diverso da quello che fa NTLM. Per ulteriori informazioni, visitare il seguente sito Web Microsoft TechNet:
http://technet2.microsoft.com/WindowsServer/en/library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx
Tenere presente che il database locale Ŕ il database del dominio e il database solo sui controller di dominio. Ma in altri server e tutti i computer, il database locale Ŕ diverso dal controller di dominio.

Informazioni di base

Quando due computer Windows Server 2003, Windows XP o Windows 2000 comunicano su una rete, utilizzano un protocollo di alto livello denominato server messaggio block (SMB). I comandi SMB sono incorporati nei protocolli di trasporto, ad esempio TCP/IP o NetBIOS Enhanced User Interface (NetBEUI). Ad esempio, quando un computer client esegue un comando NET USE , una cornice "SMB Session Setup and X" viene inviata.

In Windows, SMB "Impostazione della sessione" include l'account utente, una funzione hash della password crittografata e del dominio di accesso. Un controller di dominio esaminerÓ tutte queste informazioni per determinare se il client dispone delle autorizzazioni necessarie per completare il comando NET USE .

Algoritmi

Un computer client Windows invia il comando seguente a un server:
   NET USE x: \\server\share
		
Il computer di client Windows invia un SMB "Impostazione della sessione" che contiene il dominio di accesso, account utente e password.

Il server esamina il nome di dominio o il nome del computer che Ŕ stato specificato tramite il protocollo SMB. Se il nome Ŕ il nome del server, viene eseguito il seguente algoritmo:
    It checks its own domain database or computer database for
        a matching account.
    If it finds a matching account then
        The SMB password is compared to the domain database password or the computer database password.
        If  the password matches then
            The command completed successfully.
        If  the password does NOT match then
            The user is prompted for a password.
                The password is retested as above.
            System error 1326 has occurred. Logon failure: unknown
            user name or bad password.
        End
    If  it does NOT find the account in the domain Security Accounts Manager (SAM) database or computer SAM database then
        Guest permissions are tested.
        If  the guest account is enabled
            The command completed successfully.
        If  the guest account is disabled
            (* See Note a).
            The user is prompted for a password.
            System error 1326 has occurred. Logon failure:
                unknown user name or bad password.
        End
		
Se il dominio specificato nel protocollo SMB Ŕ considerata affidabile dal server, viene eseguito il seguente algoritmo:
    The server will do pass-through authentication. The
        network logon request will be sent to a server that has a domain controller role in the
        specified trusted domain.
		
Se non Ŕ possibile impostare un canale protetto, viene eseguito il seguente algoritmo:
The trusted domain controller checks its own domain database
        for a matching account.
    If the trusted domain controller finds a matching account, then
       NOT for Windows 2000 and later versions:
    It determines whether the account is a local or global account.
       If the account is local, then
           Guest permissions on the original server are tested.
           If the guest account is enabled
               The command completed successfully.
           If the guest account is disabled
               (* See Note a) The user is prompted for a password.
               System error 1326 has occurred. Logon failure:
               unknown user name or bad password.
        End
        If the account is global (the only option for Active Directory)
           The SMB password is compared to the domain database
               password.
           If  the password matches, then
               The command completed successfully.
               (* See Note b)
           If  the password does NOT match, then
               The user is prompted for a password.
                   The password is retested as above.
               System error 1326 has occurred. Logon failure:
               unknown user name or bad password.
       End
    If the trusted domain controller does NOT find the account in the trusted domain controller
           database, then
       Guest permissions are tested on the original server, not the trusted domain.  (* See Note c)
       If  the guest account is enabled
           The user will have original server guest access.
           The command completed successfully.
       If  the guest account is disabled
           (* See Note a) The user is prompted for a password.
           System error 1326 has occurred. Logon failure:
           unknown user name or bad password.
    End

IMPORTANTE

I seguenti casi discutere scenari in cui il client utilizza un dominio utente diverso da quello in cui il server Ŕ o Ŕ in grado di. Esiste un problema con questa mancata corrispondenza quando viene negoziato il protocollo di autenticazione NTLMv2. NTLM a v2 utilizza un salt di password e il dominio dell'utente viene utilizzato in sale dal client.

Quando il server Ottiene le informazioni e trova l'utente nel database locale, il server utilizza il nome del database locale per calcolare il valore salt e l'hash. Pertanto, se "dominio di origine" come inviato dal client Ŕ vuoto o Ŕ un dominio sconosciuto, il salt e pertanto la password hash non corrisponderanno. In questi casi, il tentativo di autenticazione non riesce con un "nome utente sconosciuto o password non valida" errore (STATUS_LOGON_FAILURE). L'evento di controllo per il tentativo di segnalerÓ la "password non corretta," simbolo di STATUS_WRONG_PASSWORD.

Un evento di esempio:
Nome registro: protezione
Origine: Microsoft-Windows--controllo della protezione
ID evento: 4625
Categoria di attivitÓ: accesso
Livello: informazioni
Parole chiave: Controllo non riuscito
Computer: server-computer1
Descrizione:
Un account di accesso non riuscito.

Oggetto:

ID di protezione: SID NULL
Nome account:-
Account di dominio:-
ID di accesso: 0x0

Tipo di accesso: 3

Account per l'accesso non riuscito:

ID di protezione: SID NULL
Nome account: ntadmin
Dominio di account: client-computer1

Informazioni di errore:

Motivo dell'errore: Nome utente sconosciuto o password non valida.
Stato: 0xc000006d
Sub stato: 0xc000006a
...

Informazioni dettagliate di autenticazione:

Processo di accesso: NtLmSsp
Pacchetto di autenticazione: NTLM
SarÓ attraversato servizi:-
(Solo NTLM) di nome pacchetto:-
Lunghezza chiave: 0

Per evitare questo scenario, Ŕ necessario includere il nome di dominio corretto in modo esplicito sul client. Per un mapping unitÓ sullo scenario di un gruppo di lavoro, che sarebbe il seguente:
NET utilizzare x: \\server-computer1\data /u:server-computer1\ntadmin *
Se il dominio specificato nel protocollo SMB Ŕ sconosciuto dal server, ad esempio, se un dominio Ŕ stato specificato ma non Ŕ stato riconosciuto dal server come un dominio trusted o al controller di dominio, ovvero viene eseguito il seguente algoritmo:
    It  will check its own account database for
        a matching account
    If  the server finds a matching account, then
        The SMB password is compared to the domain database password or the computer database password.
        If  the password matches, then
            The command completed successfully.
        If  the password does NOT match, then
            The user is prompted for a password.
                The password is retested as above.
            System error 1326 has occurred. Logon failure: unknown
            user name or bad password.
    End
    If  it does NOT find the account in the domain database then
        guest permissions are tested.
        If  the guest account is enabled
            The command completed successfully.
        If  the guest account is disabled
            System error 1326 has occurred. Logon failure:
            unknown user name or bad password.
    End
		
Se il dominio specificato nel protocollo SMB Ŕ NULL, ovvero viene specificato alcun dominio, viene eseguito il seguente algoritmo:
    The server will treat this as a local network logon. The server
        will test for a matching account in its own database.
    If  it finds a matching account, then
        The SMB password is compared to the SAM database password.
        If  the password matches, then
            The command completed successfully.
        If  the password does NOT match, then
            The user is prompted for a password.
                The password is retested as above.
            System error 1326 has occurred. Logon failure: unknown
            user name or bad password.
    End
    If  it does NOT find the account in the local SAM database AND
      LsaLookupRestrictIsolatedNameLevel=0, then (* See Note d)
        The server will simultaneously ask each domain that it trusts whether it has account that
            matches the SMB account.
        The first trusted domain to reply is sent a request to
            perform pass-through authentication of the client
            information.
        The trusted domain will look in its own database.
        If  an account that matches the SMB account is found, then
            The trusted domain determines whether the account is a local or global
                account.
           Not for Windows 2000 and later versions:
            If  the account is local then
                Guest permissions on the original server are tested.
                If  the guest account is enabled
                    The command completed successfully.
                If  the guest account is disabled
                The user will be prompted for a password.
                Regardless of what password is entered, the user will receive
                    "Error 5: Access has been denied."
            End
            If  the account is global (the only option for Active Directory)
                The password that was specified in the SMB is compared
                    to the SAM database password.
                If  the password matches, then
                    The command completed successfully.
                If  the password does NOT match, then
                    The user is prompted for a password.
                        The password is retested as above.
                    System error 1326 has occurred. Logon failure:
                    unknown user name or bad password.
            End
    If  no trusted domains respond to the request to identify the
        account, then
        Guest permissions are tested on the original server,
            not the trusted server.
        If  the guest account is enabled
            The command completed successfully.
        If  the guest account is disabled
            System error 1326 has occurred. Logon failure:
            unknown user name or bad password.
    End
		

Note

  1. Se l'account guest Ŕ disabilitato e non account havean eseguite dall'utente, il server richiederÓ comunque una password. Anche se non willmeet password relativi requisiti, il server richiederÓ comunque una password come una securitymeasure. Questa misura di protezione viene garantito che un utente non autorizzato non pu˛ tellthe differenza tra un caso dove esiste un account e quando esiste molto il conto. L'utente verrÓ sempre richiesto per un ofwhether indipendentemente dal fatto che password l'account esiste.
  2. A questo punto, le informazioni riportate di seguito viene restituite dal dominio trusted nella risposta: SID del dominio, ID utente, GroupsMemberships globale, orario di accesso, fine sessione, KickOffTime, nome completo, LastSet Password, Password possibile modifica Flag, Flag Password di modifica deve, Script utente, percorso del profilo, Home Directory e conteggio delle Password errate.
  3. Se non viene trovato alcun account del dominio trusted, sistema theoperating necessario utilizzare l'account guest locale per garantire l'autenticazione behaviorfor coerente con il server.
  4. Per ulteriori informazioni su come limitare la ricerca di nomi isolati in domini trusted esterni utilizzando la voce del Registro di sistema LsaLookupRestrictIsolatedNameLevel, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
    818024 Come limitare la ricerca di nomi isolati in domini trusted esterni utilizzando la voce del Registro di sistema LsaLookupRestrictIsolatedNameLevel
  • Gli account Guest su domini trusted non verranno mai beavailable.
  • Il processo effettivo, interno Ŕ pi¨ complesso di thealgorithms sono descritti di seguito.
  • Questi algoritmi non verrÓ illustrata l'autenticazione ofpass-tramite meccanismi effettivo. Per ulteriori informazioni, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
    102716 Autenticazione NTLM utente in Windows
  • Questi algoritmi non sono esaminati encryptionprocess la password utilizzata in Windows Server 2003, Windows XP e Windows 2000. Un oggetto binario di grande (BLOB) derivato dall'hash della password modo diun ' viene inviato come parte della richiesta di autenticazione. Contenuto di questo BLOB dipenderanno dal protocollo di autenticazione scelto per thelogon.
  • In questo articolo non viene illustrato il funzionamento interno di un modulo di autenticazione di Microsoft.
  • Questi algoritmi si presuppongono che l'account guest, whenenabled, non dispone di alcuna password. Per impostazione predefinita, l'account guest non Ŕ apassword in Windows Server 2003, Windows XP e Windows 2000. Se viene specificata una password guestaccount, la password dell'utente che viene inviata la mustmatch SMB che guest password dell'account.

Esempi

Di seguito sono riportati alcuni esempi di questi algoritmi in azione.

Esempio 1

Si Ŕ connessi al computer utilizzando lo stesso nome di account e la password nel database degli account di dominio dominio zero. Quando si esegue il comando NET USE \\SCRATCH per il controller di dominio per il dominio del dominio zero, il comando Ŕ stato completata. Quando si esegue il comando NET USE \\NET per il controller di dominio che consideri attendibile il dominio del dominio zero, viene visualizzato il seguente messaggio di errore:
Errore di sistema 1326. Errore durante l'accesso: nome utente sconosciuto o password non valida.
L'account \SCRATCH-DOMAIN\USER1 dispone di autorizzazioni \\NET.

Nota. In questo esempio si presuppone che le seguenti configurazioni.

Configurazioni

Computer che dispone di un'autoritÓ di protezione locale:
  -Login account: USER1
  -Password:      PSW1
  -Login Domain:  LOCAL1
		
Controller di dominio di Active Directory:
  -Server Name: NET</WWITEM>
  -Domain:      NET-DOMAIN</WWITEM>
  -Trust:       NET-DOMAIN Trust SCRATCH-DOMAIN (Therefore,
                accounts on SCRATCH-DOMAIN can be granted permissions 
                in the NET- DOMAIN).
		
Il dominio del dominio di rete:
  • Il database di account di dominio per molto di dominio del dominio di rete contiene un account per USER1.
  • L'account guest Ŕ disabilitato.
Windows Server 2003:
  -Server Name:                       SCRATCH
  -Domain:                            SCRATCH-DOMAIN
  -Domain Database contains account:  USER1
  -Domain Database contains password: PSW1
		
In questo esempio, il computer Ŕ connesso al proprio dominio locale, non il dominio del dominio zero cui risiede l'account di dominio del computer.

Esempio 2

Quando si esegue il comando NET USE x: \\NET\share , si verificano le seguenti operazioni:
  1. Thecomputer invia le informazioni seguenti nel protocollo SMB "Impostazione della sessione":
    account = "USER1"
    password = "PSW1"
    Domain = "LOCAL1"
  2. Il server \\NET riceve il SMB ed esaminato accountname.
  3. Il server esamina il database di account locale di dominio anddoes non trova una corrispondenza.
  4. Il server esamina quindi il nome di dominio SMB.
  5. Il server non considera attendibile "LOCAL1", in modo che il server non notcheck i domini trusted.
  6. Il server verifica quindi l'account guest.
  7. L'account guest Ŕ disabilitato in modo che il "sistema errore 1326 hasoccurred. Errore durante l'accesso: nome utente sconosciuto o password non valida. "isgenerated messaggio di errore.

Esempio 3

Quando si esegue il comando NET USE x: \\SCRATCH\share, si verificano le seguenti operazioni:
  1. Thecomputer invia le informazioni seguenti nel protocollo SMB "Impostazione della sessione":
    account = "USER1"
    password = "PSW1"
    Domain = "LOCAL1"
  2. Il server \\SCRATCH riceve il SMB ed esamina il nome account.
  3. Il server esamina il database di account locale di dominio andfinds una corrispondenza.
  4. Il server confronta quindi la password SMB per la password domainaccount.
  5. Le password corrispondono. Di conseguenza, viene generato il messaggio "Comando CompletesSuccessfully".
Nell'esempio 2 e 3, la relazione di trust non Ŕ disponibile. Se il computer fosse stato connesso al dominio dominio zero, il comando NET USE x: \\NET\share sarebbe riuscito.

La soluzione ideale Ŕ disporre di tutti i log del computer a un dominio. Per accedere, l'utente deve specificare il dominio, account e password. Una volta fatto questo, di tutti i NET USE-tipo comandi passerÓ le informazioni corrette per il dominio, account e password. Gli amministratori, Ŕ consigliabile evitare di account duplicati in pi¨ domini e computer. Computer basato su Windows 2000 e Windows Server 2003 e Windows XP consentono di evitare questa configurazione tramite relazioni di trust tra domini e utilizzando i membri che Ŕ possono utilizzare un database di dominio.

Soluzione alternativa

Esiste una soluzione che pu˛ essere utilizzata in questi casi. Dal computer, Ŕ possibile eseguire il comando riportato di seguito:
X: NET USE \\NET\SHARE /USER:SCRATCH-PSW1 DOMINIO\UTENTE1
In questo comando, vale la seguente:
  - \\NET = The computer name of the domain controller being accessed.
  - \SHARE = The share name.
  - /USER: command line parameter that lets you specify the domain,
    account and password that should be specified in the "Session Setup"
    SMB.
  - SCRATCH-DOMAIN = Domain name of the domain where the user
    account resides.
  - \USER1 = account to be validated against.
  - PSW1 = password that matches account on the domain.
		
Per ulteriori informazioni su questo comando, digitare quanto segue al prompt dei comandi:
NET USE /?

Nomi di dominio NULL

Il client SMB Microsoft incluso in Windows Server 2003, Windows XP e Windows 2000 invia i nomi di dominio NULL in "Impostazione della sessione SMB [x 73]" SMB. Il client SMB Microsoft gestisce il nome di dominio, specificando il nome del dominio di accesso e mediante l'invio di un carattere NULL se il nome di dominio non Ŕ specificato nel comando NET USE . Il client SMB Microsoft assumerÓ anche il comportamento descritto nell'esempio 1.

Note

  • Il nome di dominio predefinito Ŕ specificato nel file LANMAN.INI fileon il "dominio =" riga. Pu˛ essere sottoposto a override mediante la /DOMAIN: passare con il comando NET LOGON .
  • In genere esistono due rappresentazioni per "NULL" in theSMB: un nome di dominio di lunghezza zero e un nome di dominio di un byte Ŕ costituito da thequestion contrassegna il carattere (?). Il server SMB rileva il punto interrogativo e converte OILT NULL prima di passarlo all'autoritÓ di protezione locale (LSA).

Risoluzione dei problemi

╚ un suggerimento per la risoluzione dei problemi di accesso di rete per attivare il controllo effettuando le seguenti operazioni.

Windows 2000 e versioni successive di controller di dominio basato su Windows 2000

  1. Da strumenti di amministrazione su un controller di dominio, startActive Directory Users and Computers.
  2. Pulsante destro del mouse, UnitÓ Organizzativa controller di dominio, andthen fare clic su proprietÓ.
  3. Nella scheda Criteri di gruppo , fare doppio clic sulCriterio Controller di dominio predefinito.
  4. Nell'Editor di criteri, fare clic ComputerSettings, fare clic su Impostazioni di Windows, fare clic suImpostazioni protezione, fare clic su Criteri locali, andthen fare clic su Criteri di controllo.
  5. Selezionare le opzioni di accesso e Account di accesso riuscitie l'errore .

Impostazioni di dominio per Windows 2000 Server e i membri

  1. Da strumenti di amministrazione su un controller di dominio, startActive Directory Users and Computers.
  2. Destro del mouse sul nome di dominio e quindi scegliereproprietÓ.
  3. Nella scheda Criteri di gruppo , fare doppio clic suCriterio dominio predefinito.
  4. Nell'Editor di criteri, fare clic su ComputerSettings, fare clic su Impostazioni di Windows, fare clic suImpostazioni di protezione, fare clic su Criteri locali, andthen fare clic su Criteri di controllo.
  5. Selezionare le opzioni di accesso e Account di accesso riuscitie l'errore .

Impostazioni locali per Windows 2000 Server e i membri

  1. Da strumenti di amministrazione avviare SecurityPolicy locale.
  2. Aprire criteri di controllo.
  3. Selezionare le opzioni di accesso e Account di accesso riuscitie l'errore .
A questo punto, ogni volta che un utente di rete a questo server in modalitÓ remota, un itinerario di controllo verrÓ registrato nel Visualizzatore eventi. Per visualizzare questi eventi nel Visualizzatore eventi, scegliere protezione dal menu Registro .

Per ulteriori informazioni sulle relazioni di trust, autenticazione pass-through, le autorizzazioni utente e account di accesso di dominio, vedere la "Panoramica tecnica di Windows Server 2003 Security Services." A tale scopo, visitare il seguente sito Web Microsoft:
http://www.microsoft.com/windowsserver2003/techinfo/overview/Security.mspx

Informazioni

In pratica, la stessa convalida di accesso di rete sono algoritmi si applica a Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2.

Questi OS offre diverse nuove funzioni in SMB.

Windows Server 2008

http://technet.microsoft.com/en-us/library/ff625695 (v=ws.10).aspx

http://technet.microsoft.com/en-us/library/cc770740 (v=ws.10).aspx


Windows Server 2012

http://technet.microsoft.com/en-us/library/hh831795.aspx

ProprietÓ

Identificativo articolo: 103390 - Ultima modifica: sabato 15 marzo 2014 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Chiavi:á
kbnetwork kbmt KB103390 KbMtit
Traduzione automatica articoli
IMPORTANTE: il presente articolo Ŕ stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l?obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre Ŕ perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilitÓ per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualitÓ della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 103390
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com