Win32-Branchen-Apps auf Intune-Managed S-Modus-Geräten zulassen

Gilt für:

  • Windows 10
  • Windows 11

Hinweis

Einige Funktionen von Windows Defender Application Control (WDAC) sind nur für bestimmte Windows-Versionen verfügbar. Erfahren Sie mehr über die Verfügbarkeit der Windows Defender Anwendungssteuerungsfeature.

Beginnend mit dem Update vom Windows 10 November 2019 (Build 18363) ermöglicht Microsoft Intune Kunden die Bereitstellung und Ausführung geschäftskritischer Win32-Anwendungen und Windows-Komponenten, die normalerweise im S-Modus blockiert sind (z. B. PowerShell.exe) auf ihren Intune-verwalteten Windows-Geräten im S-Modus.

Mit Intune können IT-Spezialisten jetzt ihre verwalteten S-Modus-Geräte mithilfe einer zusätzlichen Richtlinie für Windows Defender-Anwendungssteuerung (WDAC) konfigurieren, die die Basisrichtlinie für den S-Modus erweitert, um die Apps zu autorisieren, die ihr Unternehmen verwendet. Dieses Feature ändert den Sicherheitsstatus des S-Modus von "jede App ist von Microsoft überprüft" in "jede App wird von Microsoft oder Ihrer Organisation überprüft".

Eine Übersicht und eine kurze Demo finden Sie im folgenden Video.

Richtlinienautorisierungsprozess

Richtlinienautorisierung. Die allgemeinen Schritte zum Erweitern der Basisrichtlinie für den S-Modus auf Ihren Intune verwalteten Geräten bestehen darin, eine zusätzliche Richtlinie zu generieren, diese Richtlinie zu signieren und dann die signierte Richtlinie in Intune hochzuladen und sie Benutzer- oder Gerätegruppen zuzuweisen. Da Sie Zugriff auf WDAC PowerShell-Cmdlets benötigen, um Ihre ergänzende Richtlinie zu generieren, sollten Sie Ihre Richtlinien auf einem Gerät erstellen und verwalten, das nicht im S-Modus ist. Nachdem die Richtlinie in Intune hochgeladen wurde, empfehlen wir, sie einem einzelnen S-Modus-Testgerät zuzuweisen, um die erwartete Funktion zu überprüfen, bevor die Richtlinie umfassender bereitgestellt wird.

  1. Generieren einer zusätzlichen Richtlinie mit Windows Defender Anwendungssteuerungstools

    Diese Richtlinie erweitert die Basisrichtlinie für den S-Modus, um weitere Anwendungen zu autorisieren. Alles, was von der Basisrichtlinie für den S-Modus oder ihrer ergänzenden Richtlinie autorisiert wurde, kann ausgeführt werden. Ihre ergänzenden Richtlinien können Dateipfadregeln, vertrauenswürdige Herausgeber und vieles mehr angeben.

    Unter "Bereitstellen mehrerer Windows Defender Anwendungssteuerungsrichtlinien" finden Sie Anleitungen zum Erstellen zusätzlicher Richtlinien und zum Bereitstellen Windows Defender Anwendungssteuerungsrichtlinienregeln und Dateiregeln, um den richtigen Regeltyp auszuwählen, der für Ihre Richtlinie erstellt werden soll.

    Im Folgenden finden Sie eine grundlegende Reihe von Anweisungen zum Erstellen einer ergänzenden Richtlinie für den S-Modus:

    • Erstellen einer neuen Basisrichtlinie mit new-CIPolicy

      New-CIPolicy -MultiplePolicyFormat -ScanPath <path> -UserPEs -FilePath "<path>\SupplementalPolicy.xml" -Level FilePublisher -Fallback SignedVersion,Publisher,Hash
      
    • Ändern der Richtlinie in eine ergänzende Richtlinie mithilfe von Set-CIPolicyIdInfo

      Set-CIPolicyIdInfo -SupplementsBasePolicyID 5951A96A-E0B5-4D3D-8FB8-3E5B61030784 -FilePath "<path>\SupplementalPolicy.xml"
      

      Richtlinien, die die Basisrichtlinie für den S-Modus ergänzen, müssen "-SupplementsBasePolicyID 5951A96A-E0B5-4D3D-8FB8-3E5B61030784" verwenden, da diese ID die S-Modus-Richtlinien-ID ist.

    • Festlegen der Richtlinie im Erzwingungsmodus mithilfe von Set-RuleOption

      Set-RuleOption -FilePath "<path>\SupplementalPolicy.xml>" -Option 3 –Delete
      

      Mit diesem Befehl wird der Qualifizierer "Überwachungsmodus" gelöscht.

    • Da Sie Ihre Richtlinie signieren, müssen Sie das Signaturzertifikat autorisieren, das Sie zum Signieren der Richtlinie verwenden, und optional einen oder mehrere zusätzliche Signierer, die in Zukunft zum Signieren von Updates an der Richtlinie verwendet werden können. Weitere Informationen finden Sie unter Abschnitt 2, Sign-Richtlinie. Verwenden Sie Add-SignerRule, um das Signaturzertifikat zur Richtlinie Windows Defender Anwendungssteuerung hinzuzufügen:

      Add-SignerRule -FilePath <policypath> -CertificatePath <certpath> -User -Update
      
    • Konvertieren in BIN mit ConvertFrom-CIPolicy

      ConvertFrom-CIPolicy -XmlFilePath "<path>\SupplementalPolicy.xml" -BinaryFilePath "<path>\SupplementalPolicy.bin>
      
  2. Sign-Richtlinie

    Zusätzliche S-Modusrichtlinien müssen digital signiert werden. Zum Signieren Ihrer Richtlinie können Sie den Device Guard-Signaturdienst (DGSS) oder die benutzerdefinierte Public Key Infrastructure (PKI) Ihrer Organisation verwenden. Anleitungen zur Verwendung von DGSS und zum Erstellen eines Codesignaturzertifikats für Windows Defender Anwendungssteuerung finden Sie unter "Verwenden des Device Guard-Signaturportals im Microsoft Store für Unternehmen" für Anleitungen zur Verwendung einer internen Zertifizierungsstelle.

    Benennen Sie Ihre Richtlinie nach der Unterzeichnung in "{PolicyID}.p7b" um. PolicyID kann gefunden werden, indem Sie den XML-Code der ergänzenden Richtlinie überprüfen.

  3. Bereitstellen der signierten ergänzenden Richtlinie mithilfe von Microsoft Intune

    Wechseln Sie zum Azure-Portal online, navigieren Sie zur Seite Microsoft Intune, wechseln Sie dann zum Blatt "Client-Apps", und wählen Sie "Ergänzende Richtlinien für den S-Modus" aus. Laden Sie die signierte Richtlinie hoch, um Intune und weisen Sie sie Benutzer- oder Gerätegruppen zu. Intune generiert mandanten- und gerätespezifische Autorisierungstoken. Intune stellt dann das entsprechende Autorisierungstoken und die ergänzende Richtlinie auf jedem Gerät in der zugewiesenen Gruppe bereit. Zusammen erweitern diese Token und Richtlinien die Basisrichtlinie für den S-Modus auf dem Gerät.

Hinweis

Stellen Sie beim Aktualisieren der ergänzenden Richtlinie sicher, dass die neue Versionsnummer strikt größer als die vorherige ist. Die Verwendung derselben Versionsnummer ist von Intune nicht zulässig. Informationen zum Festlegen der Versionsnummer finden Sie unter Set-CIPolicyVersion .

Standardprozess für die Bereitstellung von Apps über Intune

Bereitstellen von Apps über Intune. Anleitungen zum vorhandenen Verfahren zum Packen signierter Kataloge und der App-Bereitstellung finden Sie unter Intune eigenständigen Win32-App-Verwaltung.

Optional: Prozess für die Bereitstellung von Apps mithilfe von Katalogen

Bereitstellen von Apps mithilfe von Katalogen. Ihre ergänzende Richtlinie kann verwendet werden, um die Basisrichtlinie für den S-Modus erheblich zu entspannen, aber es gibt Sicherheitsabwägungen, die Sie dabei berücksichtigen müssen. Sie können z. B. eine Signaturregel verwenden, um einem externen Signierer zu vertrauen, aber damit werden alle von diesem Zertifikat signierten Apps autorisiert, die möglicherweise auch Apps enthalten, die Sie nicht zulassen möchten.

Anstatt Signierer außerhalb Ihrer Organisation zu autorisieren, hat Intune neue Funktionen hinzugefügt, um die Autorisierung vorhandener Anwendungen (ohne erneutes Packen oder Zugriff auf den Quellcode) mithilfe signierter Kataloge zu vereinfachen. Diese Funktion funktioniert für Apps, die möglicherweise nicht signierte oder sogar signierte Apps sind, wenn Sie nicht allen Apps vertrauen möchten, die dasselbe Signaturzertifikat verwenden können.

Der grundlegende Prozess besteht darin, eine Katalogdatei für jede App mithilfe der Paketprüfung zu generieren und dann die Katalogdateien mithilfe der DGSS oder einer benutzerdefinierten PKI zu signieren. Verwenden Sie das Add-SignerRule PowerShell-Cmdlet wie oben gezeigt, um das Katalogsignaturzertifikat in der ergänzenden Richtlinie zu autorisieren. Danach können IT-Experten den oben beschriebenen standardmäßigen Intune App-Bereitstellungsprozess verwenden. Weitere Informationen zum Generieren von Katalogen finden Sie unter Bereitstellen von Katalogdateien zur Unterstützung Windows Defender Anwendungssteuerung.

Hinweis

Jedes Mal, wenn eine App aktualisiert wird, müssen Sie einen aktualisierten Katalog bereitstellen. Aus diesem Grund sollten IT-Experten versuchen, die Verwendung von Katalogdateien für Anwendungen zu vermeiden, die automatisch aktualisiert werden, und Benutzer anzuweisen, Anwendungen nicht selbst zu aktualisieren.

Beispielrichtlinie

Nachfolgend finden Sie eine Beispielrichtlinie, die Kerneldebugger, PowerShell ISE und Registrierungs-Editor zulässt. Außerdem wird veranschaulicht, wie Sie die Codesignatur- und Richtliniensignaturzertifikate Ihrer Organisation angeben.

<?xml version="1.0" encoding="utf-8"?>
<SiPolicy xmlns="urn:schemas-microsoft-com:sipolicy" PolicyType="Supplemental Policy">
  <VersionEx>10.0.0.0</VersionEx>
  <PlatformID>{2E07F7E4-194C-4D20-B7C9-6F44A6C5A234}</PlatformID>
  <!--Standard S mode GUID-->
  <BasePolicyID>{5951A96A-E0B5-4D3D-8FB8-3E5B61030784}</BasePolicyID>
  <!--Unique policy GUID-->
  <PolicyID>{52671094-ACC6-43CF-AAF1-096DC69C1345}</PolicyID>
  <!--EKUS-->
  <EKUs />
  <!--File Rules-->
  <FileRules>
    <!--Allow kernel debuggers-->
    <Allow ID="ID_ALLOW_CBD_0" FriendlyName="cdb.exe" FileName="CDB.Exe" />
    <Allow ID="ID_ALLOW_KD_0" FriendlyName="kd.exe" FileName="kd.Exe" />
    <Allow ID="ID_ALLOW_WINDBG_0" FriendlyName="windbg.exe" FileName="windbg.Exe" />
    <Allow ID="ID_ALLOW_MSBUILD_0" FriendlyName="MSBuild.exe" FileName="MSBuild.Exe" />
    <Allow ID="ID_ALLOW_NTSD_0" FriendlyName="ntsd.exe" FileName="ntsd.Exe" />
    <!--Allow PowerShell ISE and Registry Editor-->
    <Allow ID="ID_ALLOW_POWERSHELLISE_0" FriendlyName="powershell_ise.exe" FileName="powershell_ise.exe" />
    <Allow ID="ID_ALLOW_REGEDIT_0" FriendlyName="regedit.exe" FileName="regedit.exe" />
  </FileRules>
  <!--Signers-->
  <Signers>
    <!--info of the certificate you will use to do any code/catalog signing-->
    <Signer ID="EXAMPLE_ID_SIGNER_CODE" Name="Example Code Signing Certificate Friendly Name">
      <CertRoot Type="TBS" Value="<value>" />
    </Signer>
    
    <!--info of the certificate you will use to sign your policy-->
    <Signer ID="EXAMPLE_ID_SIGNER_POLICY" Name="Example Policy Signing Certificate Friendly Name">
      <CertRoot Type="TBS" Value="<value>" />
    </Signer>
  </Signers>
  <!--Driver Signing Scenarios-->
  <SigningScenarios>
    <SigningScenario Value="131" ID="ID_SIGNINGSCENARIO_KMCI" FriendlyName="Example Name">
      <ProductSigners />
    </SigningScenario>
    <SigningScenario Value="12" ID="ID_SIGNINGSCENARIO_UMCI" FriendlyName="Example Name">
      <ProductSigners>
        <AllowedSigners>
          <AllowedSigner SignerId="EXAMPLE_ID_SIGNER_CODE" />          
        </AllowedSigners>
        <FileRulesRef>
          <FileRuleRef RuleID="ID_ALLOW_CBD_0" />
          <FileRuleRef RuleID="ID_ALLOW_KD_0" />
          <FileRuleRef RuleID="ID_ALLOW_WINDBG_0" />
          <FileRuleRef RuleID="ID_ALLOW_MSBUILD_0" />
          <FileRuleRef RuleID="ID_ALLOW_NTSD_0" />
          <FileRuleRef RuleID="ID_ALLOW_POWERSHELLISE_0" />
          <FileRuleRef RuleID="ID_ALLOW_REGEDIT_0" />
        </FileRulesRef>
      </ProductSigners>
    </SigningScenario>
  </SigningScenarios>
  <!--Specify one or more certificates that can be used to sign updated policy-->
  <UpdatePolicySigners>
    <UpdatePolicySigner SignerId="EXAMPLE_ID_SIGNER_POLICY" />
  </UpdatePolicySigners>
  <!--Specify one or more codesigning certificates to trust-->
  <CiSigners>
    <CiSigner SignerId="EXAMPLE_ID_SIGNER_CODE" />
  </CiSigners>
  <!-- example remove core isolation a.k.a. Hypervisor Enforced Code Integrity (HVCI) options, consider enabling if your system supports it-->
  <HvciOptions>0</HvciOptions>
  <Settings>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Name">
      <Value>
        <String>Example Policy Name</String>
      </Value>
    </Setting>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Id">
      <Value>
        <String>Example-Policy-10.0.0.0</String>
      </Value>
    </Setting>
  </Settings>
</SiPolicy>

Entfernen von Richtlinien

Um Benutzer zu einer unveränderten S-Modus-Richtlinie zurückzuverwenden, kann ein IT-Experte einen Benutzer oder Benutzer aus der Zielgruppe Intune entfernen, die die Richtlinie erhalten hat, wodurch sowohl die Richtlinie als auch das Autorisierungstoken vom Gerät entfernt werden.

IT-Experten haben auch die Wahl, eine ergänzende Richtlinie über Intune zu löschen.

<?xml version="1.0" encoding="utf-8"?>
<SiPolicy xmlns="urn:schemas-microsoft-com:sipolicy" PolicyType="Supplemental Policy">
  <VersionEx>10.0.0.1</VersionEx>
  <PlatformID>{2E07F7E4-194C-4D20-B7C9-6F44A6C5A234}</PlatformID>
  <BasePolicyID>{5951A96A-E0B5-4D3D-8FB8-3E5B61030784}</BasePolicyID>
  <PolicyID>{52671094-ACC6-43CF-AAF1-096DC69C1345}</PolicyID>
  <Rules>
  </Rules>
  <!--EKUS-->
  <EKUs />
  <!--File Rules-->

  <!--Signers-->
  <Signers>
    <!--info of the certificate you will use to sign your policy-->
    <Signer ID="EXAMPLE_ID_SIGNER_POLICY" Name="Example Policy Signing Certificate Friendly Name">
      <CertRoot Type="TBS" Value="<value>" />
    </Signer>
  </Signers>
  <!--Driver Signing Scenarios-->
  <SigningScenarios>
    <SigningScenario Value="131" ID="ID_SIGNINGSCENARIO_KMCI" FriendlyName="KMCI">
      <ProductSigners>
      </ProductSigners>
    </SigningScenario>
    <SigningScenario Value="12" ID="ID_SIGNINGSCENARIO_UMCI" FriendlyName="UMCI">
      <ProductSigners>
      </ProductSigners>
    </SigningScenario>
  </SigningScenarios>
  <UpdatePolicySigners>
    <UpdatePolicySigner SignerId="EXAMPLE_ID_SIGNER_POLICY" />
  </UpdatePolicySigners>
  <!-- example remove core isolation a.k.a. Hypervisor Enforced Code Integrity (HVCI) options, consider enabling if your system is supported-->
  <HvciOptions>0</HvciOptions>
  <Settings>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Name">
      <Value>
        <String>Example Policy Name - Empty</String>
      </Value>
    </Setting>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Id">
      <Value>
        <String>Example-Policy-Empty-10.0.0.1</String>
      </Value>
    </Setting>
  </Settings>
</SiPolicy>

Errata

Wenn ein S-Modus-Gerät mit einem Richtlinienautorisierungstoken und einer ergänzenden Richtlinie vom Update 1909 auf den Build 1903 zurückgesetzt wird, wird es erst bei der nächsten Richtlinienaktualisierung in den gesperrten S-Modus zurückgesetzt. Um eine sofortige Änderung an einem gesperrten S-Modus zu erreichen, sollten IT-Spezialisten alle Token in %SystemRoot%\System32\CI\Tokens\Active löschen.