masahirorの気まま記録簿

個人的な出来事や意見、生活などの記録を思うままにブログに記録

デル株式会社
マウスコンピューター/G-Tune

IISの基本認証でActive Directoryアカウントの認証が通らないときは・・・

会社でサーバトラブル。
Windows 2000 Server のIISでイントラサイトを作っており、IISサーバとADサーバが同一筐体という環境。イントラサイトは利用者を制限しており、その認証にIISの基本認証(BASIC認証)機能を利用している。
IISで基本認証を選択し、実際のフォルダのアクセス権をアクセス許可するユーザやグループだけに設定すれば、必然的に基本認証が行われる)
それが突然、基本認証が通らなくなった。認証ダイアログが表示され、正しいIDとパスワードを入力しても、再び認証ダイアログが表示され、ページが401エラーで表示できない状態。
ただ、同じサーバの共有フォルダは認証が通り、きちんと読み書きできる状態。
色々調べてみると、ドメインコントローラセキュリティポリシーの設定に問題があることが分かった。

ドメイン コントローラ上の IIS 5.0 に接続すると匿名認証および基本認証に失敗する
http://support.microsoft.com/kb/263140/ja
原因

セキュリティ上の理由により、Windows 2000 ドメイン コントローラ上では、アカウント オペレータ、管理者、バックアップ オペレータ、プリント オペレー...セキュリティ上の理由により、Windows 2000 ドメイン コントローラ上では、アカウント オペレータ、管理者、バックアップ オペレータ、プリント オペレータ、サーバー オペレータ、インターネット ゲスト アカウント、およびターミナル サービス ユーザー アカウントだけがローカル ログオンのユーザー権限を持ちます。匿名認証および基本認証には、この権限が必要です。

回避策

この問題を回避するには、次の手順を実行します。

  1. MMC で Active Directory ユーザーとコンピュータ スナップインを読み込みます。
  2. [Users] コンテナを右クリックし、[新規作成] をクリックして、[Group] をクリックします。
  3. このグループを次のように構成します。
    • グループ名 : WebUsers
    • グループの範囲 : ドメイン ローカル
    • グループの種類 : セキュリティ
  4. [OK] をクリックして完了し、WebUsers グループを作成します。
  5. この Web サイトへのアクセス権が必要なユーザーおよびグループを WebUsers グループに追加します。
  6. ドメイン コントローラ セキュリティ ポリシーを読み込みます。
  7. 左側のウィンドウで、[Windows の設定]、[セキュリティの設定]、[ローカル ポリシー] の順に展開し、[ユーザー権利の割り当て] をクリックします。
  8. [ローカル ログオン] のユーザー権限をダブルクリックします。
  9. 手順 4. で作成した WebUsers グループを追加します。
  10. 次のコマンドを実行して、このポリシーを有効にします。
    • secedit /refreshpolicy machine_policy /enforce

これで、WebUsers グループに属するすべてのアカウントまたはグループが、基本認証を使用して IIS 5.0 サーバーにログオンできるようになります。

早い話、

  • ドメインコントローラセキュリティポリシーを開く
  • [Windows の設定]→[セキュリティの設定]→[ローカル ポリシー]→[ユーザー権利の割り当て]を展開
  • [ローカル ログオン]を開き、基本認証の利用を許可するADユーザ(またはグループ)を追加する
  • secedit /refreshpolicy machine_policy /enforce』でポリシーの即時反映

をするということ。ここに定義されていないADユーザ(またはグループ)は、いくら正しいユーザIDとパスワードを入力しようとも、IISの基本認証を通過することができない。*1

この[ローカル ログオン]に追加するADユーザ(またはグループ)には、ADユーザ全員を指定したいなら「Domain Users」を入れればいいし、特定のユーザだけにしたいなら、例にあるようにグループを一つ作ってそこにユーザを追加すれば、後々の管理がしやすい。


んで、自分の場合。
原因は不明だが、何かの拍子でここが初期状態に戻っており、ADアカウントがグループを含め一切設定されていない状態となっていた。ここに「Domain Users」を追加してやったら、すんなり基本認証が通るようになった。
これが分かるまで約5時間・・・ググってもなかなか出てこなかったのか、あまり例がないのかな?とりあえず備忘録までに。

*1:ファイル共有や統合認証は可能