web-dev-qa-db-ja.com

IIS 8.5一部のユーザーでWindows認証が失敗する

Windows2012でWindows認証を必要とするアプリケーションがインストールされていますIIS 8.5。特定のユーザーがアプリケーションを使用すると、チャレンジ/レスポンスの後に401エラーが表示されます。他のユーザーは問題のないサイト。ユーザーはすべて同じADグループに属しますが、それは偶然かもしれません。

処理されるリクエストとレスポンスは次のとおりです(Webサイトは内部にあります http:// lcf -これはAレコードであり、CNAMEではありません):

リクエスト: enter image description here

応答: enter image description here

セキュリティログでは、これは典型的なものです。

An account failed to log on.

Subject:
    Security ID:        NULL SID
    Account Name:       -
    Account Domain:     -
    Logon ID:       0x0

Logon Type:         3

Account For Which Logon Failed:
    Security ID:        NULL SID
    Account Name:       test1
    Account Domain:     CORP

Failure Information:
    Failure Reason:     Account locked out.
    Status:         0xC0000234
    Sub Status:     0x0

Process Information:
    Caller Process ID:  0x0
    Caller Process Name:    -

Network Information:
    Workstation Name:   1N14SW1-PC
    Source Network Address: -
    Source Port:        -

Detailed Authentication Information:
    Logon Process:      NtLmSsp 
    Authentication Package: NTLM
    Transited Services: -
    Package Name (NTLM only):   -
    Key Length:     0

指定されたアカウント( "test1")は、ログインの失敗などのためにActiveDirectoryからロックアウトされていません。ここでのロックアウトはIISからのものである必要があると思います。

IISログでは、これは関連するエントリです。

2015-04-06 13:41:27 10.0.150.6 GET /Loss - 80 CORP\test1 10.0.20.28 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/6.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Media+Center+PC+6.0;+.NET4.0C;+.NET4.0E;+InfoPath.3;+EIE10;ENUSWOL) - 401 0 0 15

サイトの場合:

  • Windows認証のみが有効になり、他のすべては無効になります。
  • Windows認証、拡張保護がオフで、カーネルモード認証が有効になっています。
  • プロバイダーはネゴシエートとNTLMです。 (上記のヘッダーはそれを裏付けています。)
  • 承認ルールは、すべてのユーザーを許可するように設定されています

複数のブラウザも試しました。実際、同じマシンでユーザーを切り替えると、異なる結果が生成されます。 (マシンAのユーザーAは問題ありませんが、マシンAのユーザーBは問題ありません。)マシンは同じイントラネット上にあります。

編集:物事を単純にするために、トップレベルの「test.html」ファイルを追加しました。失敗ログをオンにしましたが、これが私の結果です。誰かがこれらのルーンを読むことができますか?

enter image description hereenter image description hereenter image description hereenter image description here

[〜#〜]編集[〜#〜]

  • Lockoutstatus.exeは、このドメインの12個のDCすべてで「ロックされていません」と表示します。

  • ログインの成功:

    An account was successfully logged on.
    
    Subject:
        Security ID:        NULL SID
        Account Name:       -
        Account Domain:     -
        Logon ID:       0x0
    
    Logon Type:         3
    
    Impersonation Level:        Impersonation
    
    New Logon:
        Security ID:        CORP\xxxx1
        Account Name:       xxxx1
        Account Domain:     CORP
        Logon ID:       0x12E1355
        Logon GUID:     {00000000-0000-0000-0000-000000000000}
    
    Process Information:
        Process ID:     0x0
        Process Name:       -
    
    Network Information:
        Workstation Name:   1N14SW1-PC
        Source Network Address: -
        Source Port:        -
    
    Detailed Authentication Information:
        Logon Process:      NtLmSsp 
        Authentication Package: NTLM
        Transited Services: -
        Package Name (NTLM only):   NTLM V2
        Key Length:     0
    

私はグーグルフーとロープの終わりのようなものです。助言がありますか?

3
Clinton Pierce

ロックアウトされたユーザーがすべて同じADグループに属しているという事実は、おそらく偶然ではありません。これらのユーザーは、アプリケーションフォルダにアクセスするためのNTFSアクセス許可を持っていない可能性があります。この問題を回避するために、私は次のことを行いました。これにより、アプリケーションプールIDアカウントがすべてのファイルアクセスに使用され、なりすましの面白いビジネスが発生することはありません。

開くIISマネージャー。サイトの下のアプリケーションを選択します。[構成エディター]アイコンをダブルクリックします。[セクション]ドロップダウンで、system.webServer/serverRuntimeを見つけます。UseWorkerProcessUser

Appcmd.exeファイルまたは.configファイルを使用して同じことを実行できます。

これがデフォルトの動作ではないのは少し驚きです。どうやら、Windows認証とデフォルト設定(UseAuthenticatedUser)を使用する場合、一部のファイルアクセスはサイトを閲覧するユーザーのアクセス許可を使用して実行され、一部のファイルアクセスはアプリケーションプールIDのアクセス許可を使用して実行されます。個人的には、私は常にアプリプールIDの権限のみを使用したいので、上記の設定を調整することを忘れないでください。

1
hmqcnoesy