参照コンピューターを使用して WDAC ポリシーを作成する

Windows Defender アプリケーションコントロールの一部の機能は、特定の Windows バージョンでのみ使用できます。 Windows Defender アプリケーション制御機能の可用性について詳しくは、こちらをご覧ください。

このセクションでは、許可するソフトウェアで既に構成されている参照コンピューターを使用して、Windows Defender アプリケーション制御 (WDAC) ポリシーを作成するプロセスについて説明します。 この方法は、特定の機能目的専用の固定ワークロード デバイスに対して使用でき、同じ機能ロールを提供する他のデバイスと共通の構成属性を共有できます。 固定ワークロード デバイスの例としては、Active Directory ドメイン コントローラー、Secure 管理 Workstations、医薬品医薬品混合装置、製造デバイス、レジ、ATM などがあります。この方法は、"in the wild" のシステムで WDAC を有効にして、ユーザーの生産性への潜在的な影響を最小限に抑えるためにも使用できます。

このトピックで説明するWindows Defender アプリケーション制御オプションの一部は、Windows 10 バージョン 1903 以降、またはWindows 11でのみ使用できます。 このトピックを使用して独自のorganizationの WDAC ポリシーを計画する場合は、マネージド クライアントがこれらの機能のすべてまたは一部を使用できるかどうかを検討し、クライアントで使用できない可能性がある機能への影響を評価します。 特定のorganizationのニーズを満たすために、このガイダンスを適応させる必要がある場合があります。

一般的なWindows Defenderアプリケーション制御の展開シナリオで説明されているように、Lamna Healthcare Company (Lamna) の例を使用して、このシナリオを示します。 Lamna は、アプリケーション制御を使用して、不要なアプリケーションや未承認のアプリケーションが管理対象デバイスで実行されるのを防ぐなど、より強力なアプリケーション ポリシーを採用しようとしています。

Alice Pena は、WDAC のロールアウトを任された IT チームリーダーです。

参照デバイスを使用してカスタム 基本ポリシーを作成する

Alice は以前、organizationのフル マネージド エンド ユーザー デバイスのポリシーを作成しました。 これで、WDAC を使用して Lamna の重要なインフラストラクチャ サーバーを保護したいと考えています。 Lamna のインフラストラクチャ システムのイメージングプラクティスは、理想的なシステムの外観を示す基準として "ゴールデン" イメージを確立し、そのイメージを使用して、より多くの会社の資産を複製することです。 Alice は、これらの同じ "ゴールデン" イメージ システムを使用して WDAC ポリシーを作成することにしました。これにより、インフラストラクチャ サーバーの種類ごとに個別のカスタム ベース ポリシーが作成されます。 イメージングと同様に、モデル、部署、アプリケーション セットなどに基づいて、複数のゴールデン コンピューターからポリシーを作成する必要があります。

WDAC ポリシーを作成する前に、参照コンピューターにウイルスやマルウェアがないことを確認してから、スキャンするソフトウェアをインストールしてください。

ポリシーを作成する前に、インストールされている各ソフトウェア アプリケーションが信頼できるものとして検証されている必要があります。

参照コンピューターを確認し、任意の DLL を読み込んでコードやスクリプトを実行する機能を持つソフトウェアがないか調べることをお勧めします。このようなコードやスクリプトにより、PC が脆弱な状態になる場合があります。 たとえば、スクリプトを実行しない場合に削除できる msbuild.exe (Visual Studio と.NET Frameworkの一部) などの開発またはスクリプト作成を目的としたソフトウェアが含まれます。 参照コンピューターでは、このようなソフトウェアを削除または無効化できます。

Alice は、Lamna の重要なインフラストラクチャ サーバーの "信頼の円" に到達するための次の重要な要因を特定します。

  • すべてのデバイスで Windows Server 2019 以降が実行されています。
  • すべてのアプリは一元的に管理され、デプロイされます。
  • 対話型ユーザーなし。

上記に基づいて、Alice はポリシーの擬似規則を定義します。

  1. 承認する "Windows の動作" ルール:

    • Windows
    • WHQL (サード パーティ製カーネル ドライバー)
    • Windows ストア署名済みアプリ
  2. デバイスで検出されたすべての既存のアプリ バイナリを承認する スキャンされたファイル の規則

WDAC ポリシーを作成するために、Alice は管理者特権のWindows PowerShell セッションで次の各コマンドを順番に実行します。

  1. 変数を初期化します。

    $PolicyPath=$env:userprofile+"\Desktop\"
    $PolicyName="FixedWorkloadPolicy_Audit"
    $LamnaServerPolicy=$PolicyPath+$PolicyName+".xml"
    $DefaultWindowsPolicy=$env:windir+"\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"
    
  2. New-CIPolicy を使って、システムにインストールされているアプリケーションをスキャンし、新しい WDAC ポリシーを作成します。

    New-CIPolicy -FilePath $LamnaServerPolicy -Level SignedVersion -Fallback FilePublisher,FileName,Hash -ScanPath c:\ -UserPEs -MultiplePolicyFormat -OmitPaths c:\Windows,'C:\Program Files\WindowsApps\',c:\windows.old\,c:\users\ 3> CIPolicyLog.txt
    

    • –Fallback パラメーターを追加して、–Level パラメーターで指定した最優先するファイル規則のレベルで検出されなかったすべてのアプリケーションをキャッチすることができます。 ファイル ルール レベルのオプションの詳細については、「アプリケーションコントロールのファイル ルール レベルWindows Defender」を参照してください。
    • WDAC ポリシーのスキャンで特定のドライブのみを対象とする場合は、–ScanPath パラメーターを使用し、その後にパスを指定します。 このパラメーターがないと、ツールは既定で C ドライブをスキャンします。
    • -UserPEs パラメーター (ユーザー モードの実行可能ファイルをスキャンに含める) を指定すると、規則オプション 0 有効:UMCI が WDAC ポリシーに自動的に追加されます。 -UserPEs を指定しない場合、ポリシーはユーザー モードの実行可能ファイルが空になり、ドライバーなどのカーネル モード バイナリに対する規則のみが含まれます。 つまり、許可リストにはアプリケーションは含まれません。 このようなポリシーを作成して、後から規則オプション 0 有効:UMCI を追加すると、アプリケーションを起動しようとするたびに、Windows Defender Application Control からの応答が発生します。 監査モードでは、応答によりイベントがログに記録され、実施モードでは、応答によりアプリケーションがブロックされます。
    • 補足ポリシーのサポートなど、Windows 10 1903 以降のポリシーを作成するには、-MultiplePolicyFormat を使用します
    • スキャンから除外するパスのリストを指定するには、 -OmitPaths オプションを使用し、パスのコンマ区切りのリストを指定します。
    • 上の例に含まれている 3> CIPolicylog.txt は、テキスト ファイル CIPolicylog.txt に警告メッセージをリダイレクトしています。
  3. 新しいポリシーを WindowsDefault_Audit ポリシーとマージして、すべての Windows バイナリとカーネル ドライバーが読み込まれるようにします。

    Merge-CIPolicy -OutputFilePath $LamnaServerPolicy -PolicyPaths $LamnaServerPolicy,$DefaultWindowsPolicy
    
  4. 新しいポリシーにわかりやすい名前と初期バージョン番号を指定します。

    Set-CIPolicyIdInfo -FilePath $LamnaServerPolicy -PolicyName $PolicyName
    Set-CIPolicyVersion -FilePath $LamnaServerPolicy -Version "1.0.0.0"
    
  5. ポリシー ルールを設定するように、マージされたポリシーを変更します。

    Set-RuleOption -FilePath $LamnaServerPolicy -Option 3 # Audit Mode
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 6 # Unsigned Policy
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 9 # Advanced Boot Menu
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 12 # Enforce Store Apps
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 16 # No Reboot
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 17 # Allow Supplemental
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 19 # Dynamic Code Security
    
  6. 必要に応じて、署名者またはファイルルールをさらに追加して、organizationのポリシーをさらにカスタマイズします。

  7. WDAC ポリシーをバイナリ形式に変換するには、ConvertFrom-CIPolicy を使用します。

    [xml]$LamnaServerPolicyXML = Get-Content $LamnaServerPolicy
    $PolicyId = $LamnaServerPolicyXML.SiPolicy.PolicyId
    $LamnaServerPolicyBin = $PolicyPath+$PolicyId+".cip"
    ConvertFrom-CIPolicy $LamnaServerPolicy $LamnaServerPolicyBin
    
  8. 基本ポリシー XML と関連付けられたバイナリを、GitHub などのソース管理ソリューションまたはドキュメント管理ソリューション (Office 365 SharePoint など) にアップロードします。

Alice は、監査モードで展開する準備ができている Lamna の重要なインフラストラクチャ サーバーの初期ポリシーを使用できるようになりました。

使用中のクライアント デバイスへのユーザーの影響を最小限に抑えるカスタム 基本ポリシーを作成する

Alice は以前、organizationのフル マネージド デバイスのポリシーを作成しました。 Alice には、Lamna のデバイス ビルド プロセスの一部としてフル マネージド デバイス ポリシーが含まれているため、すべての新しいデバイスが WDAC を有効にして始まります。 既に使用されているシステムにポリシーを展開する準備をしていますが、ユーザーの生産性の中断を引き起こすことを心配しています。 そのリスクを最小限に抑えるために、Alice はそれらのシステムに対して異なるアプローチを取ることにしました。 彼女は引き続き、監査モードでフル マネージド デバイス ポリシーをこれらのデバイスに展開しますが、適用モードでは、フル マネージド デバイス ポリシー ルールを、以前にインストールしたすべてのソフトウェアのデバイスをスキャンして作成されたポリシーとマージします。 このようにして、各デバイスは独自の"ゴールデン"システムとして扱われます。

Alice は、Lamna のフル マネージドの使用中デバイスの "信頼の円" に到達するための次の重要な要因を特定します。

  • Lamna の フル マネージド デバイスについて説明されているすべて。
  • ユーザーは、引き続き実行する必要があるアプリをインストールしました。

上記に基づいて、Alice はポリシーの擬似規則を定義します。

  1. フル マネージド デバイス ポリシーに含まれるすべてのもの
  2. デバイスで検出されたすべての既存のアプリ バイナリを承認する スキャンされたファイル の規則

Lamna の既存の使用中のデバイスの場合、Alice は、(変換された WDAC ポリシー バイナリではなく) フル マネージド デバイス ポリシー XML と共にスクリプトをデプロイします。 その後、スクリプトは前のセクションで説明したようにクライアントでローカルにカスタム ポリシーを生成しますが、DefaultWindows ポリシーとマージする代わりに、スクリプトは Lamna のフル マネージド デバイス ポリシーとマージされます。 Alice は、この異なるユース ケースの要件に合わせて、上記の手順も変更します。