Table of Contents

Windows Defender Application Control WDAC で Windows を強化

## ノート:

  • Windows Server 2016/2019 またはバージョン 1903 より前のバージョンでは、一度に 1 つのレガシー ポリシーのみがサポートされます。
  • Windows Server Core エディションは WDAC をサポートしていますが、AppLocker に依存する一部のコンポーネントは動作しません
  • 必ずお読みください Recommended Reading 実装する前、あるいはテストする前に。

このコレクションが使用するスクリプトとツールのリスト:

- MicrosoftDocs - WDAC-Toolkit - Microsoft - Refresh CI Policy

追加の構成は以下から検討されました。

- Microsoft - Recommended block rules - Microsoft - Recommended driver block rules - Microsoft - Windows Defender Application Control

## 説明:

XML と BIN:

  • 簡単に言えば、“XML” ポリシーはローカルのマシンに適用するためのものであり、“BIN” ファイルはそれらを次のいずれかで適用するためのものです。 Group Policy or Microsoft Intune ローカル展開では XML、BIN、または CIP ポリシーを使用できますが、一般的には、可能な限り XML を使用する必要があり、特に監査やトラブルシューティングを行う場合はそうしてください。

ポリシーの説明:

  • デフォルト ポリシー:
    • 「デフォルト」ポリシーは、WDAC ツールキットで利用可能なデフォルト機能のみを使用します。
  • 推奨ポリシー:
    • 「推奨」ポリシーでは、デフォルトの機能と Microsoft の推奨機能が使用されます。 blocks and driver block ルール。
  • 監査ポリシー:
    • 「監査」ポリシーは、ルールの例外をログに記録するだけです。これは環境でのテスト用であり、環境のニーズに合わせてポリシーを自由に変更できます。
  • 適用されるポリシー:
    • 「強制」ポリシーではルールの例外は許可されず、準拠しない場合、アプリケーション、ドライバー、DLL などがブロックされます。

利用可能なポリシー:

  • XML:
    • 監査のみ:
      • WDAC_V1_Default_Audit_{バージョン}.xml
      • WDAC_V1_Recommend_Audit_{バージョン}.xml
    • 強制:
      • WDAC_V1_Default_Enforced_{バージョン}.xml
      • WDAC_V1_Recommend_Enforced_{バージョン}.xml
  • 置き場:
    • 監査のみ:
      • WDAC_V1_Default_Audit_{バージョン}.bin
      • WDAC_V1_Recommend_Audit_{バージョン}.bin
    • 強制:
      • WDAC_V1_Default_Enforced_{バージョン}.bin
      • WDAC_V1_Recommend_Enforced_{バージョン}.bin
  • CIP:
    • 監査のみ:
      • WDAC_V1_Default_Audit\{uid}.cip
      • WDAC_V1_Recommend_Audit\{uid}.cip
    • 強制:
      • WDAC_V1_Default_Enforced\{uid}.cip
      • WDAC_V1_Recommended_Enforced\{uid}.cip

スクリプト内の次の行を更新して、必要なポリシーをローカルで使用します。

$PolicyPath = "C:\temp\Windows Defender\CIP\WDAC_V1_Recommended_Enforced\*.cip"
#https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/deployment/deploy-wdac-policies-with-script
ForEach ($Policy in (Get-ChildItem -Recurse $PolicyPath).Fullname) {
  $PolicyBinary = "$Policy"
  $DestinationFolder = $env:windir+"\System32\CodeIntegrity\CIPolicies\Active\"
  $RefreshPolicyTool = "./Files/EXECUTABLES/RefreshPolicy(AMD64).exe"
  Copy-Item -Path $PolicyBinary -Destination $DestinationFolder -Force
  & $RefreshPolicyTool
}

Alternatively, you may use Group Policy or Microsoft Intune to enforce the WDAC policies.

Auditing:

You can view the WDAC event logs in event viewer under:

Applications and Services Logs\Microsoft\Windows\CodeIntegrity\Operational

How to run the script:

Manual Install:

If manually downloaded, the script must be launched from an administrative powershell in the directory containing all the files from the GitHub Repository

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Get-ChildItem -Recurse *.ps1 | Unblock-File
.\sos-wdachardening.ps1