監査イベントを使用して WDAC ポリシー ルールを作成する

適用対象

  • Windows 10
  • Windows 11
  • Windows Server 2016 以上

注意

Windows Defender アプリケーション制御 (WDAC) の一部の機能は、特定の Windows バージョンでのみ使用できます。 アプリケーション制御機能の可用性の詳細について説明します。

監査モードでアプリケーション制御を実行すると、WDAC ポリシーに含まれていないものの含める必要があるアプリケーション、バイナリ、スクリプトを検出できます。

WDAC ポリシーが監査モードで実行されている間、実行されているが拒否されたバイナリは 、アプリケーションとサービス ログ\Microsoft\Windows\CodeIntegrity\Operational イベント ログに記録されます。 スクリプトと MSI は 、アプリケーションとサービス ログ\\Microsoft\Windows\AppLocker\MSI およびスクリプト イベント ログに記録されます。 これらのイベントを使用して、元の基本ポリシーとマージしたり、別の補足ポリシーとして展開したりできる新しい WDAC ポリシーを生成できます (許可されている場合)。

監査イベントを使用するアプリを許可する WDAC ポリシーを作成するプロセスの概要

注意

このプロセスを使用するには、WDAC 監査モード ポリシーを既にデプロイしている必要があります。 まだデプロイしていない場合は、「Windows Defenderアプリケーション制御ポリシーのデプロイ」を参照してください。

監査イベントから WDAC ルールを作成する方法を理解するには、WDAC 監査モード ポリシーを使用してデバイスで次の手順に従います。

  1. WDAC ポリシーで許可されていないが許可するアプリケーションをインストールして実行します。

  2. CodeIntegrity - Operational および AppLocker - MSI およびスクリプト イベント ログを確認して、図 1 に示すようなイベントがアプリケーションに関連して生成されていることを確認します。 表示されるイベントの種類については、「 Application Control イベントについて」を参照してください。

    図 1.デプロイされた WDAC ポリシーの例外 WDAC ポリシー への例外を示すイベント。

  3. 管理者特権の PowerShell セッションで、次のコマンドを実行して、この手順で使用される変数を初期化します。 この手順は、「フル マネージド デバイス用の WDAC ポリシーを作成する」で説明したLamna_FullyManagedClients_Audit.xml ポリシーに基づいて構築され、EventsPolicy.xmlという新しいポリシー ** が**生成されます。

    $PolicyName= "Lamna_FullyManagedClients_Audit"
    $LamnaPolicy=$env:userprofile+"\Desktop\"+$PolicyName+".xml"
    $EventsPolicy=$env:userprofile+"\Desktop\EventsPolicy.xml"
    $EventsPolicyWarnings=$env:userprofile+"\Desktop\EventsPolicyWarnings.txt"
    
  4. New-CIPolicy を使用して、ログに記録された監査イベントから新しい WDAC ポリシーを生成します。 この例では、 FilePublisher ファイルルール レベルと ハッシュ フォールバック レベルを使用します。 警告メッセージは、テキスト ファイル EventsPolicyWarnings.txtにリダイレクトされます。

    New-CIPolicy -FilePath $EventsPolicy -Audit -Level FilePublisher -Fallback SignedVersion,FilePublisher,Hash –UserPEs -MultiplePolicyFormat 3> $EventsPolicyWarnings
    

    注意

    監査イベントからポリシーを作成する場合は、信頼の基準として選んだファイル規則のレベルを慎重に検討する必要があります。 上の例では、 FilePublisher ルール レベルとフォールバック レベルの Hash を使用しています。これは、必要以上に具体的な場合があります。 必要に応じて、異なる -Level オプションと -Fallback オプションを使用して、上記のコマンドを再実行できます。 WDAC ルール レベルの詳細については、「 WDAC ポリシールールとファイルルールについて」を参照してください。

  5. デスクトップに表示される WDAC ポリシー ファイル EventsPolicy.xml を見つけて確認します。 許可するアプリケーション、バイナリ、およびスクリプトのファイルと署名者の規則のみが含まれていることを確認します。 ポリシー XML を手動で編集するか、WDAC ポリシー ウィザード ツールを使用してルールを削除できます (ウィザードを使用した 既存の基本および補足 WDAC ポリシーの編集を参照)。

  6. デスクトップに表示されるテキスト ファイル EventsPolicyWarnings.txt を見つけて確認します。 このファイルには、指定したルール レベルまたはフォールバック ルール レベルで WDAC がルールを作成できなかったファイルに対する警告が含まれます。

    注意

    New-CIPolicyは、ディスク上にまだ存在するファイルのルールのみを作成します。 システムに存在しなくなったファイルには、それらを許可するルールが作成されません。 ただし、イベント ログには、ポリシー XML を手動で編集してルールを追加することで、これらのファイルを許可するのに十分な情報が必要です。 既存のルールをテンプレートとして使用し、 %windir%\schemas\CodeIntegrity\cipolicy.xsd にある WDAC ポリシー スキーマ定義に対して結果を確認できます。

  7. EventsPolicy.xmlを基本ポリシー Lamna_FullyManagedClients_Audit.xmlにマージするか、補足ポリシーに変換します。

    ポリシーのマージの詳細については、「マージ Windows Defender アプリケーション制御ポリシー」を参照してください。補足ポリシーについては、「複数のWindows Defenderアプリケーション制御ポリシーを使用する」を参照してください。

  8. 基本ポリシーまたは補足ポリシーをバイナリに変換し、優先する方法を使用してデプロイします。