Создание политики WDAC с помощью компьютера-образца

Примечание.

Некоторые возможности управления приложениями в Защитнике Windows доступны только в определенных версиях для Windows. Узнайте больше о доступности функции управления приложениями в Защитнике Windows.

В этом разделе описывается процесс создания политики управления приложениями Защитник Windows (WDAC) с помощью компьютера-образца, на котором уже настроено программное обеспечение, которое вы хотите разрешить. Этот подход можно использовать для устройств с фиксированной рабочей нагрузкой, которые предназначены для определенного функционального назначения и совместно используют общие атрибуты конфигурации с другими устройствами, обслуживающими ту же функциональную роль. Примерами устройств с фиксированной рабочей нагрузкой могут быть контроллеры домен Active Directory, рабочие станции secure Администратор, оборудование для смешивания фармацевтических препаратов, производственные устройства, кассовые аппараты, банкоматы и т. д. Этот подход также можно использовать для включения WDAC в системах "в дикой природе", и вы хотите свести к минимуму потенциальное влияние на производительность пользователей.

Примечание.

Некоторые из Защитник Windows параметров управления приложениями, описанные в этом разделе, доступны только в Windows 10 версии 1903 и выше или Windows 11. При использовании этого раздела для планирования политик WDAC вашей организации следует учитывать, могут ли управляемые клиенты использовать все или некоторые из этих функций, а также оценить влияние на любые функции, которые могут быть недоступны для ваших клиентов. Возможно, вам потребуется адаптировать это руководство в соответствии с потребностями конкретной организации.

Как описано в распространенных сценариях Защитник Windows развертывания управления приложениями, мы будем использовать пример Lamna Healthcare Company (Lamna), чтобы проиллюстрировать этот сценарий. Lamna пытается внедрить более строгие политики приложений, включая использование управления приложениями, чтобы предотвратить запуск нежелательных или несанкционированных приложений на управляемых устройствах.

Алиса Пена является руководителем ИТ-команды, которым поручено развертывание WDAC.

Создание пользовательской базовой политики с помощью эталонного устройства

Ранее Алиса создала политику для полностью управляемых устройств конечных пользователей в организации. Теперь она хочет использовать WDAC для защиты серверов критически важной инфраструктуры Lamna. Практика Lamna для систем инфраструктуры заключается в том, чтобы создать "золотой" образ в качестве ссылки на то, как должна выглядеть идеальная система, а затем использовать его для клонирования дополнительных активов компании. Алиса решает использовать те же "золотые" системы образов для создания политик WDAC, что приведет к отдельным настраиваемым базовым политикам для каждого типа сервера инфраструктуры. Как и в случае с визуализацией, ей придется создавать политики на основе нескольких "золотых" компьютеров на основе модели, отдела, набора приложений и т. д.

Примечание.

Убедитесь, что исходный ПК не содержит вирусов или вредоносных программ, и установите программное обеспечение, которое должно быть проверено во время сканирования, перед созданием политики WDAC.

Перед созданием этой политики каждый компонент устанавливаемого программного обеспечения должен быть проверен на благонадежность.

Рекомендуем поискать на исходном компьютере программное обеспечение, способное загружать произвольные библиотеки DLL и выполнять код или сценарии, которые могут сделать компьютер более уязвимым. Примеры включают программное обеспечение, предназначенное для разработки или сценариев, например msbuild.exe (часть Visual Studio и платформа .NET Framework), которое можно удалить, если вы не хотите запускать скрипты. Данное программное обеспечение на эталонном компьютере можно удалить или отключить.

Алиса определяет следующие ключевые факторы для получения "круга доверия" для серверов критически важной инфраструктуры Lamna:

  • Все устройства работают под управлением Windows Server 2019 или более поздней версии;
  • Все приложения централизованно управляются и развертываются;
  • Нет интерактивных пользователей.

Основываясь на приведенном выше, Алиса определяет псевдо-правила для политики:

  1. "Windows работает" правила, которые разрешают:

    • Windows
    • WHQL (сторонние драйверы ядра)
    • Приложения, подписанные в Магазине Windows
  2. Правила для отсканированных файлов , которые авторизуют все ранее существующие двоичные файлы приложений, найденные на устройстве

Чтобы создать политику WDAC, Алиса выполняет каждую из следующих команд в сеансе с повышенными привилегиями Windows PowerShell по порядку:

  1. Инициализация переменных.

    $PolicyPath=$env:userprofile+"\Desktop\"
    $PolicyName="FixedWorkloadPolicy_Audit"
    $LamnaServerPolicy=$PolicyPath+$PolicyName+".xml"
    $DefaultWindowsPolicy=$env:windir+"\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"
    
  2. Чтобы создать политику WDAC путем сканирования установленных в системе приложений, используйте командлет New-CIPolicy:

    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 уровней правил для файлов управления приложениями.
    • Чтобы политика WDAC сканировала только определенный диск, укажите параметр -ScanPath, а затем — путь. Без этого параметра средство будет проверять диск C по умолчанию.
    • При определении параметра - UserPEs (для включения исполняемых файлов режима пользователя в сканировании) параметр правила 0 Enabled: UMCI (0 включено:UMCI) автоматически добавляется в политику WDAC. Если не указать -UserPEs, в политике будут пустые исполняемые файлы пользовательского режима и будут иметься только правила для двоичных файлов режима ядра, таких как драйверы. Другими словами, список разрешений не будет включать приложения. Если создать такую политику, а затем добавить параметр правила 0 Enabled: UMCI (0 включено:UMCI), все попытки запуска приложений вызовут ответ от функции управления приложениями в Защитнике Windows. В режиме аудита этот ответ записывает в журнал событие, а в принудительном режиме он блокирует приложение.
    • Чтобы создать политику для 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. При необходимости добавьте дополнительные правила подписывающего или файлового приложения, чтобы настроить политику для организации.

  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.

У Алисы теперь есть начальная политика для серверов критически важной инфраструктуры Lamna, которая готова к развертыванию в режиме аудита.

Создание настраиваемой базовой политики для минимизации влияния пользователей на используемые клиентские устройства

Ранее Алиса создала политику для полностью управляемых устройств организации. Алиса включила полностью управляемую политику устройств в рамках процесса сборки устройств Lamna, поэтому теперь все новые устройства начинаются с включенного WDAC. Она готовится развернуть политику в системах, которые уже используются, но беспокоится о том, что это приведет к нарушению производительности пользователей. Чтобы свести к минимуму этот риск, Алиса решает использовать другой подход к этим системам. Она продолжит развертывание политики полностью управляемых устройств в режиме аудита на этих устройствах, но в режиме принудительного применения она объединит правила политики полностью управляемых устройств с политикой, созданной путем сканирования устройства на наличие всего ранее установленного программного обеспечения. Таким образом, каждое устройство рассматривается как собственная "золотая" система.

Алиса определяет следующие ключевые факторы для получения "круга доверия" для полностью управляемых устройств Lamna:

Основываясь на приведенном выше, Алиса определяет псевдо-правила для политики:

  1. Все, что входит в политику полностью управляемых устройств
  2. Правила для отсканированных файлов , которые авторизуют все ранее существующие двоичные файлы приложений, найденные на устройстве

Для существующих используемых устройств Lamna Алиса развертывает скрипт вместе с XML-файлом политики полностью управляемых устройств (а не преобразованным двоичным файлом политики WDAC). Затем скрипт создает настраиваемую политику локально на клиенте, как описано в предыдущем разделе, но вместо объединения с политикой DefaultWindows скрипт объединяется с политикой полностью управляемых устройств Lamna. Алиса также изменяет описанные выше действия в соответствии с требованиями этого варианта использования.