IEのゾーンと統合認証

今回はInternet Explorerの「ゾーン」と統合認証についての話です。

IEのゾーンとは

IEの「ゾーン」とはセキュリティを高めるためにある仕組みで、信頼できるサイトでは、色々なことを許可し、信頼できないサイトでは極力できることを絞る・・・ということを自動的に行ってくれる仕組みです。

IEを立ち上げて、ウインドウ右下の「ゾーン」を確認してみましょう。以下はIE7でYahoo! Japanを表示したところですが、「インターネットゾーン」として認識されています。

image

このようにインターネット上のサイトは「インターネットゾーン」にあるものとして扱われ、できることを比較的絞った状態になっています。例えば未署名のActiveXコントロールはダウンロードできません。

ゾーンとしては以下の種類があります。

  • インターネット
  • ローカルイントラネット
  • 信頼済みサイト
  • 制限つきサイト

ぞれぞれのゾーンのレベルのカスタマイズ(できること、できないことを設定すること)は「ツール」→「インターネットオプション」→「セキュリティ」タブから行えます。

image

image

IEのシングルサインオン

で、このゾーンの設定の中にシングルサインオンの設定があり、ゾーンの判定とあいまってなかなかわかりづらい挙動をしてくれます。今回はそこをお伝えしたいのです。

良くあるのが、Active Directory環境下で

  • IISでWebサイトを構築していてWindows統合認証に設定しているのに、アクセスするとIDとパスワードを求められてしまう
  • でも、IDとパスワードを求められないケース(端末、ユーザー)もある

という問題です。

これは実は、セキュリティレベルの設定と、ゾーンの判定によって起こされています。

まず重要なのはそれぞれのゾーンにある、「ユーザー認証」の設定です。

image

規定の状態では、どのゾーンに関しても「イントラネットゾーンでのみ自動的にログオンする」という設定になっています。

なので、

  • イントラネットゾーンであればWindows統合認証を使って、ドメインにログオンしているユーザーならそのIDで自動的にWebサイトにログオンする
  • イントラネットゾーン以外のゾーンではIDとパスワードを聞かれる

という挙動になります。

どのサイトがどのゾーンに含まれるのか

では、どのサイトがどのゾーンに含まれるのでしょうか?それは以下のようなルールになっています。

  • 信頼済みサイト
    • 明示的にユーザーがアドレスを追加したサイト。
  • 制限付きサイト
    • 明示的にユーザーがアドレスを追加したサイト。
  • ローカルイントラネット
    • 自動判定。
    • 明示的にユーザーがアドレスを追加することもできる。
  • インターネット
    • 信頼済みサイト、制限付きサイトに含まれておらず、ローカルイントラネットと、自動判定されなかったサイト。

つまり、ローカルイントラネットの自動判定ロジックが肝になります。

ローカルイントラネットの判定基準

今回の話の一番重要なところです。ローカルイントラネットの判定基準は、規定の状態では

  • URLに.(ドット)が含まれるかどうか

が判断基準になっています。URLに.(ドット)が含まれればそれはローカルイントラネットではなく、URLに.(ドット)が含まれなければそれはローカルイントラネットなのです。

この判断ロジックは「イントラネットに繋がらない」 – ドメインサフィックス&Proxy編でもIEがProxyを使うか使わないかを判断するロジックとして登場しました。

つまり

  • ローカルイントラネットであれば全てWindowsサーバーであり、全てADに参加している(だろう)
  • 全てADに参加しているということは、全て同じDNSサフィックス(だろう)
  • ホスト名のみ記述しても、TCP/IPの規定の設定で規定のDNSサフィックスが追加される(だろう)

というような(適当な)推論のもと、ローカルイントラネットかどうかを判定しているものだと思われます。

というわけで、マルチドメインの場合や、FQDNでURLが記述されたリンクからたどった場合などは、規定の状態で「インターネットゾーン」と判定されてしまい、ID、パスワードが聞かれてしまう・・・と言うわけです。

問題回避策

回避策としては、

  • http://hostname/の形でアクセスする
  • イントラネットゾーンに明示的にhttp://hostname.fqdn/の形のアドレスを登録する

のいずれかが良いでしょう。信頼済みゾーンにもID、パスワードを送るような設定にしてしまった上で、該当URLを信頼済みゾーンに入れても動きますが、他の信頼済みゾーンにもID、パスワードを送ってしまうことになるので、セキュリティ上望ましくないと思います。

子供3人。家族優先。都内SIer勤務。Windows系中心のインフラよりの何でも屋。脱原発。 Microsoft MVP for Cloud and Datacenter Management.

コメントを残す

メールアドレスが公開されることはありません。