Algoritmos de validación de acceso de red y ejemplos para Windows Server 2003, Windows XP y Windows 2000

Seleccione idioma Seleccione idioma
Id. de artículo: 103390 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

El siguiente es un algoritmo de simplificada que explica cómo se observa la validación de la cuenta de Windows a la función durante el acceso a la red utilizando el protocolo NTLM. Está usando el acceso a través del protocolo de server message block (SMB) como en el ejemplo, pero se aplica a todas las otras aplicaciones de servidor que admiten la autenticación NTLM. Esta explicación no comprende el funcionamiento interno de este proceso. Con esta información, puede predecir el comportamiento de inicio de sesión de red Windows en condiciones deterministas.
Cuando se utiliza Kerberos para autenticar al usuario y obtener acceso a los recursos del servidor, el proceso es muy diferente de lo que hace de NTLM. Para obtener más información, visite el siguiente sitio Web de Microsoft TechNet:
http://technet2.Microsoft.com/WindowsServer/en/Library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx
Recuerde que la base de datos es la base de datos y la base de datos sólo en los controladores de dominio. Pero en otros servidores y todos los equipos, la base de datos local difiere del controlador de dominio.

Información general

Cuando dos equipos de Windows Server 2003, Windows XP o Windows 2000 comunican a través de una red, utilizan un protocolo de alto nivel denominado bloque de mensajes del servidor (SMB). Los comandos SMB se incrustan en los protocolos de transporte, como TCP/IP o de interfaz de usuario mejorada de NetBIOS (NetBEUI). Por ejemplo, cuando un equipo cliente realiza un comando NET USE , un marco de "SMB Session Setup and X" se envía.

En Windows, el SMB de "Configuración de la sesión" incluye la cuenta de usuario, una función hash de la contraseña y el dominio de inicio de sesión. Un controlador de dominio examinará toda esta información para determinar si el cliente tiene permisos para completar el comando NET USE .

Algoritmos

Un equipo cliente Windows envía el siguiente comando en un servidor:
   NET USE x: \\server\share
		
El equipo cliente de Windows envía un SMB de "Configuración de la sesión" que contiene su dominio de inicio de sesión, la cuenta de usuario y la contraseña.

El servidor examina el nombre de dominio o nombre de equipo especificado por el SMB. Si el nombre es el nombre del servidor, se ejecuta el siguiente 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
		
Si el dominio especificado en el SMB es uno que confía en el servidor, se ejecuta el siguiente 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.
		
Si un canal seguro no está configurado, se ejecuta el siguiente 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

Los casos siguientes describen situaciones donde el cliente utiliza un dominio de usuario diferente de la que el servidor tiene o sabe de. Hay un problema con este error de coincidencia cuando se negocia el protocolo de autenticación NTLMv2. NTLM en v2 utiliza una sal de contraseña y el dominio de usuario se utiliza en esta sal por el cliente.

Cuando el servidor obtiene la información y el usuario encuentra en la base de datos local, el servidor utiliza el nombre de la base de datos para calcular el valor salt y el valor hash. Por lo tanto, si el "dominio de origen" como enviado por el cliente está vacío o es un dominio desconocido, el valor salt y, por tanto, la contraseña hash no coincidirán. En estos casos, el intento de autenticación producirá un "nombre de usuario desconocido o contraseña incorrecta" error (STATUS_LOGON_FAILURE). El suceso de auditoría para el intento de informará de "contraseña incorrecta","el símbolo STATUS_WRONG_PASSWORD.

Ejemplo del evento:
Nombre de registro: seguridad
Fuente: Microsoft-Windows--auditoría de seguridad
ID. de suceso: 4625
Categoría de la tarea: inicio de sesión
Nivel: información
Palabras clave: Error de auditoría
Equipo: equipo1-servidor
Descripción:
No se pudo iniciar sesión una cuenta.

Asunto:

ID de seguridad: SID nulo
Nombre de cuenta:-
Dominio de cuenta:-
ID. de inicio de sesión: 0 x 0

Tipo de inicio de sesión: 3

Cuenta para el inicio de sesión:

ID de seguridad: SID nulo
Nombre de cuenta: ntadmin
Dominio de cuenta: equipo1-cliente

Información de error:

Razón del error: Nombre de usuario desconocido o contraseña incorrecta.
Estado: 0xc000006d
Sub estado: 0xc000006a
...

Información detallada de autenticación:

Proceso de inicio de sesión: NtLmSsp
Paquete de autenticación: NTLM
Servicios de tránsito:-
Nombre (sólo NTLM) del paquete:-
Longitud de la clave: 0

Para evitar esta situación, debe incluir el nombre de dominio correcto explícitamente en el cliente. Para una asignación de unidad en un escenario de grupo de trabajo, que sería el siguiente:
NET use x: \\server-computer1\data /u:server-computer1\ntadmin *
Si el dominio que se especifica en el SMB se desconoce por el servidor, por ejemplo, si un dominio se ha especificado pero no reconocido por el servidor como un dominio de confianza o su controlador de dominio, se ejecuta el siguiente 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
		
Si el dominio que se especifica en el SMB es NULL, es decir, no se especifica ningún dominio, se ejecuta el siguiente 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
		

Notas

  1. Si la cuenta Invitado está deshabilitada y el usuario no cuenta de cuando no, el servidor todavía solicitará una contraseña. Aunque no nos veremos la contraseña sus requisitos, el servidor siguen solicitando una contraseña como un securitymeasure. Esta medida de seguridad garantiza que un usuario no autorizado no puede decir diferencia entre un caso donde existe una cuenta y cuando existe el no cuenta. El usuario siempre le pedirá un ofwhether independientemente de contraseña que existe la cuenta.
  2. En este punto, se devuelve la siguiente información del dominio de confianza en la respuesta: SID de dominio, ID de usuario, GroupsMemberships Global, tiempo de inicio de sesión, tiempo de cierre de sesión, KickOffTime, nombre completo, contraseña LastSet, indicador de cambio de contraseña puede, indicador de cambio de contraseña debe, secuencia de comandos de usuario, ruta de acceso del perfil, directorio principal y contador de contraseña incorrecta.
  3. Si no hay ninguna cuenta se encuentra en el dominio de confianza, el sistema de theoperating debe utilizar la cuenta de invitado local para garantizar el comportamiento coherente de autenticación con el servidor.
  4. Para obtener más información acerca de cómo restringir la búsqueda de nombres aislados en dominios externos de confianza mediante la entrada de Registro LsaLookupRestrictIsolatedNameLevel, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    818024 Cómo restringir la búsqueda de nombres aislados en dominios externos de confianza mediante la entrada de Registro LsaLookupRestrictIsolatedNameLevel
  • Las cuentas de invitado en dominios de confianza nunca va a estar disponiblepara.
  • El proceso real, interno es más complejo que thealgorithms a los que se describen aquí.
  • Estos algoritmos no explique la autenticación ofpass a través de mecanismos. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    102716 Autenticación NTLM en Windows
  • Estos algoritmos no hablar de la encryptionprocess de contraseña que se utiliza en Windows Server 2003, Windows XP y Windows 2000. Un objeto grande binario (BLOB) derivado de hash de la contraseña de modo de aone se envía como parte de la solicitud de autenticación. El contenido de este BLOB dependerá en el protocolo de autenticación elegido para thelogon.
  • En este artículo no se describe el funcionamiento interno de módulo de autenticación de Microsoft.
  • Estos algoritmos se supone que la cuenta de invitado, whenenabled, no tiene contraseña. De manera predeterminada, la cuenta de invitado no tiene apassword en Windows Server 2003, Windows XP y Windows 2000. Si se especifica una contraseña de guestaccount, la contraseña de usuario que se envía en el mustmatch SMB que invitado contraseña de la cuenta.

Ejemplos

Los siguientes son ejemplos de estos algoritmos en acción.

Ejemplo 1

Se registran en el equipo utilizando el mismo nombre de cuenta y la contraseña que está en la base de datos de cuentas de dominio dominios de cero. Cuando ejecuta el comando NET USE \\SCRATCH para el controlador de dominio para el dominio de cero, el comando se completó correctamente. Cuando ejecuta el comando NET USE \\NET para el controlador de dominio que confía en el dominio de cero, recibirá el siguiente mensaje de error:
Error de sistema 1326. Error de inicio de sesión: nombre de usuario desconocido o contraseña incorrecta.
La cuenta \SCRATCH-DOMAIN\USER1 tiene permisos en \\NET.

Nota Supone que las siguientes configuraciones.

Configuraciones

Equipo que tiene la autoridad de seguridad local:
  -Login account: USER1
  -Password:      PSW1
  -Login Domain:  LOCAL1
		
Controlador de dominio de 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).
		
El dominio de la red dominio:
  • La base de datos de cuentas de dominio para el no de dominio del dominio de red contiene una cuenta de Usuario1.
  • La cuenta Invitado está deshabilitada.
Windows Server 2003:
  -Server Name:                       SCRATCH
  -Domain:                            SCRATCH-DOMAIN
  -Domain Database contains account:  USER1
  -Domain Database contains password: PSW1
		
En este ejemplo, el equipo se registra en su dominio local, no el dominio del principio del dominio donde reside la cuenta de dominio del equipo.

Ejemplo 2

Cuando ejecuta el comando NET USE x: \\NET\share , se producen los pasos siguientes:
  1. Computadora envía lo siguiente en el SMB "Configuración de la sesión":
    cuenta = "USER1"
    Password = "PSW1"
    dominio = "LOCAL1"
  2. El servidor \\NET recibe el SMB y examinó el nombre de cuenta.
  3. El servidor examina su importa de base de datos de cuenta de dominio local no se encuentra una coincidencia.
  4. A continuación, el servidor examina el nombre de dominio SMB.
  5. El servidor no confía en "LOCAL1", así que el servidor se notcheck sus dominios de confianza.
  6. El servidor comprueba su cuenta de invitado.
  7. La cuenta Invitado está deshabilitada por lo que el "sistema error 1326 hasoccurred. Error de inicio de sesión: nombre de usuario desconocido o contraseña incorrecta. "isgenerated mensaje de error.

Ejemplo 3

Cuando ejecuta el comando NET USE x: \\SCRATCH\share, se producen los pasos siguientes:
  1. Computadora envía lo siguiente en el SMB "Configuración de la sesión":
    cuenta = "USER1"
    Password = "PSW1"
    dominio = "LOCAL1"
  2. El servidor \\SCRATCH recibe el SMB y examina el nombre de la cuenta.
  3. El servidor examina su andfinds de base de datos de cuenta de dominio local una coincidencia.
  4. El servidor compara entonces la contraseña SMB por la domainaccount.
  5. Las contraseñas coinciden. Por lo tanto, se genera el mensaje "Comando CompletesSuccessfully".
En el ejemplo 2 y 3, la relación de confianza no está disponible. Si el equipo tenía ha iniciado una sesión en el dominio del dominio de cero, el comando NET USE x: \\NET\share habría tenido éxito.

La solución ideal es que todos los equipos en un dominio. Con el fin de iniciar sesión, el usuario debe especificar el dominio, la cuenta y la contraseña. Después de hacerlo, NET USE-comandos de tipo pasará la información de dominio, la cuenta y la contraseña correcta. Los administradores deben tratar de evitar las cuentas duplicadas en equipos y varios dominios. Windows basado en Server 2003, Windows XP y equipos basados en Windows 2000 ayudan a evitar esta configuración mediante relaciones de confianza entre dominios y mediante el uso de miembros que pueden utilizar las bases de datos de dominio.

Solución alternativa

Hay una solución que se puede utilizar en estos casos. En el equipo, podría ejecutar el siguiente comando:
NET USE X: \\NET\SHARE /USER:SCRATCH-DOMAIN\USER1 PSW1
En este comando, el seguimiento es true:
  - \\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.
		
Para obtener más información sobre este comando, escriba lo siguiente en el símbolo del sistema:
¿NET USE /?

Nombres de dominio NULL

El cliente SMB de Microsoft que se incluye en Windows Server 2003, Windows XP y Windows 2000 envía los nombres de dominio NULL en la "configuración de sesión SMB [x 73]" SMB. El cliente SMB de Microsoft controla el nombre de dominio, especificando el nombre de dominio de inicio de sesión y enviando un carácter NULL si no se especifica el nombre de dominio en el comando NET USE . El cliente SMB de Microsoft también muestran el comportamiento descrito en el ejemplo 1.

Notas

  • El nombre de dominio predeterminado se especifica en el archivo de configuración.Archivo INI el "dominio =" línea. Esto puede ser reemplazado por el /Domain: cambiar con el comando NET LOGON .
  • Normalmente hay dos representaciones de "NULL" en theSMB: un nombre de dominio de longitud cero y un nombre de dominio de un byte que consta de fondo marca de carácter (?). El servidor SMB detecta el signo de interrogación y traduce tanto NULL antes de pasarlos a la autoridad de seguridad local (LSA).

Solución de problemas

Es un buen consejo para solucionar problemas de acceso de red habilitar la auditoría mediante el procedimiento siguiente.

Windows 2000 y versiones posteriores de los controladores de dominio basados en Windows 2000

  1. Desde herramientas administrativas en un controlador de dominio, startActive directorio de usuarios y equipos.
  2. Controladores de dominiode ratón, y luego haga clic en Propiedades.
  3. En la ficha Directiva de grupo , haga doble clic enLa directiva predeterminada de controladores de dominio.
  4. En el Editor de directivas, haga clic en ComputerSettings, haga clic en Configuración de Windows, haga clic enConfiguración de seguridad, haga clic en Directivas locales, y luego haga clic en Directiva de auditoría.
  5. Seleccione la opción Inicio de sesión y la cuenta de inicio de sesión correctoy erróneo .

Configuración de dominio para Windows 2000 y servidores miembros

  1. Desde herramientas administrativas en un controlador de dominio, startActive directorio de usuarios y equipos.
  2. Haga clic en el nombre de dominio y, a continuación, haga clic enPropiedades.
  3. En la ficha Directiva de grupo , haga doble clic enDirectiva de dominio predeterminada.
  4. En el Editor de directivas, haga clic en ComputerSettings, haga clic en Configuración de Windows, haga clic enConfiguración de seguridad, haga clic en Directivas locales, y luego haga clic en Directiva de auditoría.
  5. Seleccione la opción Inicio de sesión y la cuenta de inicio de sesión correctoy erróneo .

Configuración local para los servidores de Windows 2000 y miembros

  1. Desde las herramientas administrativas, inicie SecurityPolicy Local.
  2. Abra la directiva de auditoría.
  3. Seleccione la opción Inicio de sesión y la cuenta de inicio de sesión correctoy erróneo .
Ahora, cualquier momento en que un usuario de red tiene acceso a este servidor de forma remota, una pista de auditoría se registrarán en el Visor de sucesos. Para ver estos eventos en el Visor de sucesos, haga clic en seguridad , en el menú registro .

Para obtener más información acerca de las relaciones de confianza, la autenticación de paso a través, permisos de usuario y los inicios de sesión de dominio, consulte el "Technical Overview of Windows Server 2003 Security Services." Para ello, visite el siguiente sitio Web de Microsoft:
http://www.Microsoft.com/windowsserver2003/techinfo/overview/Security.mspx

Más información

Básicamente, los algoritmos son la misma validación de acceso a red se aplica a Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, 2012 R2 de Windows Server.

Estos SO tiene varias características nuevas en 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

Propiedades

Id. de artículo: 103390 - Última revisión: sábado, 15 de marzo de 2014 - Versión: 2.0
La información de este artículo se refiere 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
Palabras clave: 
kbnetwork kbmt KB103390 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 103390

Enviar comentarios

 

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