Windows XP セキュリティ ガイド
第 6 章 :Windows XP クライアントのソフトウェア制限ポリシー
最終更新日: 2006年8月17日
ダウンロード
『Windows XP セキュリティ ガイド』のダウンロード
トピック
概要
ソフトウェア制限ポリシーのアーキテクチャ
ソフトウェア制限ポリシーのオプション
ソフトウェア制限ポリシーの設計と展開
まとめ
概要
ソフトウェア制限ポリシーを使用すると、管理者は、ソフトウェアを特定し、ローカル コンピュータで実行できるかどうかを制御できます。このツールは、Microsoft® Windows® XP Professional を実行しているコンピュータを、既知の競合から保護し、ウイルスやトロイの木馬などの悪質なソフトウェアから守ります。ソフトウェア制限ポリシーは、Active Directory® ディレクトリ サービスやグループ ポリシーと完全に統合されています。またスタンドアロン コンピュータでも使用できます。
この章は、ソフトウェア制限ポリシーのしくみ上、前の各章とは構成が異なります。前の各章では、グループ ポリシー設定オプションの推奨される構成方法について説明しました。ソフトウェア制限ポリシーの場合、管理者は、環境内のクライアント コンピュータで実行を許可するアプリケーションを定義し、ポリシーでクライアントに適用する制限を決定する必要があります。
ソフトウェア制限ポリシーを実装するときは、最初に、既定のセキュリティ レベルを制限しないまたは許可しないのどちらにするかを決定する必要があります。既定のセキュリティ レベルを [制限しない] に設定すると、すべてのソフトウェアの実行が許可されるので、特定のアプリケーションをブロックするには、追加規則を構成する必要があります。セキュリティ強度をより高くするには、既定のセキュリティ レベルを [許可しない] に設定してすべてのソフトウェアの実行を禁止してから、追加規則を構成して特定のアプリケーションの実行を許可します。ソフトウェア制限ポリシーを複数のコンピュータに適用するにはドメインベースのグループ ポリシーを使用し、個々のコンピュータに適用するにはローカル グループ ポリシーを使用します。
**重要 :**このガイドで説明しているすべてのポリシー設定、特にソフトウェア制限ポリシー設定は、運用システムに展開する前に、十分にテストすることが重要です。ポリシー設定の機能の設計または実装に誤りがあると、ユーザー作業の大きな妨げとなる可能性があります。
ソフトウェア制限ポリシーでは、ソフトウェアを識別する数多くの方法や、識別されたソフトウェアを実行する方法に関する規則を強制するためのポリシーベースのインフラストラクチャが用意されています。コンピュータ ユーザーは、それぞれの環境の管理者によってソフトウェア制限ポリシーで決められたガイドラインに従う必要があります。
ソフトウェア制限ポリシーを使用すると、次の操作が可能です。
環境内のクライアント コンピュータで実行できるソフトウェアを指定する。
複数のユーザーが使用するコンピュータで、特定のファイルへのユーザー アクセスを制限する。
信頼された発行者をクライアント コンピュータに追加できるユーザーを特定する。
ポリシーの対象をクライアント コンピュータ上のすべてのユーザーとするか、またはユーザーのサブセットとするかを定義する。
コンピュータ、OU、サイト、またはドメインのレベルで設定するポリシーに基づいて、実行可能ファイルをローカル コンピュータで実行できないようにする。
ソフトウェア制限ポリシーのアーキテクチャ
ソフトウェア制限ポリシーには、次の強力な機能があります。
ドメインベースまたはローカル コンピュータベースのポリシーの強制。管理者は、ポリシーを作成して、信頼されるアプリケーションとそれ以外のアプリケーションを定義します。ポリシーは実行時に強制されるので、ユーザーが実行可能ファイルを実行するかどうかを選択するダイアログは表示されません。
バイナリ形式の実行可能ファイル以外にも適用されるポリシー。何をもってソフトウェアとするかという定義はあいまいです。ソフトウェア制限ポリシーでは、Microsoft Visual Basic® Scripting Edition (VBScript)、Microsoft JScript®、およびその他のスクリプト言語の制御も可能です。また、Windows インストーラ機能と統合されているので、クライアント コンピュータにインストールできるパッケージも制御できます。この機能には、ポリシーのランタイムとその他のランタイムを調整するためのアプリケーション プログラミング インターフェイス (API) も含まれています。
スケーラブルなポリシー。ソフトウェア制限ポリシーはグループ ポリシーを使用して実装するので、数万台ものコンピュータで構成されるドメイン全体で効果的に実装および管理できます。
柔軟なポリシー。管理者は、許可されていないスクリプトの禁止、Microsoft ActiveX® コントロールの規制、クライアント コンピュータのロックダウンなどを柔軟に選択できます。
強力な暗号化機能を使用してソフトウェアを識別できるポリシー。ソフトウェア制限ポリシーでは、ハッシュやデジタル署名を使用してソフトウェアを識別できます。
ソフトウェア制限ポリシーの実装には、次の 3 つの段階があります。
管理者または管理を委任されたユーザーが、Microsoft 管理コンソール (MMC) のグループ ポリシー スナップインを使用して、Active Directory コンテナのサイト、ドメイン、または OU のポリシーを作成します。ソフトウェア制限ポリシーには別個のグループ ポリシー オブジェクト (GPO) を作成することをお勧めします。
**注 :**ローカルのスタンドアロン コンピュータ用に新しいソフトウェア制限ポリシーを作成するには、そのローカル コンピュータの Administrators グループのメンバである必要があります。これらのポリシー設定を構成するには、[Windows の設定] をクリックし、[セキュリティの設定] をクリックします。次に、[ソフトウェア制限のポリシー] をクリックします。
コンピュータ レベルのポリシーがダウンロードされ、コンピュータを起動した後に有効になります。ユーザーのポリシーは、ユーザーがシステムやドメインにログオンしたときに有効になります。ポリシーを更新するには、gpupdate.exe /force コマンドを実行します。
ユーザーがアプリケーションやスクリプトなどの実行可能ファイルを実行すると、ポリシーの優先規則に基づいて実行可能かどうかが判別されます。
制限しない設定または許可しない設定
ソフトウェア制限ポリシーは、次の 2 つの部分で構成されています。
実行可能なプログラムを指定する既定の規則
既定の規則に対する例外のインベントリ
ソフトウェアを識別するための既定の規則は、[制限しない] または [許可しない] のどちらかに設定できます。前者はすべてのソフトウェアの実行を許可する設定、後者はすべてのソフトウェアの実行を許可しない設定です。
既定の規則を [制限しない] に設定すると、管理者は、それに対する例外、つまり実行を許可しないプログラムを定義できます。管理が緩やかなクライアント コンピュータの環境では、既定の規則を [制限しない] に設定します。たとえば、既存のプログラムと競合するプログラムを阻止する規則を作成して、そのようなプログラムをユーザーがインストールできないように制限できます。
より安全な手法としては、既定の規則を [許可しない] に設定して、指定したプログラムだけを実行できるようにします。既定の規則を [許可しない] に設定した場合、管理者はアプリケーションごとに規則を定義し、実行を許可されたアプリケーションにユーザーがアクセスするためのセキュリティ ポリシー設定が各ユーザーのコンピュータで適切に構成されていることを確認する必要があります。既定の設定である許可しないは、Windows XP クライアント コンピュータを保護したい組織にとって、より安全な手法です。
ソフトウェアを識別するための 4 つの規則
ソフトウェア制限ポリシーの規則を使用すると、アプリケーションを識別して、そのアプリケーションの実行を許可するかどうかを指定できます。Windows XP の強制エンジンでは、ポリシーの規則と照会した後、アプリケーションの実行を許可します。規則を作成するには、アプリケーションを特定し、既定の設定である [許可しない] に対する例外として分類する必要があります。規則ごとにその目的を説明するコメントを挿入できます。
ソフトウェア制限ポリシーでは、次の 4 つの規則を使用してソフトウェアを識別します。
ハッシュの規則。実行可能ファイルの暗号化されたデジタル指紋を使用します。
証明書の規則。ソフトウェアの発行元によってデジタル署名された、.exe ファイルの証明書を使用します。
パスの規則。ローカルの汎用名前付け規則 (UNC)、つまり .exe ファイルの場所を示すレジストリ パスを使用します。
ゾーンの規則。Microsoft Internet Explorer を使用してダウンロードした場合、実行可能ファイルがあるインターネット ゾーンを使用します。
ハッシュの規則
ハッシュとは、ソフトウェア プログラムまたは実行可能ファイルが移動または名前変更されても、そのファイルを一意に識別できるデジタル指紋です。管理者はハッシュを使用して、ユーザーによる実行を禁止する特定のバージョンの実行可能ファイルまたはプログラムを追跡できます。
ハッシュの規則を使用すると、ファイルの内容を含む暗号化の計算に基づいてハッシュの規則の照合が行われるので、ソフトウェア プログラムを一意に識別できます。ハッシュの規則によって影響を受けるファイルの種類は、[ソフトウェア制限のポリシー] の詳細パネルにある [専用ファイルの種類] セクションに一覧表示されているファイルの種類のみです。
ハッシュの規則は、静的な環境で効果的に機能します。環境内のソフトウェアをアップグレードした場合、更新された実行可能ファイルごとにハッシュを再計算する必要があります。ハッシュの規則は、ソフトウェアの変更やアップグレードを頻繁に行わない環境に適しています。
ハッシュの規則は、次の 3 つのコロンで区切られたデータで構成されています。
MD5 または SHA-1 のハッシュ値
ファイルの長さ
ハッシュ アルゴリズムの ID 番号
デジタル署名されたファイルでは、署名に含まれる MD5 または SHA-1 のハッシュ値が使用されます。デジタル署名されていない実行可能ファイルでは、MD5 のハッシュ値が使用されます。
ハッシュ規則の形式は次のとおりです。
<ハッシュ値 MD5 または SHA1>:<ファイルの長さ>:<ハッシュ アルゴリズムの ID 番号>
次のハッシュ規則は、ファイルの長さが 126 バイトで、ファイルの内容が MD5 のハッシュ値 (7bc04acc0d6480af862d22d724c3b049) およびハッシュ アルゴリズム (ID 32771) に一致する例です。
7bc04acc0d6480af862d22d724c3b049:126:32771
管理者が制限または許可するファイルごとにハッシュ規則が含まれている必要があります。ソフトウェアを更新すると、元の実行可能ファイルのハッシュ値が新しいファイルのハッシュ値と一致しなくなるので、管理者はアプリケーションごとに新しいハッシュ規則を作成する必要があります。
実行可能ファイルのハッシュ規則を作成するには、次の手順を実行します。
既存の実行可能ファイルのハッシュ規則を作成するには
グループ ポリシー オブジェクト エディタのツールバーで、[Windows の設定] をクリックし、[セキュリティの設定] をクリックします。次に、[ソフトウェア制限のポリシー] をクリックし、[追加の規則] を右クリックします。
ショートカット メニューの [新しいハッシュの規則] をクリックします。
図 6.1 [新しいハッシュの規則] ダイアログ ボックス
[参照] をクリックして、ハッシュ規則を作成するファイルを選択します。この例では、実行可能ファイルの名前は Excel.exe です。[ファイル ハッシュ] ボックスに新しいファイルのハッシュ値が表示され、[ファイル情報] ボックスにアプリケーションのバージョン番号が表示されます。
この規則に適用する既定のセキュリティ レベル設定を選択します。選択できる動作は次のとおりです。
[許可しない]
[制限しない]
証明書の規則
証明書の規則では、プログラムの実行を許可するには、ソフトウェア発行元の証明書 (コード署名で使用) が存在している必要があることを指定します。たとえば、管理者はすべてのスクリプトおよび ActiveX コントロールに対して署名付きの証明書を要求できます。証明書の規則に適合する発行元は次のとおりです。
VeriSign などの商用証明機関 (CA)
Microsoft Windows 2000/Windows Server™ 2003 の公開キー基盤 (PKI)
自己署名入りの証明書
証明書の規則はソフトウェアを識別する強力な方法です。その理由は、証明書の規則では、ファイル名やその格納場所に関係なく、署名付きファイルの署名に含まれる署名付きのハッシュを使用してファイルが一致するかどうかを検証するからです。残念ながら、コード署名技術を使用しているソフトウェア ベンダはわずかしかなく、使用しているベンダでも、配布する実行可能ファイルの数パーセント程度しか署名していないのが現状です。そのため、証明書の規則は、一般に ActiveX コントロールや社内で開発されたアプリケーションなど、特定の種類の少数のアプリケーションに使用します。たとえば、組織でコンピュータとユーザーを管理するスクリプトをデジタル署名して、未署名のスクリプトがすべて阻止されるようにすることをお勧めします。ハッシュの規則を使用すると、証明書の規則の例外を指定できます。
証明書の規則を有効化する
証明書の規則は、既定では無効です。証明書の規則を有効にするには、次の手順を実行します。
証明書の規則を有効化するには
グループ ポリシー オブジェクト エディタで GPO を開きます。
コンソール ツリーで [セキュリティ オプション] をクリックします。
詳細パネルで [システム設定: ソフトウェア制限のポリシーのために Windows 実行可能ファイルに対して証明書の規則を使用する] をダブルクリックします。
[有効] をクリックして証明書の規則を使用可能にします。
ファイルにデジタル署名する方法の詳細については、www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx にある「Using Software Restriction Policies to Protect Against Unauthorized Software」(英語情報) の「Step-by-Step Guide to Digitally Signing Files with Test Certificates」セクションを参照してください。
民間の Web サイトの多くは、民間の証明機関 (CA) によりソフトウェア コード署名されています。これらの証明書は、通常 1 年から数年の間有効です。証明書の規則を使用する場合、証明書には有効期限があるという点に注意する必要があります。証明書の有効期間の詳細については、ソフトウェアの発行元に問い合わせてください。民間の証明機関の証明書を入手すれば、それをファイルにエクスポートして証明書の規則を作成できます。証明書をエクスポートするには、次の手順を実行します。
証明書をエクスポートするには
証明書の依頼先として、信頼される発行元を選択します。この例では、証明書の発行元は Microsoft MSN® です。
図 6.2 信頼された発行元が表示されている [セキュリティ警告] ダイアログ ボックス
[詳細] タブをクリックし、[ファイルにコピー] をクリックして証明書をファイルにコピーし、証明書の規則の作成に使用します。
図 6.3 [証明書] ダイアログ ボックスの [詳細] タブ
[証明書のエクスポート ウィザードの開始] 画面が表示されます。[次へ] をクリックして作業を続けます。
図 6.4 [証明書のエクスポート ウィザードの開始] 画面
[エクスポート ファイルの形式] ページで [DER encoded binary X.509 (.CER)] をクリックし、[次へ] をクリックすると、拡張子が .cer の証明書ファイルが作成されます。
図 6.5 選択したエンコード形式が表示されている [証明書のエクスポート ウィザード] の [エクスポート ファイルの形式] ページ
[エクスポートするファイル] ページで、証明書の規則を説明するファイル名を指定します。証明書は、選択した場所に選択した名前で保存されます。
図 6.6 ファイル名の例が表示された [証明書のエクスポート ウィザード] の [エクスポートするファイル] ページ
[証明書のエクスポート ウィザードの完了] ページに、証明書ファイルで指定した設定が一覧表示されます。設定を確認した後、[完了] をクリックしてファイルをエクスポートします。
図 6.7 指定した設定が表示された [証明書のエクスポート ウィザードの完了] ページ
パスの規則
パスの規則では、フォルダまたはプログラムの完全なパスを指定します。パスの規則でフォルダを指定した場合、そのフォルダに含まれるすべてのプログラム、およびそのフォルダのサブフォルダに含まれるすべてのプログラムがパスの規則の対象となります。パスの規則では、ローカル パスと UNC パスの両方がサポートされています。
管理者は、特定のアプリケーションの起動元になるすべてのディレクトリをパスの規則で指定する必要があります。たとえば、デスクトップ ショートカットを使用してアプリケーションを起動する場合、パスの規則では、実行可能ファイルのパスと、アプリケーションを実行するショートカットのパスの両方を指定する必要があります。ユーザーが、パスの規則が部分的に指定されているアプリケーションを実行しようとすると、[制限されたソフトウェア] 警告ボックスが表示されます。
多くのアプリケーションでは、%ProgramFiles% 変数を使用して、Windows XP ベースのコンピュータのハード ドライブにファイルをインストールします。残念ながら、一部のアプリケーションは、ファイルが C:\Program Files サブディレクトリにコピーされるようにハード コードされています。この場合は、この変数を別のドライブの別のディレクトリに設定しても、アプリケーションは C:\Program Files にインストールされます。パスの規則を作成およびテストするときは、この制限に留意してください。
パスの規則に環境変数を使用する
環境変数を使用するようにパスの規則を定義することもできます。パスの規則はクライアントの環境で評価されるので、管理者は、環境変数を使用して特定のユーザー環境にパスの規則を合わせることができます。
次の 2 つは、パスの規則に環境変数を適用する方法の例を示しています。
"%UserProfile%" は、C:\Documents and Settings\ <User> とその下位にあるすべてのサブフォルダに一致
"%ProgramFiles%\<Application>" は、C:\Program Files\ <Application> とその下位にあるすべてのサブフォルダに一致
注 :環境変数は、アクセス制御リスト (ACL) では保護されていません。環境変数には、ユーザー環境変数とシステム環境変数の 2 種類があります。コマンド プロンプトを起動する権限のあるユーザーは、ユーザー環境変数を別のパスに再定義できます。システム環境変数を変更できるのは、Administrators グループのユーザーのみです。
前の 2 つの例も役立ちますが、他の使用可能な環境変数も検討することをお勧めします。環境変数の全一覧については、www.microsoft.com/resources/documentation/windows/xp/all/proddocs/ en-us/ntcmds_shelloverview.mspx の「「コマンド シェルの概要」を参照してください。
パスの規則にワイルドカードを使用する
パスの規則には、ワイルドカードとして "?" や "*" を組み込むことができます。次の例では、さまざまなパスの規則に適用したワイルドカードを示します。
\\DC - ??\login$ は \\DC - 01\login$ や \\DC - 02\login$ に一致
*\Windows は C:\Windows、D:\Windows、E:\Windows、およびこれらのディレクトリの下位にあるすべてのサブフォルダに一致
C:\win* は C:\winnt、C:\windows、C:\windir、およびこれらのディレクトリの下位にあるすべてのサブフォルダに一致
*.vbs は Windows XP Professional で拡張子 .vbs を持つすべてのアプリケーションに一致
C:\Application Files\*.* は特定のサブディレクトリにあるすべてのアプリケーション ファイルに一致
レジストリ パスの規則
多くのアプリケーションでは、Microsoft Windows レジストリのインストール フォルダまたはアプリケーション ディレクトリにパスを保存します。一部のアプリケーションは、ファイル システムの任意の場所にインストールできます。場所を特定するには、これらのアプリケーションのレジストリ キーを検索するためのパスの規則を作成します。
C:\Program Files\Microsoft Platform SDK などの特定のフォルダ パスや、%ProgramFiles%\Microsoft Platform SDK などの環境変数を使用してこれらの場所を特定することは容易ではありません。しかし、プログラムがアプリケーション ディレクトリをレジストリに格納していれば、そのレジストリに格納されている次のような値を使用するパスの規則を作成できます。
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlatformSDK\Directories\ Install Dir%
この種のパスの規則はレジストリ パスの規則と呼ばれ、次の形式で記述します。
%<レジストリ ハイブ>\<レジストリ キー名>\<値の名前>%
**注 :**レジストリ パスの規則では、規則の末尾にある "%" 記号の直後に "\" を記述しません。レジストリ ハイブの名前は省略せずに記述する必要があります。省略すると動作しません。
既定の規則を [許可しない] に設定すると、オペレーティング システムがシステム ファイルにアクセスできるように、レジストリ パスの規則が 4 つ設定されます。これらのレジストリ パスの規則は、管理者や他のユーザーをシステムからロックアウトしないようにするための保護手段として作成され、[制限しない] に設定されます。これらの規則は、上級ユーザー以外は変更または削除しないでください。レジストリ パスの規則の設定は、次のとおりです。
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\SystemRoot%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\SystemRoot%\*.exe
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\SystemRoot%\System32\*.exe
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\ProgramFilesDir%
パスの規則の優先順位
複数のパスの規則が一致する場合、最も具体的な規則が最優先されます。次のパスは、具体的な規則から一般的な規則へ、優先順位の高い順に並んでいます。
ドライブ:\フォルダ1\フォルダ2\ファイル名.拡張子
ドライブ:\フォルダ1\フォルダ2\*.拡張子
*.拡張子
ドライブ:\フォルダ1\フォルダ2\
ドライブ:\フォルダ1\
ゾーンの規則
ゾーンの規則を使用すると、Internet Explorer で定義されている次のゾーンからダウンロードしたソフトウェアを識別できます。
インターネット
イントラネット
制限付きサイト
信頼済みサイト
マイ コンピュータ
インターネット ゾーンの規則の現在のバージョンは、Windows インストーラ (*.msi) パッケージのみに適用されます。また、この規則は、Internet Explorer を使用してダウンロードしたソフトウェアには適用されません。ゾーンの規則の影響を受けるその他すべてのファイルの種類は、この章で後に示す専用ファイルの種類の表に示します。この表には、すべてのゾーンの規則に共通の専用ファイルの種類の一覧が含まれています。
規則に関する推奨事項
次の表に示す情報を使用して、アプリケーションのユーザーや環境に最適な規則の種類を決定します。
表 6.1 特定のアプリケーションに最適な規則を決定する
タスク | 推奨規則 |
---|---|
特定のプログラムのバージョンを許可する、または許可しない | ハッシュの規則 ファイルを参照してハッシュを作成します。 |
必ず同じ場所にインストールされるプログラムを識別する | 環境変数を使用したパスの規則 %ProgramFiles%\Internet Explorer\iexplore.exe |
クライアント コンピュータの任意の場所にインストールできるプログラムを識別する | レジストリ パスの規則 %HKEY_LOCAL_MACHINE\SOFTWARE\ ComputerAssociates\InoculateIT\6.0\Path\HOME% |
中央サーバーにある一連のスクリプトを識別する | パスの規則 \\SERVER_NAME\Share |
DC01、DC02、DC03 など、一連のサーバーにある一連のスクリプトを識別する | ワイルドカードを使用したパスの規則 \\DC??\Share |
ログイン スクリプトのディレクトリにあるものを除くすべての .vbs ファイルを許可しない | ワイルドカードを使用したパスの規則 *.VBSを [許可しない] に設定します。 \\LOGIN_SRV\Share\*.VBS を [制限しない] に設定します。 |
Flcss.exe という名前の付いたウイルスによりインストールされたファイルを許可しない | パスの規則 Flcss.exeを [許可しない] に設定します。 |
任意の場所で実行できる一連のスクリプトを識別する | 証明書の規則 証明書を使ってスクリプトをデジタル署名します。 |
インターネット ゾーンの信頼済みサイトからインストールしたソフトウェアを許可する | ゾーンの規則 [信頼済みサイト] を [制限しない] に設定します。 |
ソフトウェア制限ポリシーの優先順位の規則
規則は指定した順序で評価されます。全般的にプログラムと一致する規則より、具体的に一致する規則の方が優先されます。セキュリティ レベルの異なる 2 つの同じ規則が同じソフトウェアに対して設定されている場合、最も高いセキュリティ レベルを持つ規則が優先されます。たとえば、1 つのソフトウェア プログラムに 2 つのハッシュの規則が適用され、一方のセキュリティ レベルが [許可しない] に、もう一方が [制限しない] に設定されている場合は、セキュリティ レベルには [許可しない] の規則が優先されるので、そのプログラムは実行されません。次の一覧では、具体性の高さの順で規則の優先順位を定義しています。
ハッシュの規則
証明書の規則
パスの規則
ゾーンの規則
既定の規則
ソフトウェア制限ポリシーのオプション
ここでは、ソフトウェア制限ポリシーの動作に影響を与えるさまざまな強制オプションについて説明します。これらのオプションにより、デジタル署名付きファイルに対する Microsoft Authenticode® の信頼の設定が強制される方法が変更されます。強制オプションには、ダイナミック リンク ライブラリ (DLL) チェックのオプションと管理者除外のオプションがあります。
DLL のチェック
多くのプログラムは、実行可能ファイルと多くのサポート用 DLL ファイルで構成されています。既定では、ソフトウェア制限ポリシーの規則は、DLL ファイルに対して強制されません。この既定の設定は、次の 3 つの理由から、ほとんどのユーザーにお勧めします。
主な実行可能ファイルを許可しないとプログラムは実行できないので、そのプログラムの構成要素である DLL ファイルを [許可しない] に設定する必要はありません。
DLL のチェックでは、アプリケーションにリンクするすべてのライブラリをチェックする必要があるので、システムのパフォーマンスが低下します。たとえば、ユーザーがログオン セッション中に 10 個のプログラムを実行している場合、ソフトウェア制限ポリシーにより各プログラムが評価されます。DLL のチェックが有効になっている場合、ソフトウェア制限ポリシーにより各プログラム内にロードされた DLLが評価されます。プログラムごとに 20 個の DLL が使用されている場合、10 個の実行可能プログラムで 200 個の DLL がチェックされるため、ソフトウェア制限ポリシーでは合計 210 個のファイルを評価する必要があります。
Internet Explorer のようなプログラムは、実行可能ファイル (iexplore.exe) と多数のサポート用 DLL で構成されています。
既定のセキュリティ レベルを [許可しない] に設定すると、プログラムを実行する前に、実行可能ファイル本体だけでなく .exe ファイルの構成要素となるすべての DLL も識別することになるため、システムへの負荷が増大します。
ウイルスの主な標的は実行可能ファイルですが、DLL を集中的に標的にするウイルスも存在します。したがって、環境内で実行するプログラムの安全性を可能な限り保証する場合は、DLL のチェックを行うこと ([ソフトウェアのファイルすべて] を選択) をお勧めします。
プログラムにウイルスが含まれていないことを確認するには、一連のハッシュの規則を使用して実行可能ファイルとその構成要素の DLL をすべて確認します。
DLL のチェック オプションを無効にするには
ソフトウェア制限ポリシーを編集するときは、次の図に示すように、[強制のプロパティ] ダイアログ ボックスの [DLL などのライブラリを除くソフトウェアのファイルすべて] をクリックします。
図 6.8 ファイルおよびユーザーの強制オプションが表示された [強制のプロパティ] ダイアログ ボックス
管理者を除外する
ほとんどのユーザーに対してはプログラムの実行を許可しないが、管理者に対してはすべてのプログラムの実行を許可する必要がある場合があります。たとえば、管理者が、ターミナル サーバーを使用して複数のユーザーが接続する共有コンピュータを使用する場合があります。このとき、一般のユーザーに対しては特定のアプリケーションのみをそのコンピュータ上で実行できるようにし、ローカルの Administrators グループのメンバにはすべてのアプリケーションを実行できるようにする場合があります。このように設定するには、[管理者を除外する] 強制オプションを使用します。
Active Directory のオブジェクトにリンクする GPO でソフトウェア制限ポリシーを作成する場合は、[管理者を除外する] オプションを使用せずに、GPO の [グループ ポリシーの適用] のアクセス許可を Administrators に与えないことをお勧めします。管理者に適用されない GPO の設定はダウンロードされないため、ネットワーク帯域幅の消費を抑えることができます。
**注 :**ローカル セキュリティ ポリシーのオブジェクトで定義するソフトウェア制限ポリシーでは、ユーザー グループをフィルタリングできません。したがって、[管理者を除外する] オプションを使用する必要があります。
管理者の除外オプションを有効にするには
- 図 6.8 に示した [強制のプロパティ] ダイアログ ボックスの [ローカル管理者を除くすべてのユーザー] を選択します。
実行可能ファイルを定義する
次の図に示す [専用ファイルの種類のプロパティ] ダイアログ ボックスには、ソフトウェア制限ポリシーによって制御されるファイルの種類が一覧表示されています。これらの種類のファイルは、実行可能ファイルとして扱われます。たとえば、スクリーン セーバー ファイル (.scr) は、エクスプローラでダブルクリックするとプログラムとしてロードされるため、実行可能ファイルとして扱われます。
ソフトウェア制限ポリシーの規則は、[専用ファイルの種類のプロパティ] ダイアログ ボックスに一覧表示されているファイルの種類にのみ適用されます。ユーザー環境で規則を適用するファイルの種類がある場合、そのファイルをリストに追加します。たとえば、Perl のスクリプト ファイルの場合、.pl ファイルや Perl エンジンに関連付けられている他のファイルの種類を [専用ファイルの種類のプロパティ] ダイアログ ボックスの [全般] タブにある [専用ファイルの種類] ボックスの一覧に追加します。
図 6.9 [専用ファイルの種類のプロパティ] ダイアログ ボックス
このガイドで定義している GPO 設計では、.mdb および .lnk を削除し、.ocx を追加しています。次の表に、専用ファイルの種類の一覧を示します。
表 6.2 専用ファイルの種類
ファイル拡張子 | 説明 | ファイル拡張子 | 説明 |
---|---|---|---|
.ade | Microsoft Access プロジェクトの拡張子 | .msc | Microsoft Common Console ドキュメント |
.adp | Microsoft Access プロジェクト | .msi | Windows インストーラ パッケージ |
.bas | Visual Basic クラス モジュール | .msp | Windows インストーラ修正プログラム |
.bat | バッチ ファイル | .mst | Visual Test ソース ファイル |
.chm | コンパイル済み HTML ヘルプ ファイル | .ocx | ActiveX コントロール |
.cmd | Windows NT コマンド スクリプト | .pcd | Photo CD イメージ |
.com | MS-DOS アプリケーション | .pif | MS-DOS プログラムへのショートカット |
.cpl | コントロール パネルの拡張子 | .reg | レジストリ エントリ |
.crt | セキュリティ証明書 | .scr | スクリーン セーバー |
.exe | 用途 | .sct | Windows スクリプト コンポーネント |
.hlp | Windows ヘルプ ファイル | .shs | シェル スクラップ オブジェクト |
.hta | HTML アプリケーション | .url | インターネット ショートカット (Uniform Resource Locator) |
.inf | セットアップ情報ファイル | .vb | Visual Basic ファイル |
.ins | インターネット通信設定 | .vbe | VBScript エンコード スクリプト ファイル |
.isp | インターネット通信設定 | .vbs | VBScript スクリプト ファイル |
.js | JScript ファイル | .wsc | Windows スクリプト コンポーネント |
.jse | JScript エンコード スクリプト ファイル | .wsf | Windows スクリプト ファイル |
.mde | Microsoft Access MDE データベース | .wsh | Windows スクリプト ホスト設定ファイル |
設定名 | タスク |
---|---|
エンタープライズの管理者 | エンタープライズの管理者にのみアクティブな署名付きコンテンツに関する決定を許可する場合に使用します。 |
ローカル コンピュータの管理者 | ローカル コンピュータの管理者にのみアクティブな署名付きコンテンツに関する決定を許可する場合に使用します。 |
エンド ユーザー | すべてのユーザーにアクティブな署名付きコンテンツに関する決定を許可する場合に使用します。 |
発行者 | ソフトウェアの発行者が使用している証明書が失効していないことを確認する場合に使用します。 |
タイムスタンプ | 組織がアクティブなコンテンツへのタイムスタンプの割り当てに使用する証明書が失効していないことを確認する場合に使用します。 |
決定事項 | 考慮すべき要素 |
---|---|
ラップトップか、ワークステーションか | ユーザー環境のモバイル ユーザーのニーズを調査して、デスクトップのポリシーとは異なるポリシーがラップトップに必要かどうかを判断します。一般的に、ラップトップの場合、デスクトップよりも柔軟なポリシーが必要です。 |
サーバー共有、ログオン スクリプト、およびホーム ドライブ | サーバー共有やホーム ディレクトリから起動するすべてのアプリケーションに対して、パスの規則を定義する必要があります。ログオン スクリプト ファイルはパスの規則に追加できます。スクリプトにより他のスクリプトが呼び出される場合、そのスクリプトの実行場所もパスの規則に追加します。 |
GPO またはローカルのセキュリティ ポリシー | このガイドでは、GPO を使用して設計します。ただし、ローカル ポリシーが設計に及ぼす影響について考慮する必要があります。 |
ユーザーまたはコンピュータのポリシー | この設計ではすべての設定をコンピュータ レベルで適用します。 |
既定のセキュリティ レベル | 既定の設定を [許可しない] に構成し、それに基づいて他のポリシーを構成することをお勧めします。既定の設定を [制限しない] に構成することもできます。 |
追加の規則 | 既定の設定を [許可しない] に構成する場合、必要に応じて、オペレーティング システムのパスの規則を追加して適用する必要があります。[許可しない] に構成すると、自動的に 4 つの規則が作成されます。 |
ポリシーのオプション | ローカル セキュリティ ポリシーを使用していて、環境内のクライアント コンピュータの管理者にそのポリシーを適用しない場合は、ポリシーの強制で [ローカル管理者を除くすべてのユーザー] を選択します。 実行可能ファイルとスクリプトのほか、DLL もチェックする場合は、ポリシーの強制で、DLL をチェックするオプションの [ソフトウェアのファイルすべて] を選択します。 専用ファイルの種類の既定の一覧にないファイルの種類に対して規則を設定する場合は、[専用ファイルの種類のプロパティ] ダイアログ ボックスで必要に応じてそれらのファイルを追加するオプションを使用します。 ActiveX コントロールやその他の署名付きコンテンツのダウンロードを決定できるユーザーを変更する場合は、[信頼された発行者のプロパティ] ダイアログ ボックスの [全般] タブで [発行者] のチェック ボックスをオンにします。 |
サイト、ドメイン、または OU に対してポリシーを適用する | ポリシーはデスクトップまたはラップトップが所属する OU にあります。 |
UI の既定の規則 | 説明 | 設定 |
---|---|---|
[許可しない] | ユーザーのアクセス権に関係なく、ソフトウェアが実行されません。 | この既定の規則を使用します。 |
パスの規則 | 設定 |
---|---|
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\SystemRoot% | 制限しない |
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\SystemRoot%\*.exe | 制限しない |
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\SystemRoot%\System32\*.exe | 制限しない |
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\ProgramFilesDir% | 制限しない |
*.vbs | 許可しない |
G:\Group Applications | 制限しない |
Logon.bat またはログオン スクリプト | 制限しない |
*\Program Files | 制限しない |
強制オプション | 推奨設定 |
---|---|
ソフトウェア制限ポリシーの適用ファイル | DLL などのライブラリを除くソフトウェアのファイルすべて |
ソフトウェア制限ポリシーの適用ユーザー | ローカル管理者を除くすべてのユーザー |
ファイルの種類 | 推奨設定 |
---|---|
専用ファイルの種類のプロパティ | .mdb および .lnk を削除して .ocx を追加します。 |
信頼された発行者 | 推奨設定 |
---|---|
次のユーザー グループが信頼された発行者を選択することを許可する | ローカル コンピュータの管理者 |
証明書が失効しているか確認する | [発行者] オプションをオンにします。 |