ネットワーク アクセスの検証アルゴリズムと例については、Windows Server 2003、Windows XP、および Windows 2000

文書翻訳 文書翻訳
文書番号: 103390 - 対象製品
すべて展開する | すべて折りたたむ

目次

以下は、Windows アカウントの検証が発生する方法を説明するシンプルなアルゴリズムに NTLM プロトコルを使用してネットワーク アクセス中に関数です。例としては、サーバー メッセージ ブロック (SMB) プロトコルを使ってアクセスを使用しているが、NTLM 認証をサポートするその他のすべてのサーバー アプリケーションに適用されます。このディスカッションは、このプロセスの内部動作をカバーしません。この情報により、確定的な条件下で Windows ネットワーク ログオンの動作を予測できます。
Kerberos を使用するには、ユーザーを認証し、サーバーのリソースへのアクセスを取得する、プロセスは NTLM は非常に異なる。詳細については、次のマイクロソフト TechNet Web サイトを参照してください。
http://technet2.microsoft.com/WindowsServer/en/Library/f5c70774-25cd-4481-8b7a-3d65c86e69b11033.mspx
ローカル データベースのドメイン データベースとドメイン コント ローラー上でのみデータベースに注意してください。他のサーバーおよびすべてのコンピューター、ドメイン コント ローラーからローカル データベースとは異なります。

背景情報

2 つの Windows Server 2003 ベース、Windows XP ベースまたは Windows 2000 ベースのコンピューターをネットワーク経由で通信するときに、サーバー メッセージ ブロック (SMB) と呼ばれる、高レベルのプロトコルを使用します。NetBIOS 拡張ユーザー インターフェイス (NetBEUI) または TCP/IP などのトランスポート プロトコルでは、SMB コマンドが埋め込まれます。たとえば、クライアント コンピューターは、 NET USEコマンドを実行すると、「SMB セッションのセットアップと X」フレームが送信されます。

Windows では、ユーザー アカウント、ログオン ドメイン、暗号化されたパスワードのハッシュ関数は、「セッションのセットアップ」SMB にはが含まれます。ドメイン コント ローラーは、クライアントのNET USEコマンドを実行するアクセス許可があるかどうかを確認するすべての情報を調べます。

アルゴリズム

Windows クライアント コンピューターは、次のコマンドをサーバーに送信します。
   NET USE x: \\server\share
		
Windows クライアント コンピューターは、そのログインのドメイン、ユーザー アカウント、およびパスワードが含まれる、「セッションのセットアップ」SMB を送信します。

サーバーは、SMB で指定されたコンピューター名、ドメイン名を調べます。場合は、サーバーの名前には、次のアルゴリズムが実行されます。
    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
		
場合は、SMB で指定されたドメインでは、サーバーが信頼するいずれか、次のアルゴリズムが実行されます。
    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.
		
セキュリティで保護されたチャネルが設定されていない場合は、次のアルゴリズムが実行されます。
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

重要です

次の場合は、クライアントが、サーバーにするかを知っているのですから、別のユーザー ドメインを使用するシナリオについて説明します。NTLMv2 認証プロトコルをネゴシエートするときにこの不一致の問題があります。NTLM v2 は、パスワードの salt を使用してされ、この塩でクライアントでのユーザーのドメインが使用されます。

サーバー情報を取得し、ローカル データベース内のユーザーを検索するときにサーバーは salt とハッシュを計算するには、ローカル データベースの名前を使用します。したがって、」元ドメイン"として、クライアントによって送信された空は、不明なドメインや、パスワードと salt をハッシュが一致しません。このような場合、認証は失敗で「不明なユーザー名またはパスワードが間違っています」(STATUS_LOGON_FAILURE) のエラー。正しくないパスワード、] STATUS_WRONG_PASSWORD のシンボルの試行の監査イベントが報告されます。

サンプル イベントの場合:
ログの名前: セキュリティ
ソース: Microsoft Windows のセキュリティの監査
イベント ID: 4625
タスク カテゴリ: ログオン
レベル: 情報
キーワード: 監査の失敗
サーバー コンピューター: コンピューター-1
説明:
アカウントは、ログオンに失敗しました。

件名:

NULL の SID をセキュリティ ID:
アカウント名:-
アカウント ドメイン:-
ログイン ID: 0x0

ログオンの種類: 3

アカウントがログオンに失敗しましたを。

NULL の SID をセキュリティ ID:
アカウント名: ntadmin
クライアント アカウント ドメイン: コンピューター-1

エラー情報:

エラーの理由: 不明なユーザー名またはパスワードが間違っています。
ステータス: 0xc000006d
サブ状態: 0xc000006a
...

詳細な認証情報。

ログオン プロセス: NtLmSsp
認証パッケージ: NTLM
サービスを通過した:-
パッケージ (NTLM のみ) の名前:-
キーの長さ: 0

このシナリオを回避する、するには、クライアントで明示的に正しいドメイン名を含める必要。ワークグループ シナリオには、次のドライブのマッピング。
Net 使用 x: \\server-computer1\data/u:server-computer1\ntadmin *
SMB で指定されているドメインが、サーバーが不明の場合-たとえば、ドメインが指定されましたが、なかった場合は、サーバーで認識信頼されたドメインまたはドメイン コント ローラーとして-は、次のアルゴリズムを実行します。
    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
		
SMB で指定されたドメインが NULL の場合は、ドメインが指定されていない、次のアルゴリズムを実行します。
    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
		

注:

  1. Guest アカウントが無効になっているユーザーは、アカウントでもない場合は、サーバーがまだパスワードを要求します。ないパスワード willmeet サーバーは、その要件は、securitymeasure として、パスワードを要求も。このセキュリティ上の理由により、権限のないユーザーは、アカウントが存在して、アカウントは、存在する場合、大文字と小文字の違いを指示することになります。ユーザーがパスワードかに関係なく、アカウントが存在するため、常に求められます。
  2. 応答では、信頼されたドメインからの次の情報が返されますこの時点で、: ドメインの SID、ユーザー ID、グローバル GroupsMemberships、ログオン時、ログオフ時、KickOffTime、完全な名前、パスワード LastSet、パスワードは変更フラグ、パスワードはフラグを変更する必要があります、ユーザー スクリプト、プロファイルのパス、ホーム ディレクトリおよび不良パスワード数。
  3. 信頼される側のドメインにアカウントが存在しない場合は、オペレーティング システムする必要があります、サーバーに対して認証をコンシス テントな動作を保証するために、ローカルの guest アカウントを使用します。
  4. LsaLookupRestrictIsolatedNameLevel レジストリ エントリを使用して、信頼される側の外部ドメインの分離の名前の検索を制限する方法の詳細については、次のマイクロソフト サポート技術資料を参照する次の文書番号をクリックしてください。
    818024 LsaLookupRestrictIsolatedNameLevel レジストリ エントリを使用して、信頼される側の外部ドメインの分離の名前の検索を制限する方法
  • 信頼されているドメインの Guest アカウントは、利用できないであろうことはありません。
  • 実際、内部プロセスは、thealgorithms は、ここに記載されているよりも複雑です。
  • これらのアルゴリズムは認証 ofpass ・ スルーの実際のしくみについては説明しないでください。 詳細については、以下の資料番号をクリックして、マイクロソフト サポート技術情報資料を参照してください。
    102716 Windows では NTLM ユーザー認証
  • これらのアルゴリズムは、Windows Server 2003、Windows XP、および Windows 2000 で使用されているパスワードの encryptionprocess は説明しません。Aone ようにパスワードのハッシュから派生したバイナリ ラージ オブジェクト (BLOB) は、認証要求の一部として送信されます。この BLOB の内容は、thelogon 用に選択した認証プロトコルによって異なります。
  • この記事は、別の認証のモジュールの内部処理については説明しません。
  • これらのアルゴリズムは、whenenabled では、guest アカウントにパスワードがないと仮定します。既定では、guest アカウントは、Windows Server 2003、Windows XP、および Windows 2000 でを求めるはありません。Guestaccount のパスワードを指定した場合、そのゲストに、SMB の mustmatch で送信されるユーザーのパスワード アカウントのパスワード。

これらのアルゴリズムの動作の例を次に示します。

例 1

同じアカウント名とパスワードを新規ドメインのドメイン アカウント データベースにを使用して、コンピューターにログオンするが。最初のドメインのドメイン コント ローラーのNET USE \\SCRATCHコマンドを実行すると、コマンドが正常に完了します。最初のドメインを信頼しているドメイン コント ローラーのNET USE \\NETコマンドを実行すると、次のエラー メッセージが表示されます。
システム エラー 1326 が発生しました。ログオン失敗: 不明なユーザー名またはパスワードが間違っています。
\SCRATCH-DOMAIN\USER1 アカウントは \\NET に権限を持っています。

メモ この例では、次の構成します。

構成

コンピューターが、ローカル セキュリティ機関に:
  -Login account: USER1
  -Password:      PSW1
  -Login Domain:  LOCAL1
		
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).
		
NET ドメインのドメイン:
  • NET ドメインのドメインは、ドメイン アカウント データベースには USER1 のアカウントが含まれます。
  • Guest アカウントは無効です。
Windows Server 2003 の場合:
  -Server Name:                       SCRATCH
  -Domain:                            SCRATCH-DOMAIN
  -Domain Database contains account:  USER1
  -Domain Database contains password: PSW1
		
次の使用例は、コンピューターが、コンピューターのドメイン アカウントが存在する最初のドメイン ドメインではなく、ローカル ・ ドメインにログオンします。

例 2

NET USE x: \\NET\shareコマンドを実行すると、次の手順が発生します。
  1. コンピューターは、「セッションのセットアップ」SMB で次のように送信します。
    アカウント"USER1"=
    パスワード ="PSW1"
    ドメイン =「LOCAL1」
  2. \\NET サーバーは SMB を受信して、アカウント名を見ています。
  3. サーバーのローカル ドメイン アカウント データベース anddoes、一致は検索されませんが調べられます。
  4. サーバーは、次の SMB のドメイン名を調べます。
  5. サーバーは、信頼される側のドメインでは、notcheck のため、サーバーは"LOCAL1、"を信頼しません。
  6. Guest アカウントをチェックします。
  7. Guest アカウントが無効になっているため、"システム エラー 1326年発生します。ログオン失敗: 不明なユーザー名または不正なパスワードです。"エラー ・ メッセージが生成されます。

例 3

NET USE x: \\SCRATCH\shareコマンドを実行すると、次の手順が発生します。
  1. コンピューターは、「セッションのセットアップ」SMB で次のように送信します。
    アカウント"USER1"=
    パスワード ="PSW1"
    ドメイン =「LOCAL1」
  2. \\SCRATCH サーバーは SMB を受信し、なくなって名前を検査します。
  3. サーバーは、ローカル ドメイン アカウント データベース andfinds 一致を調べます。
  4. サーバーは SMB パスワード、domainaccount のパスワードをし、比較します。
  5. パスワードが一致します。そのため、「コマンド CompletesSuccessfully」メッセージが生成されます。
例 2 と例 3 では、信頼関係は使用できません。最初のドメインにコンピューターがログオンする場合、 NET USE x: \\NET\shareコマンドは成功しました。

理想的なソリューションではドメインにログオンするすべてのコンピューターのログです。ログオンする、するには、ユーザー ドメイン、アカウント、およびパスワードを指定してください。これを行う後すべてNET USE-コマンドの入力は、正しいドメイン、アカウント、およびパスワード情報を渡します。管理者はコンピューターと複数のドメインの両方に重複アカウントを避けてください。Windows Server 2003 ベース、Windows XP ベース、Windows 2000 ベースのコンピューターは、ドメイン間の信頼関係を使用して、ドメインのデータベースを使用できるメンバーを使用してこの構成を避けるために役立ちます。

回避策

このような場合に使用できる 1 つの回避策は。コンピューターから次のコマンドを実行可能性があります。
NET USE X: \\NET\SHARE/USER:SCRATCH-DOMAIN\USER1 PSW1
このコマンドで、次が原因です。
  - \\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.
		
このコマンドの詳細については、次のコマンド プロンプトで入力します。
NET/しますか?

NULL ドメイン名

Windows Server 2003、Windows XP、および Windows 2000 に含まれている Microsoft SMB クライアントのセッション「セットアップ」SMB [x 73] で NULL ドメイン名を送信 SMB です。Microsoft SMB クライアントは、ログオン ドメイン名を指定して、 NET USEコマンドでは、ドメイン名が指定されていない場合は、NULL 文字を送信することによって、ドメイン名を処理します。Microsoft SMB クライアントは、例 1 に記載されている現象が発生するも。

注:

  • 既定のドメイン名は、LANMAN で指定されます。INI の fileon、"ドメイン ="行。これによってオーバーライドすることができます、 /DOMAIN:NET LOGONのコマンドラインに切り替えます。
  • TheSMB の"NULL"の 2 つの表現は通常: マーク (?) の文字の長さ 0 のドメイン名と thequestion で構成される 1 バイトのドメイン名です。SMB サーバーは、疑問符をキャッチし、ローカル セキュリティ機関 (LSA) に渡す前にへの NULL を変換します。

トラブルシューティング

ネットワーク アクセスに関する問題のトラブルシューティングのヒントは、次の操作を行って、監査を有効にすることです。

Windows 2000 およびそれ以降のバージョンの Windows 2000 ベースのドメイン コント ローラー

  1. ドメイン コント ローラーで、startActive ディレクトリのユーザーとコンピューターの管理ツールです。
  2. ドメイン コント ローラー OU] を右クリックしプロパティをクリックします。
  3. [グループ ポリシー ] タブで既定のドメイン コント ローラーのポリシーをダブルクリックします。
  4. ポリシー エディターでは、 ComputerSettingsをクリックして、[ Windows の設定] をクリックして、セキュリティの設定] をクリックして、[ローカル ポリシー] をクリックし監査ポリシー] をクリックします。
  5. ログオンとアカウント ログオンの成功のオプションとエラーオプションを選択します。

Windows 2000 サーバーとメンバーのドメインの設定

  1. ドメイン コント ローラーで、startActive ディレクトリのユーザーとコンピューターの管理ツールです。
  2. ドメイン名を右クリックし、[プロパティ] をクリックします。
  3. [グループ ポリシー ] タブで既定のドメイン ポリシーをダブルクリックします。
  4. ポリシー エディターでは、 ComputerSettingsをクリックして、 Windows の設定] をクリックします。セキュリティの設定をクリックして、[ローカル ポリシー] をクリックし監査ポリシー] をクリックします。
  5. ログオンとアカウント ログオンの成功のオプションとエラーオプションを選択します。

Windows 2000 サーバーおよびメンバーのローカルの設定

  1. 管理ツール、ローカル SecurityPolicy 起動します。
  2. 監査のポリシーを開きます。
  3. ログオンとアカウント ログオンの成功のオプションとエラーオプションを選択します。
ここでは、ネットワーク ユーザーにこのサーバーをリモートでアクセスする、いつでも監査証跡が記録されますイベント ビューアーで。イベント ビューアーでこれらのイベントを表示するには、[ログ] メニューでセキュリティをクリックします。

信頼関係とパススルー認証、ユーザーのアクセス許可は、ドメイン ログインに関する詳細についてを参照して、「技術概要 Windows Server 2003 セキュリティ サービスの。これを行うには、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/windowsserver2003/techinfo/overview/security.mspx

詳細

基本的には、同じネットワーク アクセス検証アルゴリズムは、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012 の、Windows Server 2012 の R2 は適用されます。

これらの OS は、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

プロパティ

文書番号: 103390 - 最終更新日: 2014年3月15日 - リビジョン: 8.0
この資料は以下の製品について記述したものです。
  • 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
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
キーワード:?
kbnetwork kbmt KB103390 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:103390
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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