Algorithmes de contrôle d'accès réseau et des exemples pour Windows Server 2003, Windows XP et Windows 2000

Traductions disponibles Traductions disponibles
Numéro d'article: 103390 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Ce qui suit est un algorithme simplifié qui explique comment la validation du compte Windows est observée à fonction lors de l'accès au réseau utilisant le protocole NTLM. Il est à l'aide de l'accès via le protocole server message block (SMB) comme dans l'exemple, mais elle s'applique à toutes les autres applications de serveur qui prennent en charge l'authentification NTLM. Cette discussion ne couvre pas le fonctionnement interne de ce processus. Avec ces informations, vous pouvez prévoir un comportement d'ouverture de session réseau Windows dans des conditions déterministes.
Lorsque Kerberos est utilisé pour authentifier l'utilisateur et obtenir l'accès aux ressources du serveur, le processus est très différent de ce que fait NTLM. Pour plus d'informations, visitez le site Web Microsoft TechNet suivant :
http://technet2.Microsoft.com/WindowsServer/en/Library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx
N'oubliez pas que la base de données locale est la base de données du domaine et la base de données uniquement sur les contrôleurs de domaine. Mais sur les autres serveurs et tous les ordinateurs, la base de données locale diffère du contrôleur de domaine.

Informations générales

Lorsque deux ordinateurs Windows Server 2003, Windows XP ou Windows 2000 communiquent via un réseau, ils utilisent un protocole de haut niveau appelé bloc de message serveur (SMB). Commandes SMB sont incorporés dans les protocoles de transport tels que TCP/IP ou NetBIOS Enhanced User Interface (NetBEUI). Par exemple, lorsqu'un ordinateur client exécute une commande NET USE , une trame « SMB Session Setup and X » est diffusée.

Dans Windows, le « Programme d'installation de la Session » SMB inclut le compte d'utilisateur, d'une fonction de hachage du mot de passe crypté et domaine d'ouverture de session. Un contrôleur de domaine va examiner toutes ces informations pour déterminer si le client dispose des autorisations pour exécuter la commande NET USE .

Algorithmes

Un ordinateur client Windows envoie la commande suivante sur un serveur :
   NET USE x: \\server\share
		
L'ordinateur client Windows envoie un SMB de « Installation de la Session » qui contient son domaine de connexion, le compte d'utilisateur et le mot de passe.

Le serveur examine le nom de domaine ou le nom de l'ordinateur qui a été spécifié par le PME/PMI. Si le nom est le nom du serveur, l'algorithme suivant est exécuté :
    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
		
Si le domaine spécifié dans SMB est approuvé par le serveur, l'algorithme suivant est exécuté :
    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.
		
Si un canal sécurisé n'est pas défini, l'algorithme suivant est exécuté :
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

IMPORTANT

Les cas suivants traitent des scénarios dans lesquels le client utilise un domaine utilisateur différent de celui dont le serveur a ou connaît de. Il existe un problème avec cette incohérence lors de la négociation du protocole d'authentification NTLMv2. NTLM à v2 utilise un salt de mot de passe et le domaine de l'utilisateur est utilisé dans ce sel par le client.

Lorsque le serveur récupère les informations et recherche l'utilisateur dans la base de données locale, le serveur utilise le nom de la base de données locale pour calculer le salt et le hachage. Par conséquent, si le « domaine source » comme envoyé par le client est vide ou un domaine inconnu, du sel et, par conséquent, le mot de passe de hachage ne correspondront pas. Dans ces cas, la tentative d'authentification échoue avec un « nom d'utilisateur inconnu ou mauvais mot de passe » erreur (STATUS_LOGON_FAILURE). L'événement d'audit de la tentative de rapport « mot de passe incorrect, » symbole STATUS_WRONG_PASSWORD.

Un exemple d'événement :
Nom du journal : sécurité
Source : Microsoft-Windows-audit de sécurité
L'ID d'événement : 4625
Catégorie de la tâche : ouverture de session
Niveau : informations
Mots-clés : Échec de l'Audit
Ordinateur : serveur-computer1
Description :
Un compte n'a pas pu ouvrir une session.

Objet :

ID de sécurité : SID NULL
Nom du compte:-
Domaine du compte:-
ID d'ouverture de session: 0 x 0

Type de connexion: 3

Compte d'ouverture de session a échoué :

ID de sécurité : SID NULL
Nom du compte : ntadmin
Domaine du compte : client-computer1

Informations sur l'échec :

Raison de l'échec : Nom d'utilisateur inconnu ou mauvais mot de passe.
Statut : 0xc000006d
Sub statut : 0xc000006a
...

Informations détaillées d'authentification :

Processus d'ouverture de session : NtLmSsp
Package d'authentification : NTLM
Transité Services:-
Nom (NTLM uniquement) du lot:-
Longueur de clé: 0

Pour éviter ce scénario, vous devez inclure le nom de domaine correct explicitement sur le client. Pour un mappage de disques sur un scénario de groupe de travail, qui serait le suivant :
NET utiliser x: \\server-computer1\data /u:server-computer1\ntadmin *
Si le domaine est spécifié dans SMB est inconnu par le serveur, par exemple, si un domaine a été spécifié, mais n'est pas reconnu par le serveur sous la forme d'un domaine approuvé ou son contrôleur de domaine, l'algorithme suivant est exécuté :
    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
		
Si le domaine est spécifié dans SMB est NULL, c'est-à-dire aucun domaine n'est spécifié, l'algorithme suivant est exécuté :
    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
		

Remarques

  1. Si le compte invité est désactivé et que l'utilisateur ne pas compte d'havean, le serveur demande toujours un mot de passe. Bien qu'aucun mot de passe willmeet ses besoins, le serveur demande toujours un mot de passe sous la forme d'un securitymeasure. Cette mesure de sécurité garantit qu'un utilisateur non autorisé ne peut pas différence tellthe entre un cas où il existe un compte et lorsqu'il existe le ne compte. L'utilisateur sera toujours être invité à fournir un ofwhether quel que soit le mot de passe que le compte existe.
  2. À ce stade, les informations suivantes sont renvoyées à partir du domaine approuvé dans la réponse : SID de domaine, ID utilisateur, GroupsMemberships Global, ouverture de session, déconnexion, KickOffTime, nom complet, LastSet de mot de passe, indicateur de changement de mot de passe peut, indicateur de changement de mot de passe doit, Script utilisateur, chemin du profil, répertoire de base et nombre de mot de passe incorrect.
  3. Si aucun compte n'est trouvé sur le domaine approuvé, theoperating système doit utiliser le compte Invité local pour garantir l'authentification behaviorfor cohérente par rapport au serveur.
  4. Pour plus d'informations sur la façon de restreindre la recherche de noms isolés dans les domaines approuvés externes à l'aide de l'entrée de Registre LsaLookupRestrictIsolatedNameLevel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    818024 Comment faire pour restreindre la recherche de noms isolés dans les domaines approuvés externes à l'aide de l'entrée de Registre LsaLookupRestrictIsolatedNameLevel
  • Les comptes invités sur des domaines approuvés ne seront jamais beavailable.
  • Le processus interne réel est plus complexe que thealgorithms sont décrits ici.
  • Ces algorithmes ne traitent pas la mécanismes ofpass-par le biais de l'authentification. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    102716 Authentification utilisateur NTLM dans Windows
  • Ces algorithmes ne traitent pas de l'encryptionprocess de mot de passe qui est utilisé dans Windows Server 2003, Windows XP et Windows 2000. Un objet binaire volumineux (BLOB) dérivé de hachage de mot de passe aone voies est envoyé dans le cadre de la demande d'authentification. Thecontent de ce BLOB varient selon le protocole d'authentification choisi pour thelogon.
  • Cet article ne traite pas le fonctionnement interne de Module d'authentification de Microsoft.
  • Ces algorithmes supposent que le compte invité, whenenabled, n'a aucun mot de passe. Par défaut, le compte invité n'a pas apassword dans Windows Server 2003, Windows XP et Windows 2000. Si un mot de passe guestaccount est spécifié, le mot de passe qui est envoyé dans le mustmatch de PME/PMI qu'invité compte de mot de passe.

Exemples

Voici quelques exemples de ces algorithmes en action.

Exemple 1

Vous êtes connecté à l'ordinateur en utilisant le même nom de compte et le mot de passe dans la base de données du compte de domaine domaine de toutes pièces. Lorsque vous exécutez la commande NET USE \\SCRATCH pour le contrôleur de domaine pour le domaine de bout en bout, la commande est exécutée avec succès. Lorsque vous exécutez la commande NET USE \\NET pour le contrôleur de domaine qui approuve le domaine domaine de bout en bout, le message d'erreur suivant s'affiche :
Erreur système 1326 s'est produite. Échec de la connexion : nom d'utilisateur inconnu ou mauvais mot de passe.
Le compte \SCRATCH-DOMAIN\USER1 dispose d'autorisations sur \\NET.

Remarque : Cet exemple suppose que les configurations suivantes.

Configurations

Ordinateur qui possède une autorité de sécurité locale :
  -Login account: USER1
  -Password:      PSW1
  -Login Domain:  LOCAL1
		
Contrôleur de domaine 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).
		
Le domaine NET :
  • La base de données du compte de domaine pour le ne domaine NET-domaine contienne un compte à USER1.
  • Le compte invité est désactivé.
Windows Server 2003 :
  -Server Name:                       SCRATCH
  -Domain:                            SCRATCH-DOMAIN
  -Domain Database contains account:  USER1
  -Domain Database contains password: PSW1
		
Dans cet exemple, l'ordinateur est connecté à son domaine local, pas le zéro-domaine dans lequel réside le compte de domaine de l'ordinateur.

Exemple 2

Lorsque vous exécutez la commande NET USE x: \\NET\share , les étapes suivantes se produisent :
  1. Thecomputer envoie les tâches énumérées ci-après dans « Installation de la Session » SMB :
    compte = « USER1 »
    mot de passe = « PSW1 »
    domaine = « LOCAL1 »
  2. Le serveur \\NET reçoit le PME/PMI et regardé le nom de compte.
  3. Le serveur examine son anddoes de base de données de compte domaine local ne trouve pas de correspondance.
  4. Le serveur examine ensuite le nom de domaine SMB.
  5. Le serveur n'approuve pas « LOCAL1 », afin que le serveur ne notcheck ses domaines approuvés.
  6. Le serveur vérifie ensuite le compte invité.
  7. Le compte invité est désactivé afin que la « système erreur 1326 constatéedans. Échec de la connexion : nom d'utilisateur inconnu ou mauvais mot de passe. "isgenerated de message d'erreur.

Exemple 3

Lorsque vous exécutez la commande NET USE x: \\SCRATCH\share, les étapes suivantes se produisent :
  1. Thecomputer envoie les tâches énumérées ci-après dans « Installation de la Session » SMB :
    compte = « USER1 »
    mot de passe = « PSW1 »
    domaine = « LOCAL1 »
  2. Le serveur \\SCRATCH reçoit les PME et examine le nom theaccount.
  3. Le serveur examine son andfinds de base de données de compte de domaine local une correspondance.
  4. Le serveur compare ensuite le mot de passe SMB au mot de passe domainaccount.
  5. Les mots de passe correspondent. Par conséquent, le message « Commande CompletesSuccessfully » est généré.
Dans l'exemple 2 et 3 de l'exemple, la relation d'approbation n'est pas disponible. Si l'ordinateur avait été ouvert une session le domaine de bout en bout, la commande NET USE x: \\NET\share aurait été réussie.

La solution idéale consiste à avoir un journal de tous les ordinateurs à un domaine. Pour ouvrir une session, l'utilisateur doit spécifier le domaine, le compte et le mot de passe. Après cela, NET USE-commandes de type transmet les informations de domaine, le compte et mot de passe correctes. Les administrateurs doivent essayer d'éviter les comptes dupliqués sur plusieurs domaines et ordinateurs. Windows Server 2003 et Windows XP et sur les ordinateurs Windows 2000 permettent d'éviter cette configuration à l'aide d'approbations entre les domaines et en utilisant des membres que vous peuvent utiliser des bases de données de domaine.

Contournement

Il existe une solution de contournement qui peut être utilisée dans ces cas. À partir de l'ordinateur, vous pourriez exécuter la commande suivante :
NET USE X: \\NET\SHARE /USER:SCRATCH-DOMAIN\USER1 PSW1
Dans cette commande, le suivi est vrai :
  - \\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.
		
Pour plus d'informations sur cette commande, tapez ce qui suit à l'invite de commande :
NET USE / ?

Noms de domaine NULL

Le client SMB Microsoft qui est inclus dans Windows Server 2003, Windows XP et Windows 2000 envoie les noms de domaine de valeur NULL dans la « configuration de la Session SMB [x 73] » SMB. Le client SMB Microsoft gère le nom de domaine en spécifiant le nom de domaine d'ouverture de session et en l'envoyant un caractère NULL si le nom de domaine n'est pas spécifié dans la commande NET USE . Le client SMB Microsoft présentera également le problème décrit dans l'exemple 1.

Remarques

  • Le nom de domaine par défaut est spécifié dans LANMAN.INI fichierSur la « domaine = "ligne. Qui peut être substitué par le /Domain : commutateur avec la commande NET LOGON .
  • Il existe généralement deux représentations de « NULL » dans theSMB : un nom de domaine de longueur nulle et un nom de domaine d'un octet qui se compose de thequestion marque de caractère (?). Le serveur SMB intercepte le point d'interrogation et se traduit par itto NULL avant de le transmettre à l'autorité de sécurité locale (LSA).

Résolution des problèmes

Une bonne astuce pour la résolution des problèmes d'accès réseau consiste à activer l'audit en procédant comme suit.

Windows 2000 et les versions ultérieures de contrôleurs de domaine Windows 2000

  1. Les outils d'administration sur un contrôleur de domaine, les ordinateurs et les utilisateurs du répertoire startActive.
  2. Cliquez du bouton droit OU contrôleurs de domaine, puis cliquez sur Propriétés.
  3. Sous l'onglet Stratégie de groupe , double-cliquez surStratégie de contrôleur de domaine par défaut.
  4. Dans l'éditeur de stratégie, cliquez sur ComputerSettings, cliquez sur Paramètres Windows, cliquez surParamètres de sécurité, Stratégies locales, puis cliquez sur Stratégie d'Audit.
  5. Sélectionnez l'option d'ouverture et de réussite d'ouverture de session de compteet la défaillance .

Paramètres de domaine pour les serveurs Windows 2000 et les membres

  1. Les outils d'administration sur un contrôleur de domaine, les ordinateurs et les utilisateurs du répertoire startActive.
  2. Cliquez droit sur le nom de domaine, puis cliquez surPropriétés.
  3. Sous l'onglet Stratégie de groupe , double-cliquez surStratégie de domaine par défaut.
  4. Dans l'éditeur de stratégie, cliquez sur ComputerSettings, cliquez sur Paramètres Windows, cliquez surParamètres de sécurité, sur Stratégies locales, puis cliquez sur Stratégie d'Audit.
  5. Sélectionnez l'option d'ouverture et de réussite d'ouverture de session de compteet la défaillance .

Paramètres locaux pour les serveurs Windows 2000 et les membres

  1. Les outils d'administration, démarrez SecurityPolicy Local.
  2. Ouvrez la stratégie d'Audit.
  3. Sélectionnez l'option d'ouverture et de réussite d'ouverture de session de compteet la défaillance .
Maintenant, chaque fois qu'un utilisateur du réseau accède à ce serveur à distance, une piste d'audit sera considérée dans l'Observateur d'événements. Pour afficher ces événements dans l'Observateur d'événements, cliquez sur sécurité dans le menu journal .

Pour plus d'informations sur les relations d'approbation, l'authentification pass-through, autorisations d'utilisateurs et connexions à un domaine, consultez la « présentation technique de Windows Server 2003 Security Services ». Pour ce faire, visitez le site Web de Microsoft à l'adresse suivante :
http://www.Microsoft.com/windowsserver2003/techinfo/overview/Security.mspx

Plus d'informations

En fait, la même validation d'accès réseau sont des algorithmes s'applique à Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2.

Ces système d'exploitation comporte plusieurs nouvelles fonctionnalités dans 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

Propriétés

Numéro d'article: 103390 - Dernière mise à jour: samedi 15 mars 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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 Professionnel
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Mots-clés : 
kbnetwork kbmt KB103390 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 103390
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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