Algoritmos de validação de acesso de rede e exemplos para Windows Server 2003, Windows XP e Windows 2000

Traduções de Artigos Traduções de Artigos
Artigo: 103390 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Segue-se um algoritmo simplificado que explica como se observa a validação de conta do Windows para função durante o acesso à rede utilizando o protocolo NTLM. Se estiver a utilizar o acesso através do protocolo server message block (SMB) como o exemplo, mas aplica-se a todas as outras aplicações de servidor que suportem a autenticação NTLM. Esta discussão não abrange o funcionamento interno deste processo. Com estas informações, poderá prever comportamento de início de sessão de rede do Windows em condições determinista.
Quando o Kerberos é utilizado para autenticar o utilizador e obter acesso a recursos do servidor, o processo é muito diferente do que faz o NTLM. Para mais informações, visite o seguinte Web site Microsoft TechNet:
http://technet2.microsoft.com/windowsserver/en/library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx
Lembre-se de que a base de dados local é a base de dados do domínio e a base de dados apenas nos controladores de domínio. Mas em outros servidores e todos os computadores, a base de dados local for diferente do controlador de domínio.

Informações de fundo

Quando dois computadores baseados no Windows Server 2003, baseado no Windows XP ou com o Windows 2000 comunicam através de uma rede, utilizam um protocolo de alto nível, denominado o bloco de mensagens de servidor (SMB). Comandos SMB são incorporados nos protocolos de transporte, por exemplo, o NetBIOS Enhanced User Interface (NetBEUI) ou TCP/IP. Por exemplo, quando um computador cliente executa um comando NET USE , um pacote de "SMB sessão o programa de configuração e X" é enviado.

No Windows, o SMB "Configuração de sessão" inclui a conta de utilizador, uma função de hash da palavra-passe encriptada e domínio de início de sessão. Um controlador de domínio analisará todas estas informações para determinar se o cliente tem permissões para concluir o comando NET USE .

Algoritmos

Um computador de cliente do Windows envia o seguinte comando para um servidor:
   NET USE x: \\server\share
		
O computador de cliente do Windows envia um SMB de "Configuração de sessão" que contém o respectivo domínio de início de sessão, conta de utilizador e palavra-passe.

O servidor examina o nome de domínio ou nome de computador que foi especificado pelo SMB. Se o nome é o nome do servidor, o seguinte algoritmo é executado:
    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 o domínio especificado no SMB é um que o servidor considerado fidedigno, o seguinte algoritmo é executado:
    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 um canal seguro não está configurado, o seguinte algoritmo é executado:
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

Os seguintes casos descrevem cenários em que o cliente utiliza um domínio de utilizador diferente daquela que o servidor ou sabe de. Existe um problema com este erro de correspondência quando é negociado o protocolo de autenticação NTLMv2. NTLM em v2 utiliza um sal de palavra-passe e o domínio de utilizador é utilizado este sal pelo cliente.

Quando o servidor obtém as informações e localiza o utilizador na base de dados local, o servidor utiliza o nome da base de dados LOCAL para calcular o sal e o hash. Por conseguinte, se "domínio de origem" como enviado pelo cliente está vazio ou é um domínio desconhecido, o sal e, por conseguinte, a palavra-passe hash não correspondem. Nestes casos, a tentativa de autenticação irá falhar com um "nome de utilizador desconhecido ou palavra-passe incorrecta" erro (STATUS_LOGON_FAILURE). O evento de auditoria para a tentativa de apresentará um relatório "palavra-passe incorrecta," símbolo STATUS_WRONG_PASSWORD.

Um evento de exemplo:
Iniciar sessão nome: segurança
Origem: Microsoft-Windows--a auditoria de segurança
ID do evento: 4625
Categoria de tarefa: início de sessão
Nível: informações
Palavras-chave: Falha de auditoria
Computador: servidor-Computador1
Descrição:
Uma conta de mensagens em fila não conseguiu iniciar sessão.

Objecto:

ID de segurança: SID nulo
Nome da conta:-
Domínio de conta:-
ID de início de sessão: 0x0

Tipo de início de sessão: 3

Conta para o início de sessão falhou:

ID de segurança: SID nulo
Nome da conta: ntadmin
Domínio de conta: cliente-computador1

Informações de falha:

Motivo da falha: Nome de utilizador desconhecido ou palavra-passe incorrecta.
Estado: 0xc000006d
Sub estado: 0xc000006a
...

Informações detalhadas de autenticação:

Processo de início de sessão: NtLmSsp
Pacote de autenticação: NTLM
Serviços de cujo território atravessado:-
Nome (apenas NTLM) do pacote:-
Comprimento da chave: 0

Para evitar este cenário, tem de incluir o nome de domínio correcto explicitamente no cliente. Para um mapeamento unidade num cenário grupo de trabalho, que seria a seguinte:
NET utilizar x: \\server-computer1\data /u:server-computer1\ntadmin *
Se o domínio especificado no SMB é desconhecido pelo servidor ? por exemplo, se foi especificado um domínio, mas não foi reconhecido pelo servidor como um domínio fidedigno ou o respectivo controlador de domínio, o seguinte algoritmo é executado:
    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 o domínio especificado no SMB for NULL, isto é, for especificado nenhum domínio, o seguinte algoritmo é executado:
    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. Se a conta de convidado está desactivada e o utilizador executa não conta de havean, o servidor pedirá ainda uma palavra-passe. Apesar de não willmeet de palavra-passe respectivos requisitos, o servidor pedirá ainda uma palavra-passe como uma securitymeasure. Esta medida de segurança assegura que um utilizador não autorizado não tellthe diferença entre um caso em que existe uma conta e quando a conta existe. O utilizador será sempre pedido para uma palavra-passe ofwhether independentemente que existe a conta.
  2. Neste momento, as seguintes informações são devolvidas do domínio fidedigno na resposta: SID de domínio, ID de utilizador, Global GroupsMemberships, hora de início de sessão, terminar a sessão, KickOffTime, nome completo, LastSet de palavra-passe, palavra-passe pode alterar sinalizador, sinalizador de alteração tem palavra-passe, o Script de utilizador, caminho do perfil, directório raiz e contagem de palavra-passe incorrecta.
  3. Não se for encontrada nenhuma conta no domínio fidedigno, o sistema de theoperating tem de utilizar a conta de convidado local garantir behaviorfor consistente autenticação contra o servidor.
  4. Para mais informações sobre como restringir a pesquisa de nomes isolados em domínios fidedignos externos utilizando a entrada de registo de LsaLookupRestrictIsolatedNameLevel, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
    818024 Como restringir a pesquisa de nomes isolados em domínios fidedignos externos utilizando a entrada de registo LsaLookupRestrictIsolatedNameLevel
  • Contas de convidado em domínios fidedignos nunca serão beavailable.
  • O processo interno, real é mais complexo do que thealgorithms aqui descritos.
  • Estes algoritmos explica a autenticação de ofpass-through mecânica real. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
    102716 Autenticação de utilizador NTLM no Windows
  • Estes algoritmos não abordam as encryptionprocess a palavra-passe que é utilizada no Windows Server 2003, Windows XP e Windows 2000. Um objectos grandes binários (BLOBS) provenientes de hash de palavra-passe de aone-way é enviado como parte do pedido de autenticação. Thecontent deste BLOB dependerá o protocolo de autenticação escolhido para thelogon.
  • Este artigo não explica o funcionamento interno do módulo de autenticação de ferramentas.
  • Estes algoritmos partem do princípio de que a conta de convidado, whenenabled, não tem nenhuma palavra-passe. Por predefinição, a conta de convidado não tem apassword no Windows Server 2003, Windows XP e Windows 2000. Se for especificada uma palavra-passe de guestaccount, a palavra-passe de utilizador que é enviada com o mustmatch SMB esse convidado palavra-passe da conta.

Exemplos

Seguem-se exemplos destes algoritmos em acção.

Exemplo 1

Iniciou sessão no computador utilizando o mesmo nome de conta e palavra-passe da base de dados de conta de domínio raiz de domínio. Quando executa o comando NET USE \\SCRATCH para o controlador de domínio para o domínio de raiz de domínio, o comando é concluído com êxito. Quando executa o comando NET USE \\NET para controlador de domínio que confia no domínio de raiz, recebe a seguinte mensagem de erro:
Ocorreu o erro de sistema 1326. Início de sessão falhou: nome de utilizador desconhecido ou palavra-passe incorrecta.
A conta \SCRATCH-DOMAIN\USER1 tem as permissões no \\NET.

Nota Este exemplo assume as seguintes configurações.

Configurações

Computador que tem uma autoridade de segurança local:
  -Login account: USER1
  -Password:      PSW1
  -Login Domain:  LOCAL1
		
Controlador de domínio do 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).
		
O domínio de rede de domínio:
  • A base de dados de contas de domínio para o não de domínio do domínio de rede contêm uma conta para o Utilizador1.
  • A conta de convidado está desactivada.
Windows Server 2003:
  -Server Name:                       SCRATCH
  -Domain:                            SCRATCH-DOMAIN
  -Domain Database contains account:  USER1
  -Domain Database contains password: PSW1
		
Neste exemplo, o computador é iniciada ao respectivo domínio local, não o domínio de raiz de domínio onde reside a conta de domínio do computador.

Exemplo 2

Quando executa o comando NET USE x: \\NET\share , ocorrem os seguintes passos:
  1. Thecomputer envia o seguinte no SMB "Configuração de sessão":
    conta = "USER1"
    palavra-passe = "PSW1"
    domínio = "LOCAL1"
  2. O servidor \\NET recebe o SMB e olhou para o accountname.
  3. O servidor examina o seu anddoes de base de dados de conta de domínio local não localizar uma correspondência.
  4. O servidor, em seguida, examina o nome de domínio SMB.
  5. O servidor não confia "LOCAL1", para que o servidor efectuará notcheck seus domínios fidedignos.
  6. O servidor verifica, em seguida, a sua conta de convidado.
  7. A conta de convidado está desactivada, para que o "hasoccurred de erro 1326 do sistema. Início de sessão falhou: nome de utilizador desconhecido ou palavra-passe incorrecta. "isgenerated de mensagem de erro.

Exemplo 3

Quando executa o comando NET USE x: \\SCRATCH\share, ocorrem os seguintes passos:
  1. Thecomputer envia o seguinte no SMB "Configuração de sessão":
    conta = "USER1"
    palavra-passe = "PSW1"
    domínio = "LOCAL1"
  2. O servidor \\SCRATCH recebe o SMB e examina o nome theaccount.
  3. O servidor examina o seu andfinds de base de dados de conta de domínio local uma correspondência.
  4. O servidor compara então a palavra-passe SMB para a palavra-passe de domainaccount.
  5. As palavras-passe correspondem. Por conseguinte, é gerada a mensagem de "CompletesSuccessfully de comando".
No exemplo 2 e 3 de exemplo, a relação de fidedignidade não está disponível. Se o computador tinha sido iniciada para o domínio de raiz de domínio, o comando NET USE x: \\NET\share teria sido bem sucedido.

A solução ideal consiste em ter todos os registo de computadores sessão num domínio. Para poder iniciar sessão, o utilizador tem de especificar o domínio, conta e palavra-passe. Depois de fazer isto, todos os NET USE-escrever comandos irão transmitir as informações de domínio, conta e palavra-passe correctas. Os administradores deverão tentar evitar contas duplicadas nos dois computadores e em vários domínios. Computadores baseados no Windows 2000 e Windows Server 2003 baseadas, baseado no Windows XP ajudam a evitar esta configuração, utilizar fidedignidades entre domínios e utilizando membros que podem utilizar bases de dados do domínio.

Solução alternativa

Existe uma solução que pode ser utilizada nestes casos. No computador, pode executar o comando seguinte:
NET USE X \\NET\SHARE /USER:SCRATCH-DOMAIN\USER1 PSW1
Neste comando, o seguimento é verdadeiro:
  - \\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 mais informações sobre este comando, escreva o seguinte na linha de comandos:
NET USE /?

Nomes de domínio nulo

O cliente de Microsoft SMB incluída no Windows Server 2003, Windows XP e Windows 2000 envia nomes de domínio NULL na "configuração de sessão SMB [x 73]" SMB. O cliente Microsoft SMB processa o nome de domínio, especificando o nome de domínio de início de sessão e enviando um carácter nulo, se o nome de domínio não for especificado no comando NET USE . O cliente Microsoft SMB também irá apresentar o comportamento descrito na exemplo 1.

Notas

  • O nome de domínio predefinido é especificado no ficheiro LANMAN.INI fileon o "domínio =" linha. Isto pode ser substituído pelo /DOMAIN: alternar com o comando NET LOGON .
  • Normalmente, existem duas representações de "NULL" theSMB: um nome de domínio de comprimento zero e um nome de domínio de um byte que consiste em thequestion marca o carácter (?). O servidor SMB capturas no ponto de interrogação e converte OIMT nulo antes de o transmitir para a autoridade de segurança local (LSA).

Resolução de problemas

É uma boa sugestão para a resolução de problemas de acesso de rede activar a auditoria efectuando o seguinte procedimento.

Windows 2000 e versões posteriores dos controladores de domínio baseado no Windows 2000

  1. Das ferramentas administrativas num controlador de domínio, computadores e utilizadores do directório startActive.
  2. Botão direito do rato OU de controladores de domínio, andthen clique em Propriedades.
  3. No separador ' Política de grupo ', faça duplo clique emPolítica predefinida de controlador de domínio.
  4. No Editor de políticas, clique em ComputerSettings, clique em Definições do Windows, clique emDefinições de segurança, clique em Políticas locais, andthen clique em Política de auditoria.
  5. Seleccione a opção de início de sessão e o êxito de início de sessão de contae a opção de Falha .

Definições de domínio para servidores Windows 2000 e membros

  1. Das ferramentas administrativas num controlador de domínio, computadores e utilizadores do directório startActive.
  2. O nome de domínio com o botão direito e, em seguida, clique emPropriedades.
  3. No separador ' Política de grupo ', faça duplo clique emPolítica predefinida de domínio.
  4. No Editor de políticas, clique em ComputerSettings, clique em Definições do Windows, clique emDefinições de segurança, clique em Políticas locais, andthen clique em Política de auditoria.
  5. Seleccione a opção de início de sessão e o êxito de início de sessão de contae a opção de Falha .

Definições locais para servidores Windows 2000 e membros

  1. As ferramentas administrativas, inicie o Local da SecurityPolicy.
  2. Abra a política de auditoria.
  3. Seleccione a opção de início de sessão e o êxito de início de sessão de contae a opção de Falha .
Agora, sempre que um utilizador de rede acede a este servidor remotamente, um registo de auditoria será registado no Visualizador de eventos. Para ver estes eventos no Visualizador de eventos, clique em segurança , no menu registo .

Para mais informações sobre relações de fidedignidade, autenticação pass-through, permissões de utilizador e inícios de sessão de domínio, consulte o "Descrição geral técnica do Windows Server 2003 Security Services." Para tal, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/windowsserver2003/techinfo/overview/Security.mspx

Mais Informação

Basicamente, a validação de acesso de rede mesmo algoritmos são aplica-se para o Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server R2 de 2012.

Estes SO tem várias funcionalidades novas no 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


Servidor de Windows 2012

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

Propriedades

Artigo: 103390 - Última revisão: 15 de março de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Palavras-chave: 
kbnetwork kbmt KB103390 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 103390

Submeter comentários

 

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