web-dev-qa-db-ja.com

IIS ARRパススルーWindows認証が機能しない

ここで説明したのと同様の問題があります: ARR 3 IIS 7.5 Windows認証が機能していません

残念ながら、そのソリューションは当社のサーバーでは機能しません。

テスト環境には、ARRサーバー(Win 2012、IIS 8.0)とWebサーバー(Win 2008R2)があります。Webサーバー上のWebアプリケーションにはWindows認証が必要であり、クライアントが既に機能している場合は、ネゴシエート要求への応答としてNTLMを使用しています。ただし、クライアントがKerberosチケットを送信すると、要求はWebサーバーに転送されず、代わりにHTTP401メッセージでARRサーバーによって応答されます。

私はすでに多くの推奨事項を試しましたが、成功しませんでした。 ARRまたはWebサーバーで認証が失敗します。

ARR 2.5を実行していましたが、すでにARR3.0でテストしても成功しませんでした。

また、ARRとWebサーバーのSPNエントリを構成しました( http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/the-biggest-mistake-serviceprincipalname- s.aspx )。そして、ARRとWebサーバーのアプリプールに同じユーザーアカウントを使用しようとしました。

-------編集-------

  • 私は他の実用的なソリューションからのアプローチ全体を試しました( ARR 3 IIS 7.5 Windows認証が機能していません
  • NTLMのみがサポートされるように(ARRで失敗する)、ARRとWebでKerberosを(個別に)無効にします。
  • 異なるSPNアプローチを使用したアプリプールIDと実際のアカウント(ARRとWebで同じ)を使用したアプリプール
  • ARR 3.0にアップグレードして、すべての試行を繰り返します

問題は、ARRが匿名用に構成されている場合でも、ARRサーバーがネゴシエートヘッダーに反応していることです。

ところで:KB2732764はずっと前にインストールされました

1
Markus

私はついに私たちのための解決策を見つけました:

「マルチホップ」認証(= kerberos)の要件がないため、NTLMを強制することができました。 auhtentication(サイト)下のWebサーバーで、Windows認証のプロバイダーを変更し、NTLM以外のすべてを削除しました。したがって、NTLMが唯一の認証方法です。

ARRで、すべてを元の設定に戻し、匿名アクセスのみを有効にしました。その後、ARRは認証をWebサーバーにパススルーできます。

私の意見では、MicrosoftにはKerberos処理にバグがあり、認証がカーネルで行われるかARRで行われるかに依存しません。

1
Markus