AppLocker 規則の操作
IT プロフェッショナル向けのこの記事では、AppLocker ルールの種類と、アプリケーション制御ポリシーに対応する方法について説明します。
ルール コレクション
AppLocker ポリシーは、実行可能ファイル、スクリプト、Windows インストーラー ファイル、パッケージ アプリとパッケージ アプリ インストーラー、DLL ファイルなど、ルール コレクションに編成されています。 これらのコレクションを使用すると、さまざまな種類のアプリのルールを簡単に区別できます。 次の表に、各ルール コレクションに含まれるファイル形式を示します。
規則のコレクション | 関連付けられているファイル形式 |
---|---|
実行可能ファイル | .exe .com |
スクリプト | .ps1 .bat .cmd .vbs .js |
Windows インストーラー ファイル | .msi .msp .mst |
パッケージ アプリとパッケージ アプリ インストーラー | .appx |
DLL ファイル | .dll .ocx |
注
実行可能ファイルの AppLocker 規則は、攻撃者が簡単に変更できるファイルの拡張子に関係なく、すべてのポータブル実行可能ファイル (PE) ファイルに実際に適用されます。 前の表に示した実行可能ファイルのファイル拡張子情報は、説明にすぎません。
DLL ルール コレクションは、既定では有効になっていません。 DLL ルール コレクションを有効にする方法については、「 DLL ルール コレクション」を参照してください。
重要
DLL ルールを使用する場合は、許可されているすべてのアプリで使用されるすべての DLL を対象とする許可ルールを作成する必要があります。
DLL ルールを使用する場合、AppLocker はアプリケーションが読み込む各 DLL を確認する必要があります。 そのため、DLL ルールを使用すると、ユーザーのパフォーマンスが低下する可能性があります。 ただし、デバイスに既にリソースが制約されていない限り、通常、このパフォーマンスへの影響は認識できません。
強制モード
AppLocker ポリシーは、ポリシーに含まれる各ルール コレクションに 適用モード を設定します。 これらの適用モードについては、次の表を参照してください。
強制モード | 説明 |
---|---|
未構成 | 名前にもかかわらず、この適用モードはルールが無視されるという意味 ではありません 。 逆に、"未構成" の規則がルール コレクションに存在する場合、優先順位の高いポリシーが適用モードを監査のみに変更しない限り、ルールは 適用されます 。 この適用モードはポリシー作成者にとって混乱を招く可能性があるため、AppLocker ポリシーでこの値を使用しないようにする必要があります。 代わりに、残りの 2 つのオプションの間で明示的に選択する必要があります。 |
ルールを適用する | 規則が適用されます。 ユーザーが AppLocker ルールの影響を受けるアプリを実行すると、アプリ バイナリがブロックされます。 バイナリに関する情報が AppLocker イベント ログに追加されます。 |
監査のみ | ルールは監査されますが、適用されません。 ユーザーが AppLocker ルールの影響を受けるアプリを実行すると、アプリ バイナリの実行が許可されます。 ただし、バイナリに関する情報は AppLocker イベント ログに追加されます。 監査のみの適用モードは、ポリシーが適用される前に、ポリシーの影響を受けるアプリを特定するのに役立ちます。 |
AppLocker ポリシーがマージされると、すべてのポリシーのルールが有効なポリシーに追加され、ルール コレクションごとに 1 つの適用モードが選択されます。 グループ ポリシーを使用して複数の AppLocker ポリシーがデバイスに適用されている場合、適用される適用モード設定はグループ ポリシーの優先順位に基づいて選択されます。 -merge オプションを使用して Set-AppLockerPolicy PowerShell コマンドレットを使用して AppLocker ポリシーをローカルに適用する場合、既存のローカル ポリシーとマージされるポリシーの間で、より制限の厳しい適用モードが選択されます。
ルールの条件
ルールの条件は、AppLocker がルールの適用先となるアプリを識別するのに役立つ条件です。 3 つの主要なルール条件は、発行元、パス、およびファイル ハッシュです。
- 発行元: デジタル署名に基づいてアプリを識別します
- パス: コンピューターのファイル システム内またはネットワーク上の場所によってアプリを識別します
- ファイル ハッシュ: 識別されたファイルのシステム計算された暗号化 Authenticode ハッシュを表します
発行元
この条件は、使用可能な場合、そのデジタル署名と拡張属性に基づいてアプリを識別します。 デジタル署名には、アプリを作成した会社 (発行元) に関する情報が含まれています。 実行可能ファイル、dll、Windows インストーラー、パッケージ アプリ、パッケージ アプリ インストーラーには、バイナリ リソースから取得される拡張属性も含まれています。 これらの属性には、多くの場合、発行元によって定義された、製品の名前、元のファイル名、およびファイルのバージョン番号が含まれます。 パッケージ化されたアプリとパッケージ 化されたアプリ インストーラーがある場合、これらの拡張属性にはアプリ パッケージの名前とバージョンが含まれます。
注
パッケージ アプリとパッケージ アプリ インストーラールール コレクションで作成されたルールは、Windows では署名されていないパッケージ アプリとパッケージ 化されたアプリ インストーラーをサポートしていないため、発行元の条件のみを持つことができます。
可能な場合は、アプリの更新に対する回復性が高く、ファイルの場所が変更されるため、発行元ルールの条件を使用します。
発行元の条件に対して参照ファイルを選択すると、ウィザードによって、発行元、製品、ファイル名、およびバージョン番号を指定する規則が作成されます。 スライダーを上に移動するか、製品、ファイル名、またはバージョン番号フィールドにワイルドカード文字 (*) を使用して、ルールをより一般的にすることができます。
注
[ルールの作成ウィザード] で発行元ルール条件のいずれかのフィールドにカスタム値を入力するには、[ カスタム値を使用 する] チェック ボックスをオンにする必要があります。 このチェック ボックスをオンにすると、スライダーを使用できません。
[ファイルのバージョン] と [パッケージのバージョン] では、ユーザーが特定のバージョン、以前のバージョン、またはそれ以降のバージョンのアプリを実行できるかどうかを制御します。 バージョン番号を選択し、次のオプションを構成できます。
- その通り。 ルールは、このバージョンのアプリにのみ適用されます
- 以上。 この規則は、このバージョンおよびそれ以降のすべてのバージョンに適用されます。
- 次に示します。 この規則は、このバージョンと以前のすべてのバージョンに適用されます。
次の表では、パブリッシャー条件の適用方法について説明します。
オプション | 発行元の条件は、許可または拒否します。... |
---|---|
すべての署名済みファイル | 発行元によって署名されているすべてのファイル。 |
[発行元] のみ | 指定の発行元によって署名されているすべてのファイル。 |
発行元と製品名 | 指定した発行元によって署名された指定された製品のすべてのファイル。 |
発行元と製品名、およびファイル名 | 発行元によって署名された名前付き製品の名前付きファイルまたはパッケージの任意のバージョン。 |
発行元、製品名、ファイル名、およびファイル バージョン |
その通り 発行元によって署名された名前付き製品の名前付きファイルまたはパッケージの指定されたバージョン。 |
発行元、製品名、ファイル名、およびファイル バージョン |
以上 指定されたバージョンの名前付きファイルまたはパッケージ、および発行元によって署名された製品の新しいリリース。 |
発行元、製品名、ファイル名、およびファイル バージョン |
次に示す 指定されたバージョンの名前付きファイルまたはパッケージと、発行元によって署名された製品の以前のバージョン。 |
カスタム | [Publisher]、[製品名]、[ファイル名]、[バージョンパッケージ名]、[パッケージ バージョン] の各フィールドを編集して、カスタム ルールを作成できます。 |
パス
このルール条件は、コンピューターのファイル システム内またはネットワーク上の場所によってアプリケーションを識別します。
AppLocker は、プログラム ファイルや Windows などの既知のパスにカスタム パス変数を使用します。
次の表では、これらのパス変数の詳細を示します。
Windows ディレクトリまたはディスク | AppLocker パス変数 | Windows 環境変数 |
---|---|---|
Windows | %WINDIR% | %SystemRoot% |
System32 と SysWOW64 | %SYSTEM32% | %SystemDirectory% |
Windows インストール ディレクトリ | %OSDRIVE% | %SystemDrive% |
プログラム ファイル | %PROGRAMFILES% | %ProgramFiles% と %ProgramFiles(x86)% |
リムーバブル メディア (CD や DVD など) | %REMOVABLE% | |
リムーバブル ストレージ デバイス (USB フラッシュ ドライブなど) | %HOT% |
重要
多数のフォルダーとファイルを含むようにパス ルール条件を構成できるため、パス条件は慎重に計画する必要があります。 たとえば、管理者以外のユーザーがデータを書き込むフォルダーの場所がパスルールに含まれている場合、ユーザー (または標準ユーザーとして実行されているマルウェア) は、承認されていないファイルをその場所にコピーしてファイルを実行できます。 このため、ユーザー プロファイルなど、標準のユーザー書き込み可能な場所のパス条件を作成しないようにする必要があります。
ファイル ハッシュ
ファイル ハッシュ 規則の条件を選択すると、システムは識別されたファイルの Authenticode 暗号化ハッシュを計算します。 このルール条件の利点は、各ファイルに一意のハッシュがあるため、ファイル ハッシュ規則の条件が 1 つのファイルにのみ適用されるということです。 欠点は、ファイルが更新されるたびに (セキュリティ更新プログラムやアップグレードなど)、ファイルのハッシュが変更されるということです。 その結果、ファイル ハッシュ規則を手動で更新する必要があります。
AppLocker の既定の規則
AppLocker グループ ポリシー エディターを使用して作成された AppLocker ポリシーには、既定の規則を含めることができます。 既定の規則は、Windows が正常に動作するために必要なファイルが AppLocker 規則コレクションで許可されるようにするためのものです。 背景については、「 AppLocker の既定の規則について」を参照し、手順については、「 AppLocker の既定の規則を作成する」を参照してください。
実行可能な既定の規則の種類は次のとおりです。
- ローカル Administrators グループのメンバーがすべてのアプリを実行できるようにします。
- [すべてのユーザー] グループのメンバーが、Windows フォルダーにあるアプリを実行できるようにします。
- [プログラム ファイル] フォルダーにあるアプリの実行を Everyone グループのメンバーに許可します。
スクリプトの既定の規則の種類は次のとおりです。
- ローカル Administrators グループのメンバーがすべてのスクリプトを実行できるようにします。
- [プログラム ファイル] フォルダーにあるスクリプトの実行を Everyone グループのメンバーに許可します。
- Everyone グループのメンバーが Windows フォルダーにあるスクリプトを実行できるようにします。
Windows インストーラーの既定の規則の種類は次のとおりです。
- ローカル Administrators グループのメンバーがすべての Windows インストーラー ファイルを実行できるようにします。
- Everyone グループのメンバーが、デジタル署名されたすべての Windows インストーラー ファイルを実行できるようにします。
- [すべてのユーザー] グループのメンバーが、Windows\Installer フォルダーにあるすべての Windows インストーラー ファイルを実行できるようにします。
DLL の既定の規則の種類:
- ローカル Administrators グループのメンバーがすべての DLL を実行できるようにします。
- [プログラム ファイル] フォルダーにある DLL の実行を Everyone グループのメンバーに許可します。
- すべてのユーザー グループのメンバーが、Windows フォルダーにある DLL を実行できるようにします。
パッケージ アプリの既定の規則の種類:
- Everyone グループのメンバーが、署名済みパッケージ アプリとパッケージ アプリ インストーラーをすべてインストールして実行できるようにします。
AppLocker ルールの動作
特定の規則コレクションに対して AppLocker 規則が定義されていない場合、その規則コレクションの対象となるすべてのファイルの実行が許可されます。 ただし、特定のルール コレクションにルールが存在する場合は、少なくとも 1 つの許可ルールに一致し、拒否ルールに一致しないファイル のみが 実行されます。 たとえば、 %SystemDrive%\FilePath 内のファイル .exe 実行を許可する実行可能ルールを作成した場合、そのパスにある実行可能ファイルのみが実行できます。
許可または拒否アクションを使用するようにルールを構成できます。
- 適用可能です。 環境内で実行できるファイルと、ユーザーまたはユーザーのグループを指定できます。 ルールから除外されるファイルを識別するように例外を構成することもできます。
- 打ち消す。 環境内での実行を許可 しない ファイルと、ユーザーまたはユーザーのグループを指定できます。 ルールから除外されるファイルを識別するように例外を構成することもできます。
ベスト プラクティスとして、例外を含む許可アクションを使用します。 許可アクションと拒否アクションの組み合わせを使用できますが、拒否アクションは常に優先されます。 その他の規則を使用して、拒否規則に一致するファイルを許可することはできません。
ルールの例外
AppLocker ルールは、個々のユーザーまたはユーザーのグループに適用できます。 ユーザーのグループにルールを適用すると、そのグループ内のすべてのユーザーにルールが影響します。 ユーザー グループのサブセットにアプリの使用を許可する必要がある場合は、そのサブセットの特別なルールを作成できます。 たとえば、"レジストリ エディターを除くすべてのユーザーに Windows の実行を許可する" というルールを使用すると、組織内のすべてのユーザーが Windows オペレーティング システムを実行できますが、レジストリ エディターの実行は許可されません。
この規則の効果により、ヘルプ デスク担当者などのユーザーが、サポート タスクに必要なプログラムを実行できなくなります。 この問題を解決するには、ヘルプ デスク ユーザー グループに適用される 2 つ目のルールを作成します。"ヘルプ デスクによるレジストリ エディターの実行を許可する" です。代わりに、すべてのユーザーがレジストリ エディターの実行をブロックする拒否ルールを使用した場合、2 番目のルールでは、ヘルプ デスク ユーザーがレジストリ エディターを実行できなくなります。
DLL ルール コレクション
DLL 規則コレクションは既定では有効になっていないので、DLL 規則を作成して適用する前に、次の手順を実行する必要があります。
この手順を完了するには、ローカル の Administrators グループまたは同等のメンバーシップが最低限必要です。
DLL ルール コレクションを有効にするには
- [ スタート] を選択 し、「secpol.msc」と入力し、[ENTER] を選択します。
- [ ユーザー アカウント制御 ] ダイアログ ボックスが表示されたら、表示されるアクションが目的の操作であることを確認し、[ はい] を選択します。
- コンソール ツリーで、[ アプリケーション制御ポリシー] をダブルクリックし、[ AppLocker] を右クリックし、[プロパティ] を選択 します。
- [ 詳細設定 ] タブを選択し、[ DLL 規則コレクションを有効にする ] チェック ボックスをオンにし、[ OK] を選択します。
重要
DLL ルールを適用する前に、許可されているすべてのアプリで必要なすべての DLL に対して許可規則があることを確認します。
AppLocker ウィザード
ルールは、次の 2 つの AppLocker ウィザードを使用して作成できます。
- ルールの作成ウィザードを使用すると、一度に 1 つのルールを作成できます。
- ルールの自動生成ウィザードを使用すると、一度に複数のルールを作成できます。 フォルダーを選択し、見つかった関連ファイルのルールをウィザードで作成できます。 または、パッケージ化されたアプリの場合は、コンピューターにインストールされているすべてのパッケージ アプリのルールをウィザードで作成します。 ルールを適用するユーザーまたはグループを指定することもできます。 このウィザードでは、許可ルールのみが自動的に生成されます。
他の考慮事項
- 既定では、AppLocker ルールでは、ユーザーが許可されていないファイルを開いたり実行したりすることはできません。 管理者は、許可されているアプリケーションの最新の一覧を保持する必要があります。
- アプリの更新後に保持されない AppLocker 条件には、次の 2 種類があります。
- ファイル ハッシュ条件 ファイル ハッシュ ルールの条件は、アプリ ファイルの暗号化ハッシュ値がルールの作成時に生成されるため、任意のアプリで使用できます。 ただし、ハッシュ値は、そのファイルの正確なバージョンに固有です。 ファイルの複数のバージョンを許可する必要がある場合は、ファイルのバージョンごとに個別のファイル ハッシュ条件が必要です。
- 特定の製品バージョンが設定された発行元の条件[正確なバージョン] オプションを使用する発行元ルールの条件を作成した場合、アプリの新しいバージョンがインストールされている場合、ルールは保持されません。 新しい発行元の条件を作成するか、規則でバージョンを編集して、より具体的に行う必要があります。
- アプリがデジタル署名されていない場合、そのアプリの発行元ルールの条件を使用することはできません。
- EXE ルール コレクションに規則が適用されている場合は、パッケージアプリとパッケージアプリインストーラールールコレクションにルールを作成する必要があります。 それ以外の場合、パッケージ化されたアプリとパッケージアプリインストーラーはすべてブロックされます。
- カスタム構成 URL は、アプリがブロックされたときに表示されるメッセージに含めることができます。
- ユーザーが許可されていないアプリに遭遇すると、ヘルプ デスクの呼び出しの数が増えると予想されます。
このセクションの内容
記事 | 説明 |
---|---|
ファイル ハッシュ条件を使用する規則を作成する | IT プロフェッショナル向けのこの記事では、ファイル ハッシュ条件を使用して AppLocker ルールを作成する方法について説明します。 |
パス条件を使用する規則を作成する | IT プロフェッショナル向けのこの記事では、パス条件を使用して AppLocker ルールを作成する方法について説明します。 |
発行元条件を使用する規則を作成する | IT プロフェッショナル向けのこの記事では、発行元の条件を使用して AppLocker ルールを作成する方法について説明します。 |
既定の AppLocker 規則の作成 | IT プロフェッショナル向けのこの記事では、Windows システム ファイルの実行を許可する標準の AppLocker 規則セットを作成する手順について説明します。 |
AppLocker 規則の例外の追加 | IT プロフェッショナル向けのこの記事では、AppLocker 規則の例外として実行できるアプリと実行できないアプリを指定する手順について説明します。 |
パッケージ アプリの規則の作成 | IT プロフェッショナル向けのこの記事では、発行元の条件でパッケージ化されたアプリの AppLocker ルールを作成する方法について説明します。 |
AppLocker 規則の削除 | IT プロフェッショナル向けのこの記事では、AppLocker 規則を削除する手順について説明します。 |
AppLocker 規則の編集 | IT プロフェッショナル向けのこの記事では、AppLocker で発行元の規則、パス規則、およびファイル ハッシュ規則を編集する手順について説明します。 |
DLL の規則のコレクションを有効にする | IT プロフェッショナル向けのこの記事では、AppLocker の DLL ルール収集機能を有効にする手順について説明します。 |
AppLocker 規則の実施 | IT プロフェッショナル向けのこの記事では、AppLocker を使用してアプリケーション制御規則を適用する方法について説明します。 |
規則の自動生成ウィザードの実行 | IT プロフェッショナル向けのこの記事では、参照デバイスで AppLocker ルールを作成するためにウィザードを実行する手順について説明します。 |