ID Artikel: 103390 - Kajian Terakhir: 14 September 2011 - Revisi: 2.0

Jaringan akses validasi algoritma dan contoh untuk Windows Server 2003, Windows XP, dan Windows 2000

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua
Berikut adalah algoritma sederhana yang menjelaskan bagaimana Validasi account Windows diamati untuk fungsi selama jaringan akses menggunakan protokol NTLM. Itu menggunakan akses melalui blok pesan server (SMB) protokol sebagai contoh, tapi itu berlaku untuk semua server aplikasi yang mendukung otentikasi NTLM. Diskusi ini tidak mencakup internal cara kerja dari proses ini. Dengan informasi ini, Anda dapat memprediksi Windows jaringan logon perilaku deterministik kondisi.
Ketika Kerberos digunakan untuk mengotentikasi pengguna dan memperoleh akses ke sumber daya server, proses sangat berbeda dari apa NTLM. Untuk informasi lebih lanjut, kunjungi Website TechNet Microsoft berikut ini:
http://technet2.Microsoft.com/WindowsServer/en/Library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx (http://technet2.microsoft.com/WindowsServer/en/Library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx)
Ingat bahwa database lokal adalah domain database dan database hanya pada pengontrol domain. Tetapi pada server lain dan semua komputer, database lokal berbeda dari kontroler domain.

Informasi latar belakang

Ketika dua jendela Komputer berbasis Server 2003, Windows XP, atau berbasis Windows 2000 berkomunikasi melalui jaringan, mereka menggunakan tingkat tinggi protokol yang disebut blok pesan server (SMB). SMB perintah tertanam dalam transportasi protokol, seperti seperti NetBIOS ditingkatkan antarmuka pengguna (NetBEUI) atau TCP/IP. Sebagai contoh, ketika komputer klien melakukan NET PENGGUNAAN perintah, kerangka "SMB sesi Setup dan X" dikirim keluar.

Di Windows, sesi" Setup" SMB termasuk account pengguna, fungsi hash sandi yang dienkripsi dan logon domain. Domain controller akan memeriksa semua informasi ini untuk menentukan apakah klien memiliki izin untuk menyelesaikan NET PENGGUNAAN perintah.

Algoritma

Komputer klien Windows mengirim perintah berikut ke server:
   NET USE x: \\server\share
		
Komputer klien Windows mengirim SMB "Sesi Setup" berisi login domain, account pengguna, dan sandi.

Server memeriksa nama domain atau nama komputer yang telah ditentukan oleh SMB. Jika nama nama server sendiri, algoritma berikut dijalankan:
    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
		
Jika domain yang ditentukan dalam SMB adalah salah satu yang server percaya, algoritma berikut jalankan:
    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.
		
Jika saluran aman tidak diatur, berikut algoritma jalankan:
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
Jika domain yang ditentukan dalam SMB tidak diketahui oleh server, untuk misalnya, jika domain ditentukan tapi tidak diakui oleh server sebagai dipercaya domain atau kontroler domain, algoritma berikut jalankan:
    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
		
Jika domain yang ditentukan dalam SMB NULL, yang tidak domain ditentukan, algoritma berikut menjalankan:
    The server will treat this 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
		

Catatan

  1. Jika account Tamu dinonaktifkan dan pengguna tidak memiliki account, server masih akan meminta password. Meskipun sandi tidak akan memenuhi persyaratan, server masih akan meminta password sebagai keamanan ukuran. Ukuran keamanan ini menjamin bahwa pengguna yang tidak sah tidak tahu perbedaan antara kasus di mana ada account dan kapan account tidak ada. Pengguna akan selalu diminta untuk sandi terlepas dari Apakah account ada.
  2. Pada titik ini, informasi berikut kembali dari domain yang terpercaya di respon: Domain SID, ID pengguna, kelompok Global Keanggotaan, Logon waktu, waktu Logoff, KickOffTime, nama lengkap, Password LastSet, Sandi dapat mengubah bendera, sandi harus mengubah bendera, pengguna Script, Profil jalan, Direktori Home, dan Count sandi buruk.
  3. Jika account tidak ditemukan di domain yang terpercaya, sistem operasi harus menggunakan account Tamu lokal untuk menjamin perilaku konsisten untuk otentikasi terhadap server.
  4. Untuk lebih informasi tentang cara untuk membatasi pencarian nama terisolasi di luar domain yang terpercaya dengan menggunakan entri registri LsaLookupRestrictIsolatedNameLevel, klik nomor artikel di bawah ini untuk melihat artikel di Microsoft Basis Pengetahuan:
    818024  (http://support.microsoft.com/kb/818024/ ) Cara untuk membatasi pencarian nama terisolasi di luar domain yang terpercaya dengan menggunakan entri registri LsaLookupRestrictIsolatedNameLevel
  • Account tamu pada domain yang terpercaya tidak akan tersedia.
  • Sebenarnya, internal proses lebih kompleks daripada algoritma yang dijelaskan di sini.
  • Algoritma ini tidak membahas mekanisme sebenarnya pass-through otentikasi.Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    102716  (http://support.microsoft.com/kb/102716/ ) Otentikasi NTLM pengguna di Windows
  • Algoritma ini tidak membahas enkripsi sandi proses yang digunakan dalam Windows Server 2003, Windows XP, dan Windows 2000. Objek besar biner (GUMPALAN) berasal dari satu arah password hash dikirim sebagai bagian dari permintaan otentikasi. The konten GUMPALAN ini akan tergantung pada protokol otentikasi yang dipilih untuk logon.
  • Artikel ini tidak membahas kerja internal Modul otentikasi Microsoft.
  • Algoritma ini berasumsi bahwa account Tamu, ketika diaktifkan, telah tanpa password. Secara default, account Tamu tidak memiliki sandi di Windows Server 2003, Windows XP, dan Windows 2000. Jika tamu sandi account ditentukan, sandi pengguna yang dikirim dalam SMB harus sesuai bahwa password account tamu.

Contoh

Berikut ini adalah contoh dari algoritma ini dalam tindakan.

Contoh 1

Anda logon ke komputer dengan menggunakan nama account yang sama dan password yang di awal-DOMAIN domain account database. Ketika Anda menjalankan BERSIH MENGGUNAKAN \\SCRATCH perintah untuk kontroler domain untuk domain awal-DOMAIN, perintah berhasil diselesaikan. Ketika Anda menjalankan BERSIH MENGGUNAKAN \\NET perintah untuk kontroler domain yang percaya awal-DOMAIN domain, Anda menerima pesan galat berikut:
Sistem telah terjadi kesalahan 1326. Logon kegagalan: tidak diketahui nama pengguna atau buruk sandi.
\SCRATCH-DOMAIN\USER1 account memiliki izin \\NET.

Catatan Contoh ini mengasumsikan konfigurasi berikut.

Konfigurasi

Komputer yang memiliki otoritas keamanan lokal:
  -Login account: USER1
  -Password:      PSW1
  -Login Domain:  LOCAL1
		
Pengendali domain direktori aktif:
  -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).
		
The NET-DOMAIN domain:
  • Database account domain untuk domain NET-DOMAIN Apakah tidak berisi account untuk USER1.
  • Account Tamu dinonaktifkan.
Windows Server 2003:
  -Server Name:                       SCRATCH
  -Domain:                            SCRATCH-DOMAIN
  -Domain Database contains account:  USER1
  -Domain Database contains password: PSW1
		
Dalam contoh ini, komputer adalah masuk ke domain lokal, bukan awal-DOMAIN domain mana account domain komputer berada.

Contoh 2

Ketika Anda menjalankan NET penggunaan x: \\NET\share perintah, langkah-langkah berikut terjadi:
  1. The komputer mengirimkan berikut dalam SMB "Sesi Setup":
    account = "USER1"
    password = "PSW1"
    domain = "LOCAL1"
  2. \\NET server menerima SMB dan melihat account Nama.
  3. Server meneliti databasenya account domain lokal dan tidak menemukan pertandingan.
  4. Server kemudian memeriksa nama domain SMB.
  5. Server tidak percaya "LOCAL1," sehingga server tidak Periksa domain yang terpercaya.
  6. Server akan kemudian memeriksa account tamu.
  7. Account Tamu dimatikan sehingga "sistem 1326 telah kesalahan terjadi. Logon kegagalan: tidak diketahui nama pengguna atau sandi buruk. "pesan kesalahan dihasilkan.

Contoh 3

Ketika Anda menjalankan NET penggunaan x: \\SCRATCH\shareperintah, langkah-langkah berikut terjadi:
  1. The komputer mengirimkan berikut dalam SMB "Sesi Setup":
    account = "USER1"
    password = "PSW1"
    domain = "LOCAL1"
  2. \\SCRATCH server menerima SMB dan memeriksa nama account.
  3. Server meneliti databasenya account domain lokal dan menemukan korek api.
  4. Server kemudian membandingkan SMB password untuk domain sandi account.
  5. Password cocok. Oleh karena itu, "perintah selesai Berhasil"pesan yang dihasilkan.
Dalam contoh 2 dan 3 contoh, hubungan kepercayaan adalah tidak tersedia. Jika komputer memiliki logon ke awal-DOMAIN domain, The NET penggunaan x: \\NET\share perintah akan menjadi sukses.

Ideal Solusinya adalah dengan memiliki semua komputer log ke domain. Untuk logon, pengguna harus menetapkan domain, account, dan sandi. Setelah Anda melakukan ini, semua NET PENGGUNAAN-jenis perintah akan berlalu benar domain, account dan sandi informasi. Administrator harus mencoba untuk menghindari duplikat account pada kedua komputer dan beberapa domain. Windows berbasis Server 2003, Windows XP berbasis, dan komputer berbasis Windows 2000 membantu menghindari konfigurasi ini dengan menggunakan Trust antara domain dan oleh menggunakan anggota yang dapat menggunakan domain database.

Penyelesaian

Ada satu solusi yang dapat digunakan dalam kasus ini. Dari komputer, Anda dapat menjalankan perintah berikut:
BERSIH MENGGUNAKAN X: \\NET\SHARE /USER:SCRATCH-DOMAIN\USER1 PSW1
Dalam perintah ini, mengikuti benar:
  - \\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.
		
Untuk informasi lebih lanjut tentang ini perintah, ketik berikut ini pada prompt perintah:
NET USE /?

Nama NULL domain

Microsoft SMB klien yang disertakan dalam Windows Server 2003, Windows XP, dan Windows 2000 mengirimkan NULL domain nama dalam sesi" Setup SMB [x 73]" SMB. The Microsoft SMB klien menangani nama domain dengan menentukan nama domain logon dan oleh mengirim karakter NULL jika nama domain tidak ditentukan pada NET PENGGUNAAN perintah. The Microsoft SMB klien juga akan menunjukkan perilaku dijelaskan dalam contoh 1.

Catatan

  • Nama domain default ditetapkan dalam LANMAN.INI file pada "DOMAIN =" baris. Ini dapat diganti oleh / DOMAIN: switch dengan NET MASUK perintah.
  • Biasanya ada dua representasi untuk "NULL" di SMB: Nama domain nol-panjang dan nama domain satu-byte yang terdiri dari karakter tanda tanya (?). SMB server menangkap tanda tanya dan menterjemahkannya ke NULL sebelum menyampaikan kepada otoritas keamanan lokal (LSA).

Pemecahan Masalah

Tip yang bagus untuk memecahkan masalah akses jaringan adalah untuk mengaktifkan audit dengan melakukan hal berikut.

Windows 2000 dan versi terbaru pengendali domain berbasis Windows 2000

  1. Dari alat-alat administratif pada kontroler domain, mulai Direktori pengguna dan komputer active.
  2. Klik kanan Kontroler domain OU, dan kemudian klik Properti.
  3. Pada Kebijakan Grup tab, klik dua kaliKebijakan kontroler Domain default.
  4. Pada Editor kebijakan, klik Komputer Tataan, klik Pengaturan Windows, klikPengaturan keamanan, klik Kebijakan lokal, dan kemudian klik Audit kebijakan.
  5. Pilih Masuk dan Account Logon suksespilihan dan Kegagalan pilihan.

Pengaturan domain untuk Windows 2000 Server dan anggota

  1. Dari alat-alat administratif pada kontroler domain, mulai Direktori pengguna dan komputer active.
  2. Klik kanan nama domain, dan kemudian klikProperti.
  3. Pada Kebijakan Grup tab, klik dua kaliKebijakan Domain default.
  4. Pada Editor kebijakan, klik Komputer Tataan, klik Windows pengaturan, KlikPengaturan keamanan, klik Kebijakan lokal, dan kemudian klik Audit kebijakan.
  5. Pilih Masuk dan Account Logon suksespilihan dan Kegagalan pilihan.

Pengaturan lokal untuk Windows 2000 Server dan anggota

  1. Dari alat-alat administratif, mulai keamanan lokal Kebijakan.
  2. Buka Audit kebijakan.
  3. Pilih Masuk dan Account Logon suksespilihan dan Kegagalan pilihan.
Sekarang, setiap kali pengguna jaringan mengakses server ini dari jauh, audit trail akan log peristiwa pada Peraga Peristiwa. Untuk melihat peristiwa ini dalam Peraga Peristiwa, klik Keamanan dalam Log menu.

Untuk informasi lebih lanjut tentang hubungan kepercayaan, pass-through otentikasi, izin pengguna, dan domain login, lihat "Ikhtisar teknis layanan Windows Server 2003 keamanan." Untuk melakukannya, kunjungi Web site Microsoft berikut:
http://www.Microsoft.com/windowsserver2003/techinfo/Overview/Security.mspx (http://www.microsoft.com/windowsserver2003/techinfo/overview/security.mspx)

Berlaku bagi:
  • 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
Kata kunci: 
kbnetwork kbmt KB103390 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:103390  (http://support.microsoft.com/kb/103390/en-us/ )