Verwenden von signierten Richtlinien, um die Windows Defender-Anwendungssteuerung vor Manipulationen zu schützen

Hinweis

Einige Funktionen von Windows Defender Anwendungssteuerung sind nur in bestimmten Windows-Versionen verfügbar. Weitere Informationen finden Sie unter Verfügbarkeit Windows Defender Anwendungssteuerungsfeatures.

Richtlinien für signierte Windows Defender Anwendungssteuerung (WDAC) bieten Organisationen die höchste Schutzebene, die in Windows verfügbar ist. Diese Richtlinien sind darauf ausgelegt, administrative Manipulationen der Richtlinie zu erkennen, z. B. durch Schadsoftware, die als Administrator ausgeführt wird, und führen zu einem Startfehler oder bluescreen. Vor diesem Hintergrund ist es viel schwieriger, signierte WDAC-Richtlinien zu entfernen. SecureBoot muss aktiviert sein, um diesen Schutz für signierte WDAC-Richtlinien bereitzustellen.

Wenn Sie derzeit nicht über ein Codesignaturzertifikat verfügen, das Sie zum Signieren Ihrer Richtlinien verwenden können, finden Sie weitere Informationen unter Abrufen von Codesignaturzertifikaten für ihre eigene Verwendung.

Warnung

Ein Startfehler oder bluescreen kann auftreten, wenn Ihr Signaturzertifikat nicht den folgenden Regeln entspricht:

  • Alle Richtlinien, einschließlich Basis und Ergänzung, müssen gemäß dem PKCS 7-Standard unterzeichnet werden.
  • Verwenden Sie RSA-Schlüssel nur mit einer Schlüsselgröße von 2K, 3K oder 4K. ECDSA wird nicht unterstützt.
  • Sie können SHA-256, SHA-384 oder SHA-512 als Digestalgorithmus für Windows 11 sowie Windows 10 und Windows Server 2019 und höher verwenden, nachdem Sie das kumulative Sicherheitsupdate vom November 2022 angewendet haben. Alle anderen Geräte unterstützen nur SHA-256.
  • Verwenden Sie keine UTF-8-Codierung für Zertifikatfelder wie "allgemeiner Antragstellername" und "allgemeiner Ausstellername". Diese Zeichenfolgen müssen als PRINTABLE_STRING, IA5STRING oder BMPSTRING codiert werden.

Bevor Sie versuchen, eine signierte Richtlinie bereitzustellen, sollten Sie zunächst eine nicht signierte Version der Richtlinie bereitstellen, um Probleme mit den Richtlinienregeln aufzudecken. Es wird auch empfohlen, die Regeloptionen 9 – Aktiviert:Menü "Erweiterte Startoptionen " und 10 – Aktiviert:Startüberwachung bei Fehler zu aktivieren, um Die Problembehandlungsoptionen für Administratoren zur Verfügung zu stellen. Um sicherzustellen, dass eine Regeloption aktiviert ist, können Sie einen Befehl wie Set-RuleOption -FilePath <PathAndFilename> -Option 9ausführen, auch wenn Sie nicht sicher sind, ob die Option bereits aktiviert ist. Wenn ja, hat der Befehl keine Auswirkung. Wenn die Richtlinien überprüft wurden und für die Unternehmensbereitstellung bereit sind, können Sie diese Optionen entfernen. Weitere Informationen zu Regeloptionen finden Sie unter Windows Defender Richtlinienregeln für die Anwendungssteuerung.

Hinweis

Wenn Sie eine Basisrichtlinie signieren, die über zusätzliche Richtlinien verfügt, müssen Sie auch zur signierten Richtlinie für alle Ergänzungen wechseln. Autorisieren Sie die signierten ergänzenden Richtlinien, indem Sie der Basisrichtlinie eine <SupplementalPolicySigner> Regel hinzufügen.

Vorbereiten der WDAC-Richtlinie für die Signierung

  1. Öffnen Sie eine sitzung mit erhöhten Windows PowerShell, und initialisieren Sie die zu verwendenden Variablen:

    $PolicyPath=$env:userprofile+"\Desktop\"
    $PolicyName="FixedWorkloadPolicy_Enforced"
    $LamnaServerPolicy=$PolicyPath+$PolicyName+".xml"
    

    Hinweis

    In diesem Beispiel wird eine erzwungene Version der WDAC-Richtlinie verwendet, die Sie im Artikel Erstellen einer Windows Defender Anwendungssteuerungsrichtlinie von einem Referenzcomputer erstellt haben. Wenn Sie eine andere Richtlinie signieren, müssen Sie die $PolicyPath und $PolicyName Variablen mit den richtigen Informationen aktualisieren.

  2. Navigieren Sie zu Ihrem Desktop als das Arbeitsverzeichnis.

    cd $PolicyPath
    
  3. Wenn Ihre WDAC-Richtlinie noch keine Regel für Ihr Richtliniensignaturzertifikat enthält <UpdatePolicySigner> , müssen Sie sie hinzufügen. Es muss mindestens eine <UpdatePolicySigner> Regel vorhanden sein, um ihre Richtlinien-XML mit ConvertFrom-CiPolicy zu konvertieren.

    Verwenden Sie Add-SignerRule , und erstellen Sie eine <UpdatePolicySigner> Regel aus Ihrer Zertifikatdatei (.cer). Wenn Sie ein Codesignaturzertifikat erworben oder eines von Ihrer eigenen Public Key-Infrastruktur (PKI) ausgestellt haben, können Sie die Zertifikatdatei exportieren.

    Hinweis

    Wenn Ihre Richtlinie keine zusätzlichen Richtlinien zulässt, sollten Sie den Schalter -Supplemental aus dem folgenden Befehl weglassen:

    Add-SignerRule -FilePath $LamnaServerPolicy -CertificatePath <Path to exported .cer certificate> -Update -Supplemental
    

    Wichtig

    Wenn Sie diesen Schritt nicht ausführen, können Sie diese Richtlinie nicht ändern oder deaktivieren, was zu einem Startfehler führt. Weitere Informationen zum Deaktivieren signierter Richtlinien, die zu Startfehlern führen, finden Sie unter Entfernen Windows Defender Anwendungssteuerungsrichtlinien, die Startstoppfehler verursachen.

  4. Verwenden Sie Set-RuleOption, um die Option für die nicht signierte Richtlinienregel zu entfernen:

    Set-RuleOption -FilePath $LamnaServerPolicy -Option 6 -Delete
    
  5. (Optional) Verwenden Sie Set-CIPolicyIdInfo , um die Richtlinien-ID zurückzusetzen und den Richtliniennamen zu ändern.

  6. (Optional) Verwenden Sie Set-CIPolicyVersion , um die Richtlinie VersionEx zu ändern.

    Wichtig

    Beim Aktualisieren einer signierten Richtlinie muss die VersionEx der aktualisierten Richtlinie größer oder gleich der aktuellen Richtlinie sein. Das Ersetzen einer signierten Richtlinie durch eine niedrigere Version führt zu einem Startfehler.

  7. Verwenden Sie ConvertFrom-CIPolicy, um die Richtlinie ins binäre Format zu konvertieren:

    $PolicyID= Set-CIPolicyIdInfo -FilePath $LamnaServerPolicy  -ResetPolicyID
    $PolicyID = $PolicyID.Substring(11)
    $CIPolicyBin = $env:userprofile + "\Desktop\" + $PolicyID + ".cip"
    ConvertFrom-CIPolicy $LamnaServerPolicy $CIPolicyBin
    

Signieren Ihrer Richtlinie

Richtliniensignatur mit signtool.exe

Wenn Sie ein Codesignaturzertifikat erworben oder eines von Ihrer eigenen PKI ausgestellt haben, können Sie SignTool.exe verwenden, um Ihre WDAC-Richtliniendateien zu signieren:

  1. Importieren Sie das PFX-Codesignaturzertifikat in den persönlichen Speicher des Benutzers auf dem Computer, auf dem die Signierung erfolgt. In diesem Beispiel wird das von Ihnen im Abschnitt Optional: Erstellen eines Codesignaturzertifikats für die Windows Defender-Anwendungssteuerung erstellte Zertifikat verwendet.

  2. Signieren Sie die WDAC-Richtlinie mithilfe von „SignTool.exe“:

    <Path to signtool.exe> sign -v -n "ContosoSigningCert" -p7 . -p7co 1.3.6.1.4.1.311.79.1 -fd sha256 $CIPolicyBin
    

    Hinweis

    Bei der Variablen <Path to signtool.exe> muss es sich um den vollständigen Pfad zum Hilfsprogramm „SignTool.exe“ handeln. ContosoSigningCert ist der Antragstellername des Zertifikats, das zum Signieren der Richtlinie verwendet wird. Sie sollten dieses Zertifikat in Ihren persönlichen Zertifikatsspeicher auf dem Computer importieren, den Sie zum Signieren der Richtlinie verwenden.

Nach Abschluss des Vorgangs sollten die Befehle eine signierte Richtliniendatei mit einer .p7 Erweiterung ausgeben. Sie müssen die Datei in {GUID}.cip umbenennen, wobei "{GUID}" die <PolicyId> aus Ihrer ursprünglichen WDAC-Richtlinien-XML ist.

Überprüfen und Bereitstellen der signierten Richtlinie

Sie können certutil.exe verwenden, um die signierte Datei zu überprüfen. Überprüfen Sie die Ausgabe, um den Signaturalgorithmus und die Codierung für Zertifikatfelder wie "allgemeiner Antragstellername" und "allgemeiner Ausstellername" zu bestätigen, wie in der Warnung oben in diesem Artikel beschrieben.

certutil.exe -asn <path to signed policy file>

Testen Sie die signierte Richtlinie gründlich auf einer repräsentativen Gruppe von Computern, bevor Sie mit der Bereitstellung fortfahren. Stellen Sie sicher, dass Sie die Testcomputer mindestens zweimal neu starten, nachdem Sie die signierte WDAC-Richtlinie angewendet haben, um sicherzustellen, dass kein Startfehler auftritt.

Nachdem Sie die signierte Richtlinie überprüft haben, stellen Sie sie mit Ihrer bevorzugten Bereitstellungsmethode bereit. Weitere Informationen zum Bereitstellen von Richtlinien finden Sie unter Bereitstellen Windows Defender Anwendungssteuerungsrichtlinien.

Hinweis

Der Manipulationsschutz für signierte Richtlinien wird nach dem ersten Neustart wirksam, sobald die signierte Richtlinie auf einen Computer angewendet wurde. Dieser Schutz gilt nur für Computer, auf denen der sichere UEFI-Start aktiviert ist.