Internet Explorer : ローカル コンピュータ ゾーンのロックダウン
|
---|
Microsoft Windows Server 2003 の Internet Explorer セキュリティ強化の構成コンポーネント (Microsoft Internet Explorer 強化とも呼ばれます) は、インターネット セキュリティ ゾーン内のリソースに対して、スクリプト、ActiveX コンポーネント、およびファイルのダウンロードを無効にする、より制限の厳しい Internet Explorer セキュリティ設定を適用することによって、Web コンテンツからの攻撃に対するサーバーの脆弱性を軽減します。そのため、Internet Explorer の最新リリースに含まれているセキュリティ拡張機能の多くは、Windows Server 2003 Service Pack 1 ではそれほど目立ちません。たとえば、新しい Internet Explorer 通知バー機能およびポップアップ ブロック機能は、サイトがセキュリティ設定でスクリプトが許可されているゾーン内にない限り使用されません。サーバーでセキュリティ強化の構成を使用しない場合、これらの機能は Windows XP Service Pack 2 の場合と同じように動作します。 |
ローカル コンピュータ ゾーンのロックダウンの機能
Internet Explorer で Web ページを開くとき、そのページの Internet Explorer セキュリティ ゾーンに基づいて、ページ内の機能に制限が課されます。複数のセキュリティ ゾーンがあり、それぞれの制限は異なります。ページのセキュリティ ゾーンは、ページの場所によって決まります。たとえば、通常は、インターネット上のページは制限の厳しいインターネット セキュリティ ゾーンに入れられます。それらは、ローカル ハード ドライブへのアクセスなど、一部の操作を実行できません。企業のネットワーク上のページは、通常はイントラネット セキュリティ ゾーンに入れられます。この場合の制限は緩くなります。ユーザーは、[ツール] メニューの [インターネット オプション] を使用して、これらのゾーンのほとんどに関連付けられた制限を細かく構成することができます。
Windows XP Service Pack 2 より前のバージョンでは、ローカル ファイル システム上のコンテンツは、Internet Explorer によってキャッシュされたものを除いて安全であると見なされ、ローカル コンピュータ セキュリティ ゾーンに分類されていました。このセキュリティ ゾーンでは、Internet Explorer でコンテンツを実行する際の制限が比較的少なくなります。ただし、攻撃者がローカル コンピュータ ゾーンを利用してシステム特権を取得し、コンピュータを危険にさらす可能性が高くなります。
ローカル コンピュータ ゾーンに対するさまざまな悪用は、Windows XP SP2 での Internet Explorer に対する他の変更によって軽減されました。これらの変更は、Windows Server 2003 Service Pack 1 の Internet Explorerにも組み込まれています。ただし、攻撃者がローカル コンピュータ ゾーンを悪用する方法を発見する可能性は残っています。現時点では、Internet Explorer でのユーザーの保護を強化するために、既定でローカル コンピュータ ゾーンをロックダウンするようになっています。その他のアプリケーションでホスティングされるローカル HTML は、そのアプリケーションでローカル コンピュータ ゾーンのロックダウンが利用されていなければ、Internet Explorer の以前のバージョンで使用されていた、より制限の少ないローカル コンピュータ ゾーンの設定で実行されます。
管理者は、グループ ポリシーを使用してローカル コンピュータ ゾーンのロックダウンを管理して、コンピュータのグループにローカル コンピュータ ゾーンのロックダウンを容易に適用することができます。
この機能の対象ユーザー
すべてのアプリケーション開発者は、この機能について確認してください。Internet Explorer でローカル HTML ファイルをホスティングするアプリケーションは、影響を受ける可能性があります。Internet Explorer をホスティングするスタンドアロン アプリケーションの開発者は、ローカル コンピュータ ゾーンのロックダウンを使用するようにアプリケーションを変更できます。
既定では、ローカル コンピュータ ゾーンのロックダウンは Internet Explorer に対してのみ有効です。変更を利用するには、開発者はアプリケーションを登録する必要があります。この軽減機能を適用していないアプリケーションでは、ローカル コンピュータ ゾーンの攻撃先となる可能性があるかどうかを個別に確認してください。
Internet Explorer をホスティングするアプリケーションのソフトウェア開発者は、このドキュメントで後述するように、レジストリにプロセス名を追加して、この機能を使用する必要があります。今後、Microsoft は "オプトイン" ポリシーではなく "オプトアウト" ポリシーを使用して、この機能を実装する予定です。Internet Explorer をホスティングするアプリケーションに対しては、ローカル コンピュータ ゾーンのロックダウンを有効にしてもプロセスが正しく動作するかどうかをテストしてください。
ネットワーク管理者が作成したローカル スクリプトがこれらの制限の影響を受けることがあります。管理者は、ユーザーのクライアント コンピュータのセキュリティを低下させずにローカル スクリプトを有効にするソリューションを確認してください。
インターネット ゾーンまたはローカル イントラネット ゾーンでホスティングされる Web サイトの開発者は、ローカル コンピュータ ゾーンに加えられた変更から影響を受けないようにしてください。ただし、開発期間中にこれらのファイルをローカル コンピュータから読み込む場合を除きます。
ユーザーは、このようなより厳しい制限を満たしていないアプリケーションから影響を受ける可能性があります。
Windows Server 2003 Service Pack 1 で変更された既存の機能
ローカル コンピュータ ゾーンのセキュリティ設定の変更
詳細説明
ローカル コンピュータ ゾーンは、インターネット ゾーンより制限が厳しくなっています。コンテンツがこのゾーン内で次のいずれかのアクションを実行しようとすると、Internet Explorer の情報バーに次のテキストが表示されます。
"セキュリティ保護のため、コンピュータにアクセスできるアクティブ コンテンツは表示されないように Web ブラウザで制限されています。オプションを表示するには、ここをクリックしてください。"
ユーザーは情報バーをクリックして、制限されているコンテンツのロックダウンを解除することができます。
ローカル コンピュータ ゾーンで実行しているコンテンツに付与される特権を制御するセキュリティ設定を、URL アクションと呼びます。特定のプロセスにローカル コンピュータ ゾーンのロックダウンが適用されると、URL アクションの動作は、以前のローカル コンピュータ ゾーンの設定である [有効] から [無効] に変更されます。したがって、スクリプトおよび ActiveX コントロールは実行できなくなります。変更された既定の URL アクションは、次のとおりです。
-
URLACTION _SCRIPT_RUN
-
URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX
-
URLACTION_ACTIVEX_RUN
-
URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY ([無効にする] から [ダイアログを表示する] に変更)
-
URLACTION_CLIENT_CERT_PROMPT
-
URLACTION_BEHAVIOR_RUN
-
URLACTION_JAVA_PERMISSIONS
-
URLACTION_BEHAVIOR_RUN ([無効にする] から [管理者の許可済み] に変更)
-
URLACTION_FEATURE_MIME_SNIFFING
-
URLACTION_FEATURE_WINDOWS_RESTRICTIONS
-
URLACTION_AUTOMATIC_DOWNLOAD_UI
-
URLACTION_AUTOMATIC_ACTIVEX_UI
|
---|
URLACTION_FEATURE_ZONE_ELEVATION は、この機能の有無に関わらずすべてのローカル コンピュータ ゾーンで [無効にする] に設定されます。 |
ローカル コンピュータ ゾーンのロックダウンでは、次のようにこれらの設定は別のレジストリ キーに格納されています。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones\0
ローカル コンピュータ ゾーンの既定の URL アクションの設定は、次の場所にあります。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0
この変更が重要な理由
この変更は、ユーザーのコンピュータ上のコンテンツにシステム特権が設定されることを防ぐのに役立ちます。このようなシステム特権を持つコードは、ActiveX コントロールを介して任意のコードを実行したり、スクリプトによって情報を読み取ったりできます。
動作の相違点
前に述べたように、制限されている種類のコンテンツが Web ページ上で使用されると、Internet Explorer に情報バーが表示されます。
ローカル コンピュータで res: プロトコルでホスティングされる HTML ファイルは、自動的にインターネット ゾーンのセキュリティ設定で実行されます。これらのテンプレートで許可される内容の詳細については、MSDN の Web サイト (http://go.microsoft.com/fwlink/?LinkId=26003) にある URL セキュリティ ゾーンの概要についてのページを参照してください。
これらの問題の解決法
次のメッセージが表示されたときに [はい] をクリックすると、CD から起動される Web ページを常に実行するように ActiveX とスクリプトを許可することができます。
"アクティブ コンテンツは、コンピュータに問題を引き起こしたり、個人情報を公開したりすることがあります。コンピュータで CD がアクティブ コンテンツを実行することを許可しますか?"
Web ページで ActiveX またはスクリプトを実行する必要がある場合は、HTML コードに Web コメントのマークを付けることができます。この Internet Explorer の機能を使用すると、ローカル コンピュータ ゾーン以外のゾーンに HTML ファイルを強制的に配置することができ、コメントで指定された URL に適用されるセキュリティ テンプレートに基づいて、それらのファイルでスクリプトまたは ActiveX コードを実行できるようになります。たとえば、指定された URL が www.contoso.com であり、この URL が信頼済みサイトの一覧に表示されている場合は、そのページでは信頼済みサイト ゾーン用のセキュリティ テンプレートが使用されます。この設定は Internet Explorer 4 以降で機能します。HTML ファイルに Web コメントのマークを挿入するには、次のいずれかのコメントを使用します。
<!-- saved from url=
(0022)http://www.example.com
-->
このコメントを使用するのは、指定したドメインのページに Web のマークを挿入する場合です。http://www.example.com の部分は、そのページをホスティングするインターネットまたはイントラネットのドメインの URL で置き換えてください。URL の前には、Web のマークに使用する URL の長さをかっこで囲んで指定します。たとえば、(0022) のように指定します。
Web ページを常にインターネット ゾーンの一部として処理する場合は、次の Web のマークを使用することができます。
<!-- saved from url=(0014)about:internet -->
このコメントを使用するのは、Web のマークを一般的に挿入する場合です。about:internet
の部分は、このページをインターネット ゾーンに入れることを示します。
Windows Server 2003 Service Pack 1 および Windows XP Service Pack 2 以降は、.mht ファイル (マルチパート HTML) や .xml ファイルでもこの HTML コメントを使用できます。以前のバージョンの Internet Explorer は、.mht ファイルまたは .xml ファイルの Web のマークをサポートしません。
別のオプションとして、Internet Explorer Web Object Control (WebOC) で HTML コンテンツをホスティングする別のアプリケーションを作成することができます。この HTML は、Internet Explorer で実行されるコンテンツに適用される規則に影響されません。HTML コンテンツが他のプロセスで動作する場合は、開発者が定義したすべての権限またはそのプロセス用のゾーン ポリシーを使用することができます。
これを行う簡単な方法は、コンテンツを .hta (HTML アプリケーション) ファイルとして保存して、そのファイルをローカル コンピュータ ゾーンで再び実行することです。.hta ファイルは別のプロセスでホスティングされるので、この軽減機能の影響を受けません。ただし、.hta ファイルはすべての特権が指定されて実行されます。したがって、このように実行してもよいと信頼できないコードに対しては許可しないでください。
Windows Server 2003 Service Pack 1 に対応するためにコードの変更が必要かどうか
開発者は開発したアプリケーションのテストを行い、セキュリティ レベルを高めるためにロックダウンを有効にする必要があります。スタンドアロン アプリケーションの開発者は、Internet Explorer をホスティングするアプリケーションでこれらの変更を適用する計画を立ててください。
以前にローカル コンピュータ ゾーンでシステム特権を許可した ActiveX コントロールの開発者は、別のゾーンでシステム特権を許可するようにそのコントロールを変更しないでください。その代わり、これらのコントロールを HTML アプリケーション (.hta ファイル) またはローカル コンピュータ ゾーンのロックダウン外で実行されるスタンドアロン アプリケーションからしか実行できないように変換してください。
既定では、ローカル コンピュータ ゾーンのロックダウンは、Internet Explorer 以外のプロセスでは有効になっていません。変更を利用するには、開発者はアプリケーションを明示的に登録する必要があります。この軽減機能を使用しないアプリケーション開発者は、アプリケーションがローカル コンピュータ ゾーンの攻撃先となる可能性があるかどうかを個別に確認してください。アプリケーションでローカル コンピュータ ゾーンのロックダウンを有効にするには、次のレジストリ キーに移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN
自分のアプリケーション (たとえば MyApplication.exe) の名前の付いたこのキーに REG_DWORD
の値を追加し、値を 1 に設定します。これに別の値を設定すると、アプリケーションのローカル コンピュータ ゾーンのロックダウンは無効になります。
ローカル コンピュータ ゾーンのロックダウンを、CD から起動された Web ページに適用するかどうかを制御するには、次のレジストリ キーと値に移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN\Settings\LOCALMACHINE_CD_UNLOCK
この値を 1 に設定すると、ユーザーのコンピュータ上で CD から起動された Web ページに対してこの機能が無効になります。