ローカルコンピュータまたはドメイン全体にもう1つのセキュリティレイヤーを追加する方法をお探しですか? Windows 10のAppLockerを使用してゲームを進めてみてください!
AppLockerを使用すると、ユーザーが実行できるアプリやファイルを制御することができます。このチュートリアルでは、AppLockerを設定してWindows 10オペレーティングシステムをセキュアにする方法を学びます。
システムのセキュリティを強化したいと思いませんか?続けて読んで、システムをセキュアにしましょう!
前提条件
このチュートリアルは実践的なデモンストレーションです。一緒にやってみたい場合は、次のものを用意してください。
- A Windows 10 Education or Enterprise computer – This tutorial uses Windows 10 Enterprise 21H2.
- ローカルで設定するための管理者ユーザーアカウント、または組織のセットアップの場合はドメインコントローラーへのアクセス。
- A domain controller server for a multi-computer setup – This tutorial uses Windows Server 2019 Datacenter.
ブート時にアプリケーションアイデンティティサービスを設定する
AppLockerルールを設定してローカルコンピュータに適用する前に、まずApplication Identity Serviceを微調整する必要があります。アプリケーションアイデンティティサービスをブート時に自動的に起動するように設定することで、Windows 10のAppLockerルールが適用されます。
管理者としてPowerShellコンソールを開き、以下のコマンドを実行してアプリケーションアイデンティティサービスを自動起動に設定します。
以下の出力は、設定が成功したことを示しています。

次に、以下のGet-Serviceコマンドを実行して、アプリケーションアイデンティティサービスが自動的に起動および実行されていることを確認します。
下記では、AppIDSvcの状態が実行中で、開始タイプが自動に設定されていることが確認できます。

もし停止した状態を確認した場合は、以下のStart-Serviceコマンドを実行してアプリケーションアイデンティティサービス(AppIDSvc)を起動してください。
デフォルトのWindows 10 AppLockerルールの作成
アプリケーションアイデンティティサービスの設定が完了したので、次のステップはデフォルトのAppLockerルールを作成することです。AppLockerルールの作成により、許可および拒否するアプリケーションを制御できます。
以下のように、Windows 10 AppLockerルールを4つのカテゴリーに設定できます。
- 実行ファイルルール – 実行可能ファイル(.exe、および一部の場合 .com)。
- Windowsインストーラールール – Windowsインストーラーファイル(.msi、.msp、および.mst)。
- スクリプトのルール – スクリプトファイル(.bat、.cmd、.js、.ps1、および.vbs)。
- パッケージ化されたアプリのルール – パッケージ化されたアプリとパッケージ化されたアプリのインストーラー(.appx)。
原則として、ローカルコンピュータで既に実行されている承認済みのアプリケーションのすべてを許可するために、デフォルトのルールを作成する必要があります。
デフォルトのAppLockerのルールを作成するには、まずローカルセキュリティポリシーツールにアクセスする必要があります:
1. 実行ダイアログボックスを開き、「secpol.msc」と入力し、OKをクリック(またはEnterキーを押して)ローカルセキュリティポリシーにアクセスします。

2. ローカルセキュリティポリシーウィンドウで、アプリケーション制御ポリシーとAppLockerを展開します。

3. 実行可能なルールを選択し、右クリックして「デフォルトのルールの作成」を選択し、選択したカテゴリのデフォルトのAppLockerルールを作成します。
この手順を他のカテゴリ(Windowsインストーラー、スクリプトのルール、およびパッケージ化されたアプリのルール)に対しても繰り返します。

4. 最後に、各カテゴリを選択し、デフォルトのAppLockerルールが存在することを確認します。以下に示すように、3つのデフォルトルールのグループがあります(パッケージ化されたアプリのルールは1つだけです)。
以下に、他のものと同様に3つのデフォルトルールのグループがあるのが見えますが、パッケージ化されたアプリのルールだけが1つしかありません。

アプリケーションを拒否するルールの作成
デフォルトのAppLockerのルールが設定されたら、アプリを拒否するルールの作成を開始できます。アプリを拒否することで、マシンのセキュリティが向上し、悪意のあるアプリへのアクセスを拒否できます。ローカルセキュリティポリシーもシステム上のアプリを拒否するルールの作成に役立ちます。
このチュートリアルでは、実行可能ルールのカテゴリのルールを作成し、それが実際に機能するかどうかをテストします。しかし、ルールの作成に自信が持てるようになったら、他のカテゴリのルールも作成して、その違いを確認することができます。
パッケージ化されたアプリルールを除いて、各カテゴリのルールの作成手順は似ていることに注意してください。
パブリッシャーの条件によるアプリケーションの拒否
アプリを起動すると、アプリのパブリッシャーにシステムの変更権限が与えられます。特にアプリが常にインターネットに接続している場合は、リスクが高いと思われるかもしれません。
パブリッシャーの条件によるアプリケーションの拒否ルールを作成すると、特定のパブリッシャーを信頼しない場合に役立ちます。
1. 選択したカテゴリ(実行可能ルール)を右クリックし、新しいルールの作成を選択します。

2. 次に、始める前のページが表示されたら、次へをクリックします。これは紹介ページです。
3. 権限タブで、ルールが実行するアクションである「拒否」オプションを選択します。
このルールに影響を受けるユーザーを定義することを確認してください。ただし、このチュートリアルでは「Everyone」を選択したままにし、次へをクリックします。

4. さて、3つのオプションからルールを作成する方法を選択します(パッケージ化されたアプリは除く):
- パブリッシャー – ソフトウェアのパブリッシャーが署名したアプリケーションに対して。
- パス – 特定のファイルまたはフォルダに対して。
- ファイルハッシュ – 署名されていないファイルに対して。
しかし、このチュートリアルでは「パブリッシャー」オプションを選択し、次へをクリックします。
Publisher条件を使用してAppLockerルールを作成すると、ファイルに関するより具体的またはより一般的なルールを設定できます。

5. 以下の手順でPublisher条件を設定します:
「Any publisher」オプションを選択することは賢明な決定ではありません。同じパブリッシャーからのいくつかのアプリが動作しない可能性があるため、このオプションを選択する際には注意が必要です。
- ローカルコンピューターから、拒否ルールを作成する必要のあるファイルを参照します。
- スライダーを調整し、ルールを定義するためにどのプロパティが使用されるかを選択します。ファイルバージョンやパブリッシャーなど、詳細な設定が可能です。
この例では、Google Chromeのファイルバージョンが選択されています。
- 次をクリックして、ルール条件の例外を設定し続けます。

6. この時点で、例外を作成する必要がないため、次をクリックします。

7. ルールに説明的な名前を付け、作成をクリックしてPublisher条件のルールを作成します。

8. 最終的に、拒否ルールを設定したパブリッシャーのアプリにアクセスしてみてください。拒否ルールが機能している場合、以下のメッセージが表示されます。
選択した条件に関係なく、実行可能ルールのカテゴリーで拒否されたアプリを起動すると、以下のメッセージが表示されます。

パス条件を使用してアプリケーションを拒否する
パブリッシャーを信頼しているが、そのアプリケーションに疑問がある場合、特定のアプリケーションまたはフォルダパスを拒否するルールを作成することが最善の選択です。
1. 「パブリッシャーの条件によるアプリケーションの拒否」セクションの1から4の手順と同様に、別のルールを作成してください。
ただし、この時は特定のファイルまたはフォルダのパスに対するパスの条件を選択してください。

2. パスタブで、ルールを適用したいファイルまたはフォルダのパスを選択し、次へをクリックしてください。
例えば、ユーザーがメモ帳を起動することを禁止したい場合は、メモ帳のフルパスを指定または参照してください。
フォルダを選択すると、そのフォルダ内のすべてのファイルにAppLockerルールが適用されることに注意してください。

3. 例外を追加せずに、例外タブをスキップし、次へをクリックしてください。

4. 最後に、ルールの名前と説明を変更し、拒否ルールを確定するために作成をクリックしてください。

「ファイルハッシュを使用したアプリケーションの拒否」
悪意のあるアプリは、システムの挙動を制御する日常的なツールの一つと偽装することができます。署名されていないアプリや検証されていないパブリッシャーからのアプリを見つけると、マシンに大きな被害をもたらす可能性があります。
これらの悪意のあるアプリを誤って実行しないためにはどうすればよいでしょうか?強力なウイルス対策ソフトを持つことに加えて、ファイルハッシュを使用したアプリケーションの拒否ルールを作成することが大いに役立ちます。
1. 新しい拒否ルールを作成し、この時はファイルハッシュの条件を選択してください。
2. 次に、ルールを設定する必要のあるファイルまたはフォルダを参照し、次へをクリックしてください。

3. 最後に、拒否ルールの名前と説明を変更(オプション)、新しい拒否ルールを作成するために作成をクリックしてください。

グループポリシーオブジェクト(GPO)を使用したWindows 10 AppLockerルールの展開
今までに、コンピューター上でアプリケーションを拒否する方法を既に知っています。しかし、1つのコンピューター以上、または組織全体にAppLockerのルールを適用する必要がある場合はどうすればよいでしょうか?GPOを使用すると、組織のドメイン内のコンピューターにAppLockerのルールを展開することができます。
GPOを作成すると、各コンピューターで手動で行うことなく、複数のWindows 10コンピューターに一斉にAppLockerを展開することができます。
AppLockerのGPOを作成するには、まずOUを作成する必要があります:
なお、AD構造をめちゃくちゃにしないために、最初は「テスト組織単位」(OU)にGPOを展開するのがベストプラクティスです。
1. Active Directory Users and Computersを起動し、ドメイン(左パネル)を右クリックして、[新規]→[組織単位]を選択して新しいOUを追加します。

2. 次に、テスト用のOUに好きな名前を入力します。誤って削除されるのを防ぐため、誤って削除保護がチェックされていることを確認し、[OK]をクリックして新しいOUを作成します。

3. 以下の手順でコンピューターをテスト用のOUに追加します:
- [コンピューター](左パネル)をクリックして、ドメインコントローラー上で利用可能なコンピューターのリストにアクセスします。
- コンピューターをテスト用のOUにドラッグアンドドロップします。
- 選択したコンピューターをテスト用のOUに追加するかどうかを確認するメッセージボックスが表示された場合、[はい]をクリックして続行します。

4. それでは、GPOを作成するためにGroup Policy Managementを起動します。
ドメインを展開します(左パネル)→ テストOUを右クリックします→ このドメインでGPOを作成し、ここにリンクします… GPOの作成を開始します。

5. GPOの名前をお好みで設定し、OKをクリックしてGPOの作成を完了します。

6. 作成したら、AppLocker GPOを右クリックし、コンテキストメニューで「適用強制」を選択し、メッセージボックスでOKをクリックします。
「適用強制」設定を変更すると、GPOの設定がオブジェクト(ローカルシステム、ドメイン、サイト、または組織単位)に適用されます。

7. 次に、AppLocker GPOを右クリックし、[編集]を選択してグループポリシー管理エディタを開きます。

8. 以下の手順で、アプリケーションのアイデンティティのプロパティを設定します:
- コンピューターの構成を展開します → ポリシー → Windowsの設定 → セキュリティの設定。
- システムの設定を選択し、アプリケーションのアイデンティティをダブルクリックしてプロパティにアクセスします。
- このポリシー設定を定義するボックスにチェックを入れ、自動を選択してアプリケーションのアイデンティティを起動時に自動的に設定します。
アプリケーションのアイデンティティを自動的に起動することは重要です。これはAppLockerの動作のスイッチとして機能します。
- アプリケーションのアイデンティティのプロパティの変更を保存するために、適用とOKをクリックします。

9. スクロールして、アプリケーション制御ポリシー(左パネル)を展開し、AppLockerを展開します。

10. これで、デフォルトのAppLockerルールの作成セクションの手順をすべて複製して、デフォルトのAppLockerルールを作成します。
11. 最後に、AppLockerの拒否ルールの作成セクションの手順に従って、拒否ルールを作成します。
アプリケーションの識別およびAppLocker GPOの状態の確認
AppLockerルールをGPOで展開した後、テストOUに追加したコンピュータ上のAppIDSvcの状態を確認します。また、AppLocker GPOがテストOUに正常に適用されたかも確認します。
1. テストOUに追加したコンピュータにログインします。
2. 次に、以下のコマンドを実行してAppIDSvcの状態を確認します。

3. そして、以下のgpresultコマンドを実行して適用されたGPOを確認します。
コンピュータの設定の中でAppLocker GPOを探し、それが適用されていることを確認します。

4. 最後に、AppLockerの拒否ルールを再度テストします。正常に機能していれば、以下のようなメッセージボックスが表示されます。
おめでとうございます!これで、これらの手順を複製し、AppLockerをライブの組織単位に展開する準備が整いました。

まとめ
アプリケーション、パッケージ、スクリプトを問わず、AppLockerを使用すると、システムへの変更を許可または拒否することができます。このチュートリアルでは、Windows 10のAppLockerルールの作成方法、ローカルコンピュータへのシステムの保護方法、およびGPOを使用して複数のマシンにルールを展開する方法について学びました。
この新たな知識を活かして、AppLockerを使用してシステムを悪意のある攻撃から保護することを考えてみましょうか?