次の方法で共有


OSConfig を使用して App Control for Business を構成する

App Control for Business は、実行を許可するソフトウェアの明示的なリストを適用することで攻撃対象領域を縮小する、ソフトウェアベースのセキュリティ層です。 Microsoft は Windows Server 2025 用の既定のポリシーを開発しました。このポリシーは Windows PowerShell コマンドレットを使用してサーバーに実装できます。 App Control の実装は OSConfig セキュリティ構成プラットフォームを通じて行われ、次の 2 つの運用モードが提供されます。

  • 監査モード: 信頼されていないコードの実行を許可しつつ、その実行に関するイベントを記録します。
  • 強制モード: 信頼されていないコードの実行をブロックしつつ、その試行に関するイベントを記録します。

これらのセキュリティ イベント ログの詳細については、「App Control イベントについて」および「App Control イベント タグについて」を参照してください。

App Control は Windows Server 2025 のコンポーネントであるため、そのポリシーを展開することで、PowerShell からの監査モードおよび強制モードでの利用が容易になります。 既定では、監査モードの App Control ポリシーは Windows Server 2025 に設定されていません。 代わりに、組織や企業は OSConfig ツールを使用してこれらのポリシーを追加できます。 OSConfig には、補足ポリシーによって個別のビジネス ニーズに応じてカスタマイズできる基本ポリシー (署名なし) が含まれています。 このセキュリティ強化機能の詳細については、「Application Control for Windows」を参照してください。

Azure Monitor ブックを使用すれば、App Control がアクティブ化されたときにオペレーティング システムが出力する監査イベントやブロック イベントの確認プロセスが簡素化されます。 このブックでは、ファイルの監査およびブロック活動に関する分析情報のほか、次の機能が提供されます。

  • App Control for Business に関連する Windows イベント ログを収集して Log Analytics ワークスペースに送信する機能。
  • さまざまなダッシュボードやグラフ、フィルター、エクスポート機能を活用して、ファイルおよびポリシー イベントの活動を特定する機能。 これらの機能により、App Control ポリシーの効果や状態の分析およびトラブルシューティングが可能になります。
  • ブック データをエクスポートし、Microsoft アプリコントロール ウィザードで取り込むことで、アプリ制御ポリシーを調整します。

App Control for Business 用 Azure Monitor ブックの使用を開始するには、「App Control for Business (WDAC) イベントの分析情報を取得する方法」を参照してください。

前提条件

  • お使いのデバイスで、本番署名済みの Windows Server 2025 ビルドが実行されている必要があります。 この要件を満たすことで、App Control for Business ポリシーへの準拠が担保されます。

    注意事項

    フライト署名付きバイナリは許可されません。 この要件を満たさない場合、デバイスを起動できなくなる可能性があります。

  • サーバー デバイスには、OSConfig PowerShell モジュールをインストールする必要があります。 詳細については、「OSConfig PowerShell モジュールをインストールする」を参照してください。

  • クライアント デバイスで Windows 10 バージョン 1909 以降を実行しており、 アプリ制御ウィザード がインストールされている必要があります。

クライアント デバイスに .NET Desktop Runtime 8.0 以降がインストールされていない場合は、アプリ コントロール ウィザードによって、このアプリケーションをダウンロードしてインストールするように求められます。

既定のポリシーを管理する

既定の App Control ポリシーを監査モードで構成するには、PowerShell を管理者として開き、次のコマンドを実行します。

Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\DefaultPolicy\Audit -Default
Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\AppBlockList\Audit -Default

既定の App Control ポリシーを強制モードで構成するには、PowerShell を管理者として開き、次のコマンドを実行します。

Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\DefaultPolicy\Enforce -Default
Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\AppBlockList\Enforce -Default

イベント ログを監視する

App Control ポリシーの適用後、記録されたイベントを確認するには、デバイス上で実行する任意のサードパーティ アプリケーションを選択します。 App Control ポリシーを監査モードで設定した場合、サードパーティ アプリケーションに対してイベント ID 3076 が記録されているかどうかを確認します。 ポリシーを強制モードで設定した場合は、イベント ID 3077 が記録されているかどうかを確認します。

システムは、サードパーティ アプリケーションによる制限されたコンテンツへのアクセス試行を検出し、アクセスをブロックします。 これらのイベント ログを表示およびエクスポートするには、次の手順を参照してください。

  1. [スタート] を右クリックし、[イベント ビューアー] を選択します。
  2. 左側のペインで Applications and Service Logs\Microsoft\Windows\CodeIntegrity\Operational に移動します。
  3. 中央のペインで、監査モードの場合はイベント ID 3076、強制モードの場合はイベント ID 3077 を探します。

補足ポリシーを構成する

App Control の補足ポリシーを作成するには、以下の手順に従います。

  1. サーバーからクライアント デバイスに .evtx ログ ファイルをコピーします。
  2. クライアント デバイスで、 アプリ制御ウィザードを開きます。
  3. ホーム画面で [ポリシー エディター] を選択します。
  4. [ポリシー エディター] 画面で、[イベント ログをポリシーに変換] を選択します。 続いて、[イベント ログ evtx ファイルのポリシー変換][ログ ファイルの解析] を選択します。
  5. [ポリシーに変換するイベント ログの選択] ダイアログで、対象の .evtx ファイルを見つけて、[開く] を選択します。 表示されたプロンプトで [OK] を選択した後、[次へ] を選択します。
  6. [ファイル ルール] 画面の [ファイル名] で、ポリシーに追加するファイルを選択します。
  7. [ルールの種類][パス] を選択した後、[許可の追加] を選択します。
  8. ポリシーに追加するすべての項目に対して手順 7 を繰り返し、[次へ] を選択します。

既定では、補足ポリシーは XML 形式で C:\Users\Username\Documents に保存されます。

補足ポリシーが生成されたら、その XML ファイルをサーバーにコピーし、次のスクリプトを実行します。

$policyPath = "<Path to the XML policy file>"

# Reset GUID (best practice)

Set-CIPolicyIdInfo -FilePath $policyPath -ResetPolicyID

# Set policy version (VersionEx in the XML file)

$policyVersion = "1.0.0.1"

Set-CIPolicyVersion -FilePath $policyPath -Version $policyVersion

# Set policy info (PolicyName and PolicyID in the XML file)

Set-CIPolicyIdInfo -FilePath $policyPath -PolicyID "<App name>-Policy_$policyVersion" -PolicyName "<App name>-Policy" # E.g. Set-CIPolicyIdInfo -FilePath $policyPath -PolicyID "Chrome-Policy_$policyVersion" -PolicyName "Chrome-Policy"

$base = "{9214D8EE-9B0F-4972-9073-A04E917D7989}"

Set-CIPolicyIdInfo -FilePath $policyPath -SupplementsBasePolicyID $base

#Set the new policy into the system

Set-OSConfigDesiredConfiguration -Scenario AppControl -Name Policies -Value $policyPath

補足ポリシーが適用されたかどうかを確認するには、前述の「イベント ログを監視する」に従ってイベント ID 3076 および 3077 を監視します。 オペレーティング システムが新しいイベントを出力していないことを確認します。

ポリシーのクエリ

お使いの環境で現在有効になっているポリシーを確認するには、次のコマンドを実行します。

(Get-OSConfigDesiredConfiguration -Scenario AppControl).Value.PSObject.Properties | ForEach-Object { $_.Value.PolicyInfo } | Where-Object { $_.IsEffective -eq $true }

お使いの環境で現在無効になっているポリシーを確認するには、次のコマンドを実行します。

(Get-OSConfigDesiredConfiguration -Scenario AppControl).Value.PSObject.Properties | ForEach-Object { $_.Value.PolicyInfo } | Where-Object { $_.IsEffective -eq $false }

これらのクエリの出力は必要なポリシー構成によって異なります。