Share via


Abrufen von Apps zum Ausführen auf von mit Device Guard geschützten Geräten

Windows 10 bietet einige neue Features und Einstellungen, die zusammen verwendet einem Device Guard entsprechen. Mit Device Guard können Sie die Geräte im Besitz Ihres Unternehmens vor versehentlicher Ausführung von Schadsoftware-Apps schützen, indem Sie bei allen Apps eine Signatur einer vertrauenswürdigen Entität erforderlich machen.

Um Device Guard in einem Unternehmen zu verwenden, müssen die vorhandenen Branchen-Apps und die von unabhängigen Softwareherstellern (Independent Software Vendor, ISV) entwickelten Apps auf einem geschützten Gerät ausgeführt werden können. Leider sind viele Branchen-Apps nicht signiert und wurden in vielen Fällen nicht aktiv entwickelt. Sie können auch über nicht signierte Software von einem unabhängigen Softwarehersteller verfügen, die ausgeführt werden soll, oder Sie möchten bestimmte Anwendungen eines unabhängigen Softwareherstellers ausführen, für den nicht alle Anwendungen als vertrauenswürdig erachtet werden. Windows 10 bietet im Rahmen der Device Guard-Features ein neues Paketprüfungstool. Das Paketprüfungstool überprüft nicht signierte Apps und erstellt die Katalogdateien der installierten und ausgeführten Binärdateien. Diese werden dann vom Signierungstool, einem Windows SDK-Hilfsprogramm, signiert, sodass Sie die Apps auf von mit Device Guard geschützten Geräten ausführen können.

Für die Ausführung der Apps auf von mit Device Guard geschützten Geräten benötigen Sie Folgendes

Bevor Sie Ihre Apps auf von mit Device Guard geschützten Geräten ausführen können, benötigen Sie Folgendes:

  • Ein Gerät unter Windows 10 Enterprise, Windows 10 Education oder Windows Server 2016 Technical Preview.

  • Sie müssen ermitteln, welche nicht signierten Apps in der Katalogdatei enthalten sein müssen.

  • Sie müssen eine Richtlinie für Codeintegrität für die Verwendung von Device Guard erstellen.

  • Ein Codesignaturzertifikat, das mit einer internen Public Key-Infrastruktur (PKI) erstellt wurde.

  • SignTool. Ein Befehlszeilentool, das Dateien digital signiert und Signaturen in Dateien oder Zeitstempeldateien überprüft. Das Tool wird im Ordner „\Bin“ des Installationspfads vom Microsoft Windows Software Development Kit (SDK) installiert.

Erstellen einer Katalogdatei für nicht signierte Apps

Sie müssen das Paketprüfungstool auf einem Gerät ausführen, das derzeit die Richtlinie für Codeintegrität im Überwachungsmodus ausführt, die explizit für diesen Zweck erstellt wurde. Im Überwachungsmodus können Sie mit dieser Richtlinie alle fehlenden Binärdateien vom Überprüfungstool erfassen, aufgrund des Überwachungsmodus kann jedoch alles weiterhin ausgeführt werden.

Wichtig  Diese temporäre Richtlinie sollte nicht für normale geschäftliche Zwecke verwendet werden.

 

Mt158214.wedge(de-de,VS.85).gifSo erstellen Sie eine Katalogdatei für eine vorhandene App

  1. Starten Sie Windows PowerShell als Administrator, und erstellen Sie die temporären Richtliniendatei, indem Sie Folgendes eingeben:

    mkdir temp
    New-CIPolicy -l FileName -f .\tempdeny.xml -s .\temp -u
    ConvertFrom-CIPolicy .\tempdeny.xml .\tempdeny.bin
    cp .\tempdeny.bin C:\Windows\System32\CodeIntegrity\SIPolicy.p7b
    
  2. Starten Sie das Gerät neu.

  3. Starten Sie PowerShell als Administrator, und starten Sie mit der Überprüfung des Dateisystems, indem Sie Folgendes eingeben:

    PackageInspector.exe start c:
    

    Dabei gilt Folgendes:

    Option Beschreibung

    start <drive_letter>:

    Gibt den Start der Überprüfung an. Beispielsweise den Start der Überprüfung des Laufwerks „C:“.

    -path

    Dateipfad des Pakets, das überprüft wird.

     

  4. Kopieren Sie die App-Installationsmedien auf das Laufwerk „C:\“, und installieren und führen Sie das Programm aus.

    Beim Kopieren der Medien auf das lokale Laufwerk wird sichergestellt, dass das Installationsprogramm und die zugehörigen Dateien in der Katalogdatei enthalten sind. Wenn die Installationsdateien fehlen, wird die App ggf. von der Richtlinie für Codeintegrität als vertrauenswürdig eingestuft und ausgeführt, jedoch nicht installiert. Nachdem Sie die App installiert haben, sollten Sie nach Updates suchen. Wenn Updates auftreten, während die App geöffnet ist, müssen Sie die App schließen und neu starten, um sicherzustellen, dass bei der Überprüfung alles erfasst wird.

    Hinweis  

    Da das Paketprüfungstool einen Protokolleintrag im Katalog für alle im Dateisystem enthaltenen Binärdateien erstellt, wird empfohlen, keine anderen Installationen oder Updates während des Überprüfungsvorgangs auszuführen.

     

  5. Optional: Wenn Sie einen Katalog mit mehreren Apps erstellen möchten (viele Apps sind in einer einzelnen Katalogdatei enthalten), können Sie mit den Schritten 2 und 3 für jede weitere App fortfahren. Nachdem Sie alle gewünschten Apps hinzugefügt haben, können Sie mit Schritt 5 fortfahren.

    Hinweis  Um den Prozess zu optimieren, empfehlen wir Folgendes:

    • Aktive unterstützte und aktualisierte Apps. Erstellen Sie eine Katalogdatei für jede App.

    • Legacy-Apps, inaktive oder nicht aktualisierte Apps. Erstellen Sie eine einzelne Katalogdatei für alle Legacy-Apps.

     

  6. Beenden Sie den Überprüfungsvorgang, und erstellen Sie die Dateien „.\InspectedPackage.cat“ und „InspectedPackage.cdf“ für die App im angegebenen Speicherort, indem Sie Folgendes eingeben:

    PackageInspector.exe stop c:
    

Sie können auch den scan-Befehl anstelle von start und stop verwenden, wenn Sie einen Katalog der Dateien erstellen möchten, die bereits auf Ihrer Festplatte vorhanden sind. Der scan-Befehl scannt rekursiv ein angegebenes Verzeichnis und schließt alle zu signierenden Dateien in den Katalog ein. Sie können ein bestimmtes Verzeichnis scannen, indem Sie Folgendes eingeben:

PackageInspector.exe scan c:\<insert directory path>

In der folgenden Tabelle sind die verfügbaren Optionen für den scan-Befehl und den stop-Befehl aufgeführt.

Option Beschreibung

stop <drive_letter>:

Gibt an, dass eine Überprüfung des angegebenen Speicherorts abgeschlossen ist, und erstell eine Katalog- oder eine Definitionsdatei. Beispiel: C:.

scan <path to scan>

Gibt einen zu scannenden Verzeichnispfad an. Dieser Befehl scannt rekursiv ein angegebenes Verzeichnis und schließt alle zu signierenden Dateien in den Katalog ein.

-out

Gibt den Typ der Informationen an, die vom Tool erstellt werden sollen. Sie können CAT für eine Katalogdatei, CDF für eine Katalogdefinitionsdatei oder list für eine mit Trennzeichen getrennte Liste von Dateien verwenden.

-listpath

Gibt den Speicherort an, unter dem das Installationsprogramm die Liste der Dateien für -out list ausgibt.

-cdfPath <file_name>

Gibt an, wo das Tool die erstellte CDF-Datei platzieren soll. Wenn Sie diese Option verwenden, müssen Sie auch den Dateinamen angeben.

Es wird empfohlen, einen vollständigen Dateipfad zu verwenden. Relative Pfade werden jedoch unterstützt.

-resdir

Diese Option wird derzeit nicht unterstützt.

-name

Diese Option wird derzeit nicht unterstützt.

-ph [true|false]

Gibt an, ob Seitenhashes im Katalog aufgenommen werden sollen. Verwenden Sie True zum Hinzufügen von Hashes oder False, um die Hashes nicht hinzuzufügen.

-en

Gibt den Codierungstyp des Katalogs an. Standardmäßig wird PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001 verwendet.

-ca1

Gibt CATATTR1 im Katalog und Katalogdefinitionsdateien an.

-ca2

Gibt CATATTR2 im Katalog und Katalogdefinitionsdateien an.

 

Sie können darüber hinaus zusätzliche Parameter zu Ihrem Katalog hinzufügen. Weitere Informationen finden Sie im Thema MakeCat.

Signieren der Katalogdatei mit dem Signaturtool

Sie können Ihre Katalogdatei mit dem Signaturtool signieren, das im Lieferumfang des Windows Software Development Kits (SDK) unter Windows 7 oder höher enthalten ist; Sie können hierfür jedoch auch das Device Guard-Signierportal nutzen. Weitere Informationen zum Verwenden des Device Guard-Signierportals finden Sie unter Device Guard-Signatur.

Dieser Prozess veranschaulicht, wie eine kennwortgeschützte PFX-Datei (privater Informationsaustausch) zum Signieren der Katalogdatei verwendet werden kann.

Wichtig  Um dieses Tool zu verwenden, benötigen Sie ein Codesignaturzertifikat einer internen Zertifizierungsstelle oder ein von einer Drittanbieter-Zertifizierungsstelle ausgestelltes Codesignaturzertifikat.

 

Mt158214.wedge(de-de,VS.85).gifSo verwenden Sie das Signaturtool

  1. Stellen Sie sicher, dass Ihre Codesignaturzertifikate in den Zertifikatspeicher importiert wurden oder im Dateisystem enthalten sind.

  2. Öffnen Sie die SignTool.exe-Datei, und signieren Sie die Katalogdatei auf Grundlage des Pfads, unter dem das Zertifikat gespeichert ist.

    Wenn Sie die PFX-Datei aus einem Speicherort im Dateisystem verwenden:

    signtool sign /f <\\SignCertLocation> /p <\\password> /fd sha256 /v
    

    Wenn Sie das Zertifikat in Ihren Zertifikatspeicher importiert haben:

    signtool sign /n <\\CertSubjectName> /fd sha256 /v <CatalogNameAndLocation>
    

    Dabei gilt Folgendes:

    Option Beschreibung

    signtool

    Gibt den vollständigen Pfad zu SignTool.exe an.

    sign

    Fügt den Dateien eine digitale Signatur hinzu. Eine Liste der Optionen, die vom sign-Befehl unterstützt werden, finden Sie unter SignTool-Optionen.

    /n SubjectName

    Gibt den Antragstellernamen des Signaturzertifikats an. Dieser Wert kann eine Teilzeichenfolge des gesamten Antragstellernamens sein.

    /f SignCertFileLocation

    Gibt das Signaturzertifikat in einer Datei an.

    Wenn es sich bei der Datei um eine PFX-Datei handelt und sie durch ein Kennwort geschützt ist, verwenden Sie die /p-Option, um das Kennwort anzugeben. Wenn die Datei keine privaten Schlüssel enthält, verwenden Sie die /csp- und/k-Optionen zum Angeben der CSP-Datei und des Containernamens des privaten Schlüssels.

    /p Password

    Gibt das beim Öffnen einer PFX-Datei zu verwendende Kennwort an. (Verwenden Sie die /f-Option zum Angeben einer PFX-Datei.)

    /fd Algorithm

    Gibt den Datei-Digestalgorithmus an, der zum Erstellen von Dateisignaturen verwendet wird. Der Standard lautet SHA2.

    /v

    Zeigt die ausführliche Ausgabe an, unabhängig davon, ob der Befehl erfolgreich ausgeführt wurde oder dabei ein Fehler aufgetreten ist, und zeigt Fehlermeldungen an.

     

    Weitere Informationen und Beispiele für die Verwendung der verfügbaren Optionen finden Sie im Thema SignTool.exe (Signaturtool).

  3. Klicken Sie im Datei-Explorer mit der rechten Maustaste auf die Katalogdatei, dann auf Eigenschaften und dann auf die Registerkarte Digitale Signaturen, um sicherzustellen, dass Ihre Katalogdatei über eine korrekte digitale Signatur verfügt.

  4. Kopieren Sie die Katalogdatei in C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}, und testen Sie die Datei.

    Hinweis  Zu Testzwecken können Sie die Datei manuell zu diesem Speicherort kopieren. Es wird jedoch empfohlen, die Gruppenrichtlinie zum Kopieren der Katalogdatei auf alle Geräte für umfangreiche Implementierungen zu verwenden.

     

Problembehandlung beim Paketprüfungstool

Wenn „Fehler 1181“ beim Beenden des Paketprüfungstools angezeigt wird, müssen Sie die Größe des USN-Journals erhöhen und dann alle zwischengespeicherten Daten löschen, bevor Sie die Überprüfung für die betroffenen Apps erneut durchführen.

Sie müssen sicherstellen, dass der Cache geleert wird, indem Sie eine neue temporäre Richtlinie erstellen und einrichten. Wenn Sie die gleiche Richtlinie wiederverwenden, tritt beim Paketprüfungstool ein Fehler auf.

Mt158214.wedge(de-de,VS.85).gifSo erhöhen Sie die Journalgröße

  1. Öffnen Sie ein Eingabeaufforderungsfenster, und geben Sie Folgendes ein:

    fsutil usn createjournal m=0x8000000 a=0x800000 C:
    

    Dabei muss der Wert „m“ erhöht werden. Es wird empfohlen, den Wert mindestens auf das Vierfache des Standardwerts von m=0x2000000 zu ändern.

  2. Führen Sie die nicht erfolgreichen App-Installation(en) erneut aus.

Mt158214.wedge(de-de,VS.85).gifSo löschen Sie zwischengespeicherte Daten und führen die Überprüfung für Ihre Apps erneut aus

  1. Löschen Sie die SIPolicy.p7b-Datei aus dem Ordner C:\Windows\System32\CodeIntegrity\.

  2. Erstellen Sie eine neue temporäre Richtlinie für Codeintegrität, um alle zwischengespeicherten Daten zu löschen. Starten Sie dazu Windows Powershell als Administrator und geben Folgendes ein:

    mkdir temp
    cp C:\Windows\System32\PackageInspector.exe .\temp\
    New-CIPolicy -l Hash -f .\DenyPackageInspector.xml -s .\temp -u -deny
    ConvertFrom-CIPolicy .\DenyPackageInspector.xml .\DenyPackageInspector.bin
    cp .\DenyPackageInspector.bin C:\Windows\System32\SIPolicy.p7b
    
  3. Starten Sie das Gerät neu, und führen Sie die Schritte im Abschnitt Erstellen einer Katalogdatei für nicht signierte Apps durch

Verwandte Themen

Herunterladen des Signaturtools