ソフトウェアの制限のポリシーの技術概要

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012

このトピックでは、ソフトウェア制限ポリシーとこの機能をいつ、どのように使用するか、過去のリリースでどんな変更が実施されたかについて説明します。さらに Windows Server 2008 および Windows Vista 以降でソフトウェア制限ポリシーを作成して展開する際に役立つその他のリソースへのリンクを示しています。

はじめに

ソフトウェア制限ポリシーによって、管理者はソフトウェアを特定し、ローカル コンピューターでの実行能力を制御するためのグループ ポリシー主導のメカニズムが得られます。 これらのポリシーを使用して、Microsoft Windows オペレーティング システム (Windows Server 2003 および Windows XP Professional 以降) を実行しているコンピューターを既知の競合から保護し、悪意のあるウイルスやトロイの木馬プログラムなどのセキュリティ上の脅威からコンピューターを保護することができます。 ソフトウェアの制限のポリシーを使えば、コンピューターの構成に厳格な制限を加え、指定したアプリケーションに限って実行を許可することもできます。 ソフトウェアの制限のポリシーは、Microsoft Active Directory とグループ ポリシーに統合されています。 スタンドアロン コンピューター上でソフトウェアの制限のポリシーを作成することも可能です。

ソフトウェアの制限のポリシーは信頼ポリシーであり、スクリプトなどの必ずしも信頼できないコードの実行を制限するために管理者が設定する規則です。 ローカル グループ ポリシー エディターに対するソフトウェア制限ポリシー拡張機能が提供するひとつのユーザー インターフェイスを通じて、アプリケーションの使用を制限するための設定をローカル コンピューターで、あるいはドメイン全体で管理できます。

プロシージャ

ソフトウェア制限ポリシーの使用シナリオ

ビジネス ユーザーによるコラボレーションでは、電子メール、インスタント メッセージング、ピアツーピア アプリケーションを使用します。 これらのコラボレーションが増大していくと、特に、インターネットがビジネス コンピューティングで使用されている状況では、悪意のあるコード (ワーム、ウイルス、悪意のあるユーザーや攻撃者の脅威など) による脅威も増えていきます。

ユーザーは、ネイティブ Windows 実行可能ファイル (.exe ファイル) から、ドキュメント (.doc ファイルなど) 内のマクロ、スクリプト (.vbs ファイルなど) まで、さまざまな形式で悪意のあるコードを受け取る可能性があります。 悪意のあるユーザーや攻撃者がソーシャル エンジニアリング方式を使用して、ユーザーにウイルスやワームを含むコードを実行させることがよくあります。 (ソーシャル エンジニアリングとは、ユーザーをだまし、自分のパスワードや何らかのセキュリティ情報を明らかにさせることです)。このようなコードがアクティブ化されると、ネットワークに対するサービス拒否攻撃が生成されたり、機密データまたはプライベート データがインターネットに送信されたり、コンピューターのセキュリティが危険にさらされたり、ハード ディスク ドライブの内容が破壊されたりする可能性があります。

IT の組織とユーザーは、どのソフトウェアを実行するのが安全であり、どれがそうでないかを判断できなければなりません。 悪意のあるコードの数とその形態は多数あるので、これは困難な作業になります。

彼らのネットワーク コンピューターを悪意のあるコードと、不明なソフトウェアやサポートされていないソフトウェアの両方から保護できるように、組織はソフトウェア制限ポリシーを全体的セキュリティ戦略の一環として実装できます。

管理者は次のタスクにソフトウェアの制限のポリシーを使用できます。

  • 信頼できるコードの定義

  • スクリプト、実行可能ファイル、および ActiveX コントロールの制御用の柔軟なグループ ポリシーの設計

ソフトウェアの制限のポリシーは、ソフトウェアの制限のポリシーに準拠しているオペレーティング システムとアプリケーション (スクリプト アプリケーションなど) によって適用されます。

具体的には、管理者は次の用途にソフトウェアの制限のポリシーを使用できます。

  • どのソフトウェア (実行可能ファイル) をクライアント コンピューターで実行できるか指定する

  • 共有のコンピューター上でユーザーによって特定のプログラムが実行されるのを防ぐ

  • 誰が信頼できる発行元をクライアント コンピューターに追加できるかを指定する

  • ソフトウェア制限ポリシーの範囲を設定する (ポリシーがクライアント コンピューターの全ユーザーに適用となるのか、一部ユーザーだけに適用となるのかを指定する)

  • 実行可能ファイルがローカル コンピューター、組織単位 (OU)、サイト、ドメインで実行されるのを防ぐ。 悪意のあるユーザーによって引き起こされる問題の予防にソフトウェアの制限のポリシーを使っていない場合には、これが適しています。

機能の相違点と変更点

Windows Server 2012 と Windows 8 では、SRP の機能に変更点はありません。

サポートされているバージョン

ソフトウェア制限ポリシーを構成して適用できるのは、少なくとも Windows Server 2003 (Windows Server 2012 を含む) を実行しているコンピューターと、少なくとも Windows XP (Windows 8 を含む) を実行しているコンピューターだけです。

注意

Windows Vista 以降の Windows クライアント オペレーティング システムの一部のエディションには、ソフトウェア制限ポリシーがありません。 ドメインでグループ ポリシーにより管理されていないコンピューターは、配布されたポリシーを受け取らない場合があります。

ソフトウェア制限ポリシーと AppLocker でアプリケーション制御機能を比較する

次の表は、ソフトウェア制限ポリシー (SRP) 機能と AppLocker の機能を比較しています。

アプリケーション制御機能 SRP AppLocker
スコープ SRP ポリシーは、Windows XP および Windows Server 2003 以降のすべての Windows オペレーティング システムに適用できます。 AppLocker ポリシーは Windows Server 2008 R2、Windows Server 2012、Windows 7、Windows 8 だけに適用されます。
ポリシーの作成 SRP ポリシーはグループ ポリシーで管理され、GPO の管理者のみが SRP ポリシーを更新できます。 ローカル コンピューターの管理者は、ローカル GPO で定義された SRP ポリシーを変更できます。 AppLocker ポリシーはグループ ポリシーで管理され、GPO の管理者のみがポリシーを更新できます。 ローカル コンピューターの管理者は、ローカル GPO で定義された AppLocker ポリシーを変更できます。

AppLocker では、エラー メッセージをカスタマイズして、ヘルプを提供する Web ページにユーザーを誘導できます。

ポリシーの保守 SRP ポリシーを更新するには、ローカル セキュリティ ポリシー スナップイン (ポリシーがローカルに作成されている場合) またはグループ ポリシー管理コンソール (GPMC) を使う必要があります。 AppLocker ポリシーは、ローカル セキュリティ ポリシー スナップイン (ポリシーがローカルに作成されている場合)、GPMC、または Windows PowerShell の AppLocker コマンドレットを使って更新できます。
ポリシーの適用 SRP ポリシーは、グループ ポリシーを介して配布されます。 AppLocker ポリシーは、グループ ポリシーを介して配布されます。
実施モード SRP は "拒否リスト モード" で動作します。このモードでは、管理者が、このエンタープライズで許可したくないファイルに対して規則を作成できます。それ以外のファイルについては、既定で実行が許可されます。

"許可リスト モード" で SRP を構成することもできます。この場合は、すべてのファイルが既定でブロックされており、管理者は、許可するファイルに対して許可規則を作成する必要があります。

AppLocker は、既定では "許可リスト モード" で動作します。このモードでは、一致する許可規則があるファイルについてのみ、実行が許可されます。
制御できるファイルの種類 SRP では、次のファイルの種類を制御できます。

- 実行可能ファイル
- Dll
- スクリプト
- Windows インストーラー

SRP では、ファイルの種類を個別に制御できません。 SRP の規則すべてが 1 つの規則のコレクションに含まれます。

AppLocker では、次のファイルの種類を制御できます。

- 実行可能ファイル
- Dll
- スクリプト
- Windows インストーラー
- パッケージ アプリとインストーラー (Windows Server 2012 と Windows 8)

AppLocker は、5 つのファイルの種類それぞれに対して、個別の規則のコレクションを保持します。

指定されたファイルの種類 SRP では、実行可能なファイルの種類の一覧をサポートしています。この一覧は拡張できます。 管理者は、実行可能と見なす必要があるファイルの拡張子を追加できます。 AppLocker では、この機能はサポートされません。 AppLocker では、現在、次のファイル拡張子がサポートされます。

- 実行可能ファイル (.exe、.com)
- Dll (.ocx、.dll)
- スクリプト (.vbs、.js、.ps1、.cmd、.bat)
- Windows インストーラー (.msi、.mst、.msp)
- パッケージ アプリのインストーラー (.appx)

ルールの種類 SRP では、4 つの規則の種類がサポートされます。

- ハッシュ
- パス
- シグネチャ
- インターネット ゾーン

AppLocker では、3 つの規則の種類がサポートされます。

- ハッシュ
- パス
- パブリッシャー

ハッシュ値の編集 SRP を使用すると、管理者はカスタム ハッシュ値を指定できます。 AppLocker では、ハッシュ値自体が計算されます。 内部的には、移植可能な実行可能ファイル (Exe と Dll) と Windows インストーラーには SHA1 Authenticode ハッシュ、その他には SHA1 フラット ファイル ハッシュを使用します。
さまざまなセキュリティ レベルのサポート SRP によって、アプリを実行できるアクセス許可を管理者が指定できます。 そのため、管理者は、メモ帳が常に制限されたアクセス許可で実行され、管理者特権では実行されないように規則を構成できます。

Windows Vista 以前の SRP では、複数のセキュリティ レベルがサポートされます。 Windows 7 では、そのリストが「許可しない」と「制限しない」の 2 つのレベルに制限されていました (基本ユーザーは「許可しない」に変換されます)。

AppLocker では、セキュリティ レベルがサポートされません。
パッケージ アプリおよびパッケージ アプリ インストーラーの管理 不可能 .appx は、AppLocker が管理できる有効なファイルの種類です。
ユーザーまたはユーザー グループへの規則のターゲット設定 SRP の規則は、特定のコンピューター上のすべてのユーザーに適用されます。 AppLocker 規則は、特定のユーザーまたはユーザー グループを対象にできます。
規則の例外のサポート SRP では、規則の例外がサポートされません。 AppLocker 規則では例外を指定できます。たとえば、管理者は "Windows で regedit.exe を除くすべてを許可する" などの規則を作成できます。
監査モードのサポート SRP では、監査モードがサポートされません。 SRP ポリシーをテストする唯一の方法は、テスト環境をセットアップして、何回か試してみることです。 AppLocker では、監査モードがサポートされます。このモードでは、管理者はユーザー エクスペリエンスに影響を与えずに、実際の運用環境でポリシーの影響をテストできます。 結果に問題がなければ、ポリシーの実施を開始できます。
ポリシーのエクスポートとインポートのサポート SRP では、ポリシーのインポート/エクスポートがサポートされません。 AppLocker では、ポリシーのインポートとエクスポートがサポートされます。 これにより、サンプル コンピューターで AppLocker ポリシーを作成し、テストしてから、そのポリシーをエクスポートし、目的の GPO にインポートすることができます。
規則の実施 内部的に、SRP の規則は、安全性の低いユーザー モードで実施されます。 内部的に、Exe ファイルおよび Dll ファイルに対する AppLocker 規則は、ユーザー モードより安全なカーネル モードで実施されます。

システム要件

ソフトウェア制限ポリシーを構成して適用できるのは、少なくとも Windows Server 2003 を実行しているコンピューターと、少なくとも Windows XP を実行しているコンピューターだけです。 グループ ポリシーは、ソフトウェア制限ポリシーを含むグループ ポリシー オブジェクトを配布することが求められます。

ソフトウェア制限ポリシーのコンポーネントとアーキテクチャ

ソフトウェア制限ポリシーは、ソフトウェア制限ポリシーに準拠するオペレーティング システムとアプリケーションがソフトウェア プログラムのランタイム実行を制限するためのメカニズムを提供します。

大まかに言えば、ソフトウェア制限ポリシーは、次のコンポーネントで構成されています。

  • ソフトウェア制限ポリシー API。 アプリケーション プログラミング インターフェイス (API) は、ソフトウェア制限ポリシーの構成要素となる規則を作成および構成するために使用されます。 ソフトウェア制限ポリシーを照会し、処理し、適用するためのソフトウェア制限ポリシー API もあります。

  • ソフトウェア制限ポリシー管理ツール。 これは、管理者がソフトウェア制限ポリシーを作成および編集するために使用する、ローカル グループ ポリシー オブジェクト エディター スナップインのソフトウェア制限ポリシー拡張機能で構成されます。

  • オペレーティング システム API と、ソフトウェア制限ポリシー API を呼び出してソフトウェア制限ポリシーの実行時の適用を提供するアプリケーションのセット。

  • Active Directory とグループ ポリシー。 ソフトウェア制限ポリシーはグループ ポリシー インフラストラクチャを使用して、ソフトウェア制限ポリシーを Active Directory から適切なクライアントに伝達し、さらにこれらのポリシーの適用の範囲を絞って適切な対象コンピューターにフィルタリングします。

  • 署名された実行可能ファイルを処理するために使用される Authenticode および WinVerify 信頼 API。

  • イベント ビューアー。 ソフトウェア制限ポリシーによって使用される機能は、イベントをイベント ビューアー ログに記録します。

  • ポリシーの結果セット (RSoP)。クライアントに適用される、効果的なポリシーの診断に役立ちます。

SRP アーキテクチャ、SRP がどのようにルール、プロセス、相互作用を管理するかの詳細については、Windows Server 2003 テクニカル ライブラリの「ソフトウェアの制限のポリシーのしくみ」を参照してください。

ベスト プラクティス

既定のドメイン ポリシーを変更しないでください。

  • 既定のドメイン ポリシーを編集しなければ、カスタマイズしたドメイン ポリシーで何らかの問題が生じた場合にいつでも既定のドメイン ポリシーを再適用するオプションを選べます。

ソフトウェア制限ポリシーに別個のグループ ポリシー オブジェクトを作成します。

  • ソフトウェア制限ポリシーに別個のグループ ポリシー オブジェクト (GPO) を作成すると、ソフトウェア制限ポリシーを緊急時に無効にしたとき、他のドメイン ポリシーを無効にしないでおくことができます。

適用されたポリシー設定で問題が発生した場合は、Windows をセーフ モードで再起動します。

  • ソフトウェア制限ポリシーは、Windows をセーフ モードで起動しているときは適用されません。 ソフトウェア制限ポリシーを使用したワークステーションを誤ってロックダウンした場合は、コンピューターをセーフ モードで再起動し、ローカル管理者としてログオンし、ポリシーを変更して、 gpupdate を実行し、コンピューターを再起動してから、通常どおりにログオンします。

既定設定の「許可しない」を定義するときは注意してください。

  • 既定設定の「許可しない」を定義すると、明示的に許可されているソフトウェアを除き、すべてのソフトウェアが許可されません。 開きたいと思うファイルには、開くことを許可するソフトウェア制限ポリシー規則が必要になります。

  • 管理者がシステムからロックされるのを防ぐために、既定のセキュリティ レベルを「許可しない」に設定すると、4 つのレジストリ パスの規則が自動的に作成されます。 これらのレジストリ パスの規則を削除や変更できますが、これは推奨されません。

セキュリティを最大限に高めるために、アクセス制御リストをソフトウェア制限ポリシーと組み合わせて使用してください。

  • ユーザーは、許可されていないファイルを名前変更や移動したり、制限の無いファイルを上書きすることによって、ソフトウェア制限ポリシーを迂回しようとするかもしれません。 このため、アクセス制御リスト (ACL) を使用して、ユーザーに対してこれらのタスクを実行するために必要なアクセスを拒否することをお勧めします。

新しいポリシー設定をテスト環境で十分にテストした後で、このポリシー設定をドメインに適用します。

  • 新しいポリシー設定は、最初の予想とは違った働きをすることがあります。 テストすることで、ポリシー設定をネットワーク全体で展開したとき問題が発生する可能性が減ります。

  • テスト ドメインを、組織のドメインと切り離してセットアップし、その中で新しいポリシー設定をテストすることができます。 テスト GPO を作成して、それをテスト組織単位にリンクすることによって、ポリシー設定をテストすることもできます。 ポリシー設定をテスト ユーザーで十分にテストしたら、テスト GPO をドメインにリンクできます。

  • プログラムやファイルを、どんな影響がでるかテストして調べることなく、「許可しない」に設定しないでください。 特定のファイルに対して制限をかけると、コンピューターやネットワークの操作に重大な影響を与える可能性があります。

  • 間違って入力された情報や入力ミスの情報が原因で、ポリシー設定が予期したとおりに動作しなくなる可能性があります。 新しいポリシー設定を適用する前にテストすることで、予期しない動作を防ぐことができます。

ユーザー ポリシー設定を、セキュリティ グループのメンバーシップに基づいてフィルタリングします。

  • ポリシー設定を適用したくないユーザーまたはグループを指定するには、GPO の [プロパティ] ダイアログ ボックスの [セキュリティ] タブにある [グループ ポリシーの適用][読み取り] のチェック ボックスをオフにします。

  • 読み取りアクセス許可が拒否されると、ポリシー設定はコンピューターによってダウンロードされません。 その結果として、不要なポリシー設定をダウンロードすることで消費される帯域幅が少なくなり、ネットワークをより迅速に機能させることができます。 読み取りアクセス許可を拒否するには、GPO の [プロパティ] ダイアログ ボックスの [セキュリティ] タブにある [読み取り] チェックボックスで [拒否] を選択します。

  • 別のドメインやサイトの GPO にリンクすると、パフォーマンスが低下する可能性があります。

その他の資料

コンテンツ タイプ 参考資料
計画 ソフトウェアの制限のポリシーのテクニカル リファレンス
操作 ソフトウェア制限ポリシーの管理
トラブルシューティング ソフトウェアの制限のポリシーのトラブルシューティング (2003)
Security ソフトウェアの制限のポリシーに関する脅威と対策 (2008)

ソフトウェアの制限のポリシーに関する脅威と対策 (2008 R2)

ツールと設定 ソフトウェアの制限ポリシーのツールおよび設定 (2003)
コミュニティ リソース ソフトウェアの制限のポリシーによるアプリケーションのロックダウン