Bereitstellen von Katalogdateien zur Unterstützung von App Control for Business
Hinweis
Einige Funktionen von App Control for Business sind nur für bestimmte Windows-Versionen verfügbar. Erfahren Sie mehr über die Verfügbarkeit von App Control-Features.
Katalogdateien können bei der Bereitstellung von App Control for Business wichtig sein, wenn Sie über branchenspezifische Anwendungen ohne Vorzeichen verfügen, für die der Signierungsprozess schwierig ist. Sie können Katalogdateien auch verwenden, um Apps, die Sie von unabhängigen Softwareanbietern (ISV) erhalten, Ihre eigene Signatur hinzuzufügen, wenn Sie nicht dem gesamten von diesem ISV signierten Code vertrauen möchten. Auf diese Weise bieten Katalogdateien eine bequeme Möglichkeit, Apps für die Verwendung in Ihrer von App Control verwalteten Umgebung zu "segnen". Außerdem können Sie Katalogdateien für vorhandene Apps erstellen, ohne dass Sie Zugriff auf den ursprünglichen Quellcode benötigen oder teure Neuverpackungen benötigen.
Sie müssen ein Codesignaturzertifikat für Ihre eigene Verwendung abrufen und es zum Signieren der Katalogdatei verwenden. Verteilen Sie dann die signierte Katalogdatei mithilfe Ihres bevorzugten Inhaltsbereitstellungsmechanismus.
Fügen Sie abschließend Ihrer App-Steuerungsrichtlinie für Ihr Signaturzertifikat eine Signaturregel hinzu. Dann können alle Apps, die von Ihren signierten Katalogdateien abgedeckt werden, ausgeführt werden, auch wenn die Apps zuvor nicht signiert waren. Mit dieser Grundlage können Sie einfacher eine App-Steuerungsrichtlinie erstellen, die den gesamten nicht signierten Code blockiert, da die meisten Schadsoftware unsigniert ist.
Erstellen von Katalogdateien mithilfe des Paketinspektors
Um eine Katalogdatei für eine vorhandene App zu erstellen, können Sie ein Tool namens Paketinspektor verwenden, das in Windows enthalten ist.
Wenden Sie eine Richtlinie im Überwachungsmodus auf den Computer an, auf dem Sie den Paketinspektor ausführen. Der Paketinspektor verwendet Überwachungsereignisse, um Hashes in die Katalogdatei für alle temporären Installationsdateien einzuschließen, die während des Installationsvorgangs hinzugefügt und dann vom Computer entfernt werden. Die Richtlinie für den Überwachungsmodus sollte die Binärdateien der App nicht zulassen, oder Sie können einige kritische Dateien verpassen, die in der Katalogdatei benötigt werden.
Hinweis
Sie können diesen Prozess nicht abschließen, wenn er auf einem System mit einer erzwungenen Richtlinie ausgeführt wird, es sei denn, die erzwungene Richtlinie lässt die Ausführung der App bereits zu.
Sie können dieses PowerShell-Beispiel verwenden, um eine Kopie der DefaultWindows_Audit.xml Vorlage zu erstellen:
Copy-Item -Path $env:windir\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml -Destination $env:USERPROFILE\Desktop\ $PolicyId = Set-CIPolicyIdInfo -FilePath $env:USERPROFILE\Desktop\DefaultWindows_Audit.xml -PolicyName "Package Inspector Audit Policy" -ResetPolicyID $PolicyBinary = $env:USERPROFILE+"\Desktop\"+$PolicyId.substring(11)+".cip"
Wenden Sie dann die Richtlinie wie unter Bereitstellen von App Control for Business-Richtlinien mit Skript beschrieben an.
Starten Sie den Paketinspektor, um die Dateierstellung auf einem lokalen Laufwerk zu überwachen, auf dem Sie die App installieren, z. B. Laufwerk C:
PackageInspector.exe Start C:
Wichtig
Jede Datei, die auf das Laufwerk geschrieben wird, das Sie mit dem Paketinspektor beobachten, wird in den erstellten Katalog aufgenommen. Beachten Sie alle anderen Prozesse, die möglicherweise ausgeführt werden und Dateien auf dem Laufwerk erstellen.
Kopieren Sie das Installationsmedium auf das Laufwerk, das Sie mit dem Paketinspektor beobachten, damit das eigentliche Installationsprogramm in der endgültigen Katalogdatei enthalten ist. Wenn Sie diesen Schritt überspringen, können Sie die Ausführung der App zulassen, aber nicht tatsächlich installieren.
Installieren Sie die App.
Starten Sie die App, um sicherzustellen, dass dateien, die beim ersten Start erstellt wurden, in Ihrer Katalogdatei enthalten sind.
Verwenden Sie die App wie gewohnt, damit dateien, die während der normalen Verwendung erstellt wurden, in Ihrer Katalogdatei enthalten sind. Beispielsweise können einige Apps bei der ersten Verwendung eines Features in der App weitere Dateien herunterladen. Achten Sie darauf, auch nach App-Updates zu suchen, wenn die App über diese Funktion verfügt.
Schließen Sie die Anwendung, und öffnen Sie sie erneut, um sicherzustellen, dass die Überprüfung alle Binärdateien erfasst hat.
Wenn die Paketprüfung weiterhin ausgeführt wird, wiederholen Sie die vorherigen Schritte für alle anderen Apps, die Sie in den Katalog aufnehmen möchten.
Wenn Sie bestätigt haben, dass die vorherigen Schritte abgeschlossen sind, verwenden Sie die folgenden Befehle, um die Paketprüfung zu beenden. Es erstellt eine Katalogdatei und eine Katalogdefinitionsdatei am angegebenen Speicherort. Verwenden Sie eine Namenskonvention für Ihre Katalogdateien, um die Verwaltung Ihrer bereitgestellten Katalogdateien im Laufe der Zeit zu vereinfachen. Die in diesem Beispiel verwendeten Dateinamen sind LOBApp-Contoso.cat (Katalogdatei) und LOBApp.cdf (Definitionsdatei).
Geben Sie für den letzten Befehl, der den Paketinspektor beendet, dasselbe lokale Laufwerk an, das Sie mit dem Paketinspektor beobachtet haben, z. B
C:
. .$ExamplePath=$env:userprofile+"\Desktop" $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat" $CatDefName=$ExamplePath+"\LOBApp.cdf" PackageInspector.exe Stop C: -Name $CatFileName -cdfpath $CatDefName
Hinweis
Der Paketinspektor katalogisiert die Hashwerte für jede ermittelte Datei. Wenn die überprüften Anwendungen aktualisiert werden, schließen Sie diesen Prozess erneut ab, um den Hashwerten der neuen Binärdateien zu vertrauen.
Wenn sie fertig sind, speichert das Tool die Dateien auf Ihrem Desktop. Sie können die *.cdf
Datei mit einem Text-Editor anzeigen und sehen, welche Dateien im Paketinspektor enthalten sind. Sie können auch auf die Datei doppelklicken, um deren *.cat
Inhalt anzuzeigen und nach einem bestimmten Dateihash zu suchen.
Signieren Ihrer Katalogdatei
Nachdem Sie nun eine Katalogdatei für Ihre App erstellt haben, können Sie sie signieren. Es wird empfohlen, den Vertrauensvolle Signatur-Dienst von Microsoft für die Katalogsignatur zu verwenden. Optional können Sie den Katalog mithilfe von Signtool mithilfe der folgenden Anweisungen manuell signieren.
Katalogsignatur mit „SignTool.exe“
Wenn Sie ein Codesignaturzertifikat erworben oder eines von Ihrer eigenen Public Key-Infrastruktur (PKI) ausgestellt haben, können Sie SignTool.exe verwenden, um Ihre Katalogdateien zu signieren.
Du brauchst:
- SignTool.exe im Windows Software Development Kit (SDK).
- Die Katalogdatei, die Sie zuvor erstellt haben.
- Ein Codesignaturzertifikat, das von einer internen Zertifizierungsstelle oder einem erworbenen Codesignaturzertifikat ausgestellt wurde.
Importieren Sie das Codesignaturzertifikat, das Sie zum Signieren der Katalogdatei verwenden, in den persönlichen Speicher des signierenden Benutzers. Signieren Sie dann die vorhandene Katalogdatei, indem Sie jeden der folgenden Befehle in eine Windows PowerShell sitzung mit erhöhten Rechten kopieren.
Initialisieren Sie die zu verwendenden Variablen. Ersetzen Sie die
$ExamplePath
Variablen und$CatFileName
nach Bedarf:$ExamplePath=$env:userprofile+"\Desktop" $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"
Signieren Sie die Katalogdatei mit „Signtool.exe“:
<path to signtool.exe> sign /n "ContosoSigningCert" /fd sha256 /v $CatFileName
Hinweis
Die
<Path to signtool.exe>
Variable sollte der vollständige Pfad zum hilfsprogramm Signtool.exe sein.ContosoSigningCert
stellt den Antragstellernamen des Zertifikats dar, das Sie zum Signieren der Katalogdatei verwenden. Dieses Zertifikat sollte in Ihren persönlichen Zertifikatsspeicher auf dem Computer importiert werden, auf dem Sie versuchen, die Katalogdatei zu signieren.Weitere Informationen zu Signtool.exe und allen zusätzlichen Schaltern finden Sie unter Signieren.
Überprüfen Sie die digitale Signatur der Katalogdatei. Klicken Sie mit der rechten Maustaste auf die Katalogdatei, und wählen Sie dann Eigenschaften aus. Stellen Sie auf der Registerkarte Digitale Signaturen sicher, dass Ihr Signaturzertifikat mit einem SHA256-Algorithmus vorhanden ist, wie in Abbildung 1 dargestellt.
Abbildung 1. Vergewissern Sie sich, dass das Signaturzertifikat vorhanden ist.
Bereitstellen der Katalogdatei für Ihre verwalteten Endpunkte
Katalogdateien in Windows werden unter %windir%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
gespeichert.
Zu Testzwecken können Sie signierte Katalogdateien manuell in diesen Ordner kopieren. Verwenden Sie für die umfangreiche Bereitstellung signierter Katalogdateien gruppenrichtliniendateieinstellungen oder ein Unternehmenssystemverwaltungsprodukt wie Microsoft Configuration Manager.
Bereitstellen von Katalogdateien mit Einer Gruppenrichtlinie
Um die Verwaltung von Katalogdateien zu vereinfachen, können Sie Gruppenrichtlinieneinstellungen verwenden, um Katalogdateien auf den entsprechenden Computern in Ihrem organization bereitzustellen.
Der folgende Prozess führt Sie durch die Bereitstellung einer signierten Katalogdatei namens LOBApp-Contoso.cat in einer Test-Organisationseinheit namens App Control Enabled PCs with a GPO namens Contoso Catalog File GPO Test.
Öffnen Sie entweder auf einem Domänencontroller oder auf einem Clientcomputer, auf dem Remoteserver-Verwaltungstools installiert sind, die Gruppenrichtlinie Management Console, indem Sie GPMC.MSC ausführen oder nach Gruppenrichtlinie Management suchen.
Erstellen Eines neuen Gruppenrichtlinienobjekts: Klicken Sie mit der rechten Maustaste auf eine Organisationseinheit, z. B. die Organisationseinheit App Control Enabled PCs, und wählen Sie dann GPO in dieser Domäne erstellen aus, und verknüpfen Sie es hier, wie in Abbildung 2 dargestellt.
Hinweis
Sie können einen beliebigen Organisationseinheitsnamen verwenden. Außerdem ist das Filtern von Sicherheitsgruppen eine Option, wenn Sie verschiedene Möglichkeiten zum Kombinieren von App Control-Richtlinien in Betracht ziehen.
Abbildung 2. Erstellen Sie ein neues Gruppenrichtlinienobjekt.
Geben Sie dem neuen Gruppenrichtlinienobjekt einen Namen, z. B. Contoso Catalog File GPO Test oder einen beliebigen Namen.
Öffnen Sie die Gruppenrichtlinie Management Editor: Klicken Sie mit der rechten Maustaste auf das neue Gruppenrichtlinienobjekt, und wählen Sie dann Bearbeiten aus.
Navigieren Sie im ausgewählten Gruppenrichtlinienobjekt zu Computerkonfiguration\Einstellungen\Windows-Einstellungen\Dateien. Klicken Sie mit der rechten Maustaste auf Dateien, zeigen Sie auf Neu, und wählen Sie dann Datei aus, wie in Abbildung 3 dargestellt.
Abbildung 3. Erstellen Sie eine neue Datei.
Konfigurieren Sie die Katalogdateifreigabe.
Um diese Einstellung so zu verwenden, dass eine einheitliche Bereitstellung der Katalogdatei (in diesem Beispiel „LOBApp-Contoso.cat“) geboten wird, sollte sich die Quelldatei auf einer Freigabe befinden, auf die über das Computerkonto von jedem bereitgestellten Computer zugegriffen werden kann. In diesem Beispiel wird eine Freigabe auf einem Computer verwendet, auf dem Windows 10 namens ausgeführt wird
\\Contoso-Win10\Share
. Die bereitzustellende Katalogdatei wird auf diese Freigabe kopiert.Um die Versionskonsistenz zu gewährleisten, wählen Sie im Dialogfeld Neue Dateieigenschaften wie in Abbildung 4 gezeigt in der Liste Aktion die Option Ersetzen aus, damit immer die neueste Version verwendet wird.
Abbildung 4. Legen Sie die neuen Dateieigenschaften fest.
Geben Sie im Feld Quelldatei(en) den Namen Ihrer barrierefreien Freigabe ein, wobei der Katalogdateiname enthalten ist. Beispiel:
\\Contoso-Win10\share\LOBApp-Contoso.cat
.Geben Sie im Feld Zieldatei einen Pfad- und Dateinamen ein, z. B.:
C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\LOBApp-Contoso.cat
Verwenden Sie für den Katalogdateinamen den Namen des Katalogs, den Sie bereitstellen.
Wählen Sie auf der Registerkarte Allgemein des Dialogfelds Neue Dateieigenschaften die Option Element entfernen, wenn es nicht mehr angewendet wird aus. Durch Aktivieren dieser Option wird sichergestellt, dass die Katalogdatei aus jedem System entfernt wird, falls Sie diese Anwendung nicht mehr vertrauen müssen.
Wählen Sie OK aus, um die Dateierstellung abzuschließen.
Schließen Sie die Gruppenrichtlinie Management Editor, und aktualisieren Sie dann die Richtlinie auf dem Testcomputer, auf dem Windows 10 oder Windows 11 ausgeführt wird, indem Sie GPUpdate.exe ausführen. Wenn die Richtlinie aktualisiert wurde, überprüfen Sie, ob die Katalogdatei auf
C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
dem Computer vorhanden ist, auf dem Windows 10 ausgeführt wird.
Bereitstellen von Katalogdateien mit Microsoft Configuration Manager
Als Alternative zur Gruppenrichtlinie können Sie Configuration Manager verwenden, um Katalogdateien auf den verwalteten Computern in Ihrer Umgebung bereitzustellen. Dieser Ansatz kann die Bereitstellung und Verwaltung mehrerer Katalogdateien vereinfachen und Berichte darüber bereitstellen, welchen Katalog jeder Client oder jede Sammlung bereitgestellt hat. Zusätzlich zur Bereitstellung dieser Dateien können Configuration Manager auch verwendet werden, um die aktuell bereitgestellten Katalogdateien für Berichterstellungs- und Compliancezwecke zu inventarisieren.
Führen Sie die folgenden Schritte aus, um ein neues Bereitstellungspaket für Katalogdateien zu erstellen:
Hinweis
Im folgenden Beispiel wird eine Netzwerkfreigabe namens \\Shares\CatalogShare
als Quelle für die Katalogdateien verwendet. Wenn Sie über sammlungsspezifische Katalogdateien verfügen oder diese lieber einzeln bereitstellen möchten, verwenden Sie die ordnerstruktur, die für Ihre organization am besten geeignet ist.
Öffnen Sie die Configuration Manager-Konsole, und wählen Sie den Arbeitsbereich „Softwarebibliothek“ aus.
Navigieren Sie zu Übersicht\Anwendungsverwaltung, klicken Sie mit der rechten Maustaste auf Pakete, und wählen Sie dann Paket erstellen aus.
Benennen Sie das Paket, legen Sie Ihre Organisation als Hersteller fest, und wählen Sie die entsprechende Versionsnummer aus.
Abbildung 5. Geben Sie Informationen zum neuen Paket an.
Wählen Sie Weiter und dann Standard Programm als Programmtyp aus.
Wählen Sie auf der Seite Standard Programm einen Namen aus, und legen Sie dann die Eigenschaft Befehlszeile auf den folgenden Befehl fest:
XCopy \\Shares\CatalogShare C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} /H /K /E /Y
Wählen Sie auf der Seite Standard Programm die folgenden Optionen aus, wie in Abbildung 6 dargestellt:
- Geben Sie unter Name einen Namen wie Contoso Catalog File Copy Program ein.
- Navigieren Sie unter Befehlszeile zum Programmspeicherort.
- Geben Sie im Ordner Start den Namen ein
C:\Windows\System32
. - Wählen Sie in der Liste Ausführen die Option Ausgeblendet aus.
- Wählen Sie in der Liste Programm kann ausgeführt werden die Option Unabhängig von Benutzeranmeldung aus.
- Wählen Sie in der Liste Laufwerkmodus die Option Unterstützt UNC-Namen aus.
Abbildung 6. Geben Sie Informationen zum Standardprogramm an.
Akzeptieren Sie die Standardeinstellungen für den Rest des Assistenten, und schließen Sie dann den Assistenten.
Nachdem Sie das Bereitstellungspaket erstellt haben, stellen Sie es in einer Sammlung bereit, sodass die Clients die Katalogdateien empfangen. In diesem Beispiel stellen Sie das von Ihnen erstellte Paket in einer Testsammlung bereit:
Navigieren Sie im Arbeitsbereich Softwarebibliothek zu Übersicht\Anwendungsverwaltung\Pakete, klicken Sie mit der rechten Maustaste auf das Katalogdateipaket, und wählen Sie dann Bereitstellen aus.
Wählen Sie auf der Seite Allgemein die Testsammlung und dann Weiter aus.
Wählen Sie auf der Seite Inhalt die Option Hinzufügen aus, um den Verteilungspunkt auszuwählen, an dem Inhalte für die ausgewählte Sammlung bereitgestellt werden sollen, und wählen Sie dann Weiter aus.
Wählen Sie auf der Seite Bereitstellungseinstellungen die Option Erforderlich im Feld Zweck aus.
Wählen Sie auf der Seite Planung die Option Neu aus.
Wählen Sie im Dialogfeld Zuweisungszeitplan die Option Zuweisen unmittelbar nach diesem Ereignis aus, legen Sie den Wert auf So bald wie möglich fest, und wählen Sie dann OK aus.
Wählen Sie auf der Seite Planung die Option Weiter aus.
Legen Sie auf der Seite Benutzerfreundlichkeit wie in Abbildung 7 dargestellt die folgenden Optionen fest, und wählen Sie dann Weiter aus:
Aktivieren Sie das Kontrollkästchen Softwareinstallation.
Aktivieren Sie das Kontrollkästchen Änderungen zum Stichtag oder während eines Wartungsfensters ausführen (erfordert Neustart).
Abbildung 7. Geben Sie die Benutzeroberfläche an.
Wählen Sie auf der Seite Verteilungspunkte im Feld Bereitstellungsoptionen die Option Programm vom Verteilungspunkt ausführen und dann Weiter aus.
Überprüfen Sie auf der Seite Zusammenfassung die Auswahl, und wählen Sie dann Weiter aus.
Schließen Sie den Assistenten.
Bestandskatalogdateien mit Microsoft Configuration Manager
Wenn Katalogdateien auf den Computern in Ihrer Umgebung bereitgestellt wurden, können Sie diese mithilfe von Gruppenrichtlinien oder Configuration Manager mit dem Softwareinventurfeature von Configuration Manager inventarisieren.
Sie können die Softwareinventur so konfigurieren, dass Katalogdateien auf Ihren verwalteten Systemen gesucht werden, indem Sie eine neue Clienteinstellungsrichtlinie erstellen und bereitstellen.
Hinweis
Eine Standardbenennungskonvention für Ihre Katalogdateien vereinfacht den Softwareinventurprozess für Katalogdateien erheblich. In diesem Beispiel wurde -Contoso zu allen Katalogdateinamen hinzugefügt.
Öffnen Sie die Configuration Manager-Konsole, und wählen Sie den Arbeitsbereich „Verwaltung“ aus.
Navigieren Sie zu Übersicht\Clienteinstellungen, klicken Sie mit der rechten Maustaste auf Clienteinstellungen, und wählen Sie dann Benutzerdefinierte Clientgeräteeinstellungen erstellen aus.
Benennen Sie die neue Richtlinie, und aktivieren Sie unter Benutzerdefinierte Einstellungen für Clientgeräte auswählen und dann konfigurieren das Kontrollkästchen Softwareinventur, wie in Abbildung 8 dargestellt.
Abbildung 8. Wählen Sie benutzerdefinierte Einstellungen aus.
Wählen Sie im Navigationsbereich Softwareinventur und dann Typen festlegen aus, wie in Abbildung 9 dargestellt.
Abbildung 9. Legen Sie die Softwareinventur fest.
Wählen Sie im Dialogfeld Clienteinstellung konfigurieren die Schaltfläche Start aus, um das Dialogfeld Inventardateieigenschaften zu öffnen.
Geben Sie im Feld Name einen Namen wie
*Contoso.cat
ein, und wählen Sie dann Festlegen aus.Hinweis
Befolgen Sie bei der Eingabe des Namens Ihre Benennungskonvention für Katalogdateien.
Wählen Sie im Dialogfeld Pfadeigenschaften die Option Variablen- oder Pfadname aus, und geben Sie
C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
dann wie in Abbildung 10 dargestellt in das Feld ein.Abbildung 10. Legen Sie die Pfadeigenschaften fest.
Wählen Sie OK aus.
Nachdem Sie die Clienteinstellungsrichtlinie erstellt haben, klicken Sie mit der rechten Maustaste auf die neue Richtlinie, wählen Sie Bereitstellen aus, und wählen Sie dann die Sammlung aus, in der Sie die Katalogdateien inventarisieren möchten.
Zum Zeitpunkt des nächsten Softwareinventurzyklus, wenn die Zielclients die neue Clienteinstellungsrichtlinie erhalten, können Sie die inventarisierten Dateien in den integrierten Configuration Manager Berichten oder ressourcenbasierten Explorer anzeigen. So zeigen Sie die inventarisierten Dateien auf einem Client im Ressourcen-Explorer an
Öffnen Sie die Configuration Manager-Konsole, und wählen Sie den Arbeitsbereich „Bestand und Kompatibilität“ aus.
Navigieren Sie zu Übersicht\Geräte, und suchen Sie nach dem Gerät, auf dem Sie die inventarisierten Dateien anzeigen möchten.
Klicken Sie mit der rechten Maustaste auf den Computer, zeigen Sie auf Start, und wählen Sie dann Ressource Explorer aus.
Navigieren Sie in Resource Explorer zu Software\Dateidetails, um die inventarisierten Katalogdateien anzuzeigen.
Hinweis
Wenn in dieser Ansicht nichts angezeigt wird, navigieren Sie zu Software\Letzte Softwareüberprüfung in Resource Explorer, um zu überprüfen, ob der Client kürzlich eine Softwareinventurüberprüfung abgeschlossen hat.
Zulassen von Apps, die von Ihrem Katalogsignaturzertifikat in Ihrer App Control-Richtlinie signiert wurden
Nachdem Sie nun über Ihre signierte Katalogdatei verfügen, können Sie Ihrer Richtlinie eine Signaturgeberregel hinzufügen, die alles zulässt, was mit diesem Zertifikat signiert wurde. Wenn Sie noch keine App-Steuerungsrichtlinie erstellt haben, finden Sie weitere Informationen im Entwurfshandbuch für App Control for Business.
Auf einem Computer, auf dem die signierte Katalogdatei bereitgestellt wurde, können Sie New-CiPolicyRule verwenden, um eine Signaturgeberregel aus jeder Datei zu erstellen, die in diesem Katalog enthalten ist. Verwenden Sie dann Merge-CiPolicy , um die Regel ihrem Richtlinien-XML hinzuzufügen. Ersetzen Sie unbedingt die Pfadwerte im folgenden Beispiel:
$Rules = New-CIPolicyRule -DriverFilePath <path to the file covered by the signed catalog> -Level Publisher
Merge-CIPolicy -OutputFilePath <path to your policy XML> -PolicyPaths <path to your policy XML> -Rules $Rules
Alternativ können Sie Add-SignerRule verwenden, um Ihrer Richtlinie aus der Zertifikatdatei (.cer) eine Signaturgeberregel hinzuzufügen. Sie können die .cer-Datei ganz einfach aus Ihrer signierten Katalogdatei speichern.
- Klicken Sie mit der rechten Maustaste auf die Katalogdatei, und wählen Sie dann Eigenschaften aus.
- Wählen Sie auf der Registerkarte Digitale Signaturen die Signatur aus der Liste und dann Details aus.
- Wählen Sie Zertifikat anzeigen aus, um die Eigenschaften des Blattzertifikats anzuzeigen.
- Wählen Sie die Registerkarte Details und dann In Datei kopieren aus. Mit dieser Aktion wird der Zertifikatexport-Assistent ausgeführt.
- Schließen Sie den Assistenten ab, indem Sie die Standardoption Dateiformat exportieren verwenden und einen Speicherort und Dateinamen angeben, um die .cer Datei zu speichern.
Hinweis
Diese Schritte wählen die unterste Ebene der Zertifikatkette aus, die auch als "Blattzertifikat" bezeichnet wird. Stattdessen können Sie das Zwischen- oder Stammausstellerzertifikat des Zertifikats verwenden. Um ein anderes Zertifikat in der Kette zu verwenden, wechseln Sie nach Schritt 3 oben zur Registerkarte Zertifizierungspfad , wählen Sie dann die gewünschte Zertifikatebene aus, und wählen Sie Zertifikat anzeigen aus. Führen Sie dann die verbleibenden Schritte aus.
Im folgenden Beispiel wird die .cer-Datei verwendet, um eine Signaturregel sowohl dem Benutzer- als auch dem Kernelmodussignierszenario hinzuzufügen. Ersetzen Sie unbedingt die Pfadwerte im folgenden Beispiel:
Add-SignerRule -FilePath <path to your policy XML> -CertificatePath <path to your certificate .cer file> -User -Kernel
Bekannte Probleme bei der Verwendung der Paketprüfung
Einige der bekannten Probleme bei der Verwendung des Paketinspektors zum Erstellen einer Katalogdatei sind:
Die USN-Journalgröße ist zu klein, um alle Dateien nachzuverfolgen, die vom Installationsprogramm erstellt wurden.
- Gehen Sie wie folgt vor, um zu diagnostizieren, ob die GRÖßE des USN-Journals das Problem ist, nachdem Sie den Paketinspektor durchlaufen haben:
- Rufen Sie den Wert des reg-Schlüssels unter HKEY_CURRENT_USER/PackageInspectorRegistryKey/c: ab (dieser USN war der letzte, als Sie PackageInspector start ausgeführt haben). Verwenden Sie dann fsutil.exe, um diesen Startspeicherort zu lesen. Ersetzen Sie "RegKeyValue" im folgenden Befehl durch den Wert aus dem reg-Schlüssel:
fsutil usn readjournal C: startusn=RegKeyValue > inspectedusn.txt
- Der obige Befehl sollte einen Fehler zurückgeben, wenn die älteren USNs aufgrund eines Überlaufs nicht mehr vorhanden sind.
- Sie können die GRÖßE der USN-Journal erweitern, indem Sie folgendes verwenden:
fsutil usn createjournal
mit einem neuen Größen- und Zuordnungsdelta.Fsutil usn queryjournal
zeigt die aktuelle Größe und das Zuordnungsdelta an, sodass die Verwendung eines Vielfachen von hilfreich sein kann.
- Rufen Sie den Wert des reg-Schlüssels unter HKEY_CURRENT_USER/PackageInspectorRegistryKey/c: ab (dieser USN war der letzte, als Sie PackageInspector start ausgeführt haben). Verwenden Sie dann fsutil.exe, um diesen Startspeicherort zu lesen. Ersetzen Sie "RegKeyValue" im folgenden Befehl durch den Wert aus dem reg-Schlüssel:
- Gehen Sie wie folgt vor, um zu diagnostizieren, ob die GRÖßE des USN-Journals das Problem ist, nachdem Sie den Paketinspektor durchlaufen haben:
CodeIntegrity: Das Betriebsereignisprotokoll ist zu klein, um alle dateien nachzuverfolgen, die vom Installationsprogramm erstellt wurden.
- Gehen Sie wie folgt vor, um zu diagnostizieren, ob die Größe des Ereignisprotokolls das Problem ist, nachdem Sie den Paketinspektor durchlaufen haben:
- Öffnen Sie Ereignisanzeige, und erweitern Sie die Option Anwendung und Dienste//Microsoft//Windows//CodeIntegrity//Operational. Suchen Sie nach einem 3076-Überwachungsblockereignis für den ersten Start des Installationsprogramms.
- Um die Größe des Ereignisprotokolls zu erhöhen, klicken Sie in Ereignisanzeige mit der rechten Maustaste auf das Betriebsprotokoll, wählen Sie Eigenschaften aus, und legen Sie dann neue Werte fest.
- Gehen Sie wie folgt vor, um zu diagnostizieren, ob die Größe des Ereignisprotokolls das Problem ist, nachdem Sie den Paketinspektor durchlaufen haben:
Installer- oder App-Dateien, die den Hash jedes Mal ändern, wenn die App installiert oder ausgeführt wird
- Einige Apps generieren Dateien zur Laufzeit, deren Hashwert sich jedes Mal unterscheidet. Sie können dieses Problem diagnostizieren, indem Sie die Hashwerte in den generierten 3076 Überwachungsblockereignissen (oder 3077-Erzwingungsereignissen) überprüfen. Wenn Sie jedes Mal, wenn Sie versuchen, die Datei auszuführen, ein neues Blockereignis mit einem anderen Hash beobachten, funktioniert das Paket nicht mit der Paketprüfung.
Dateien mit einem ungültigen Signaturblob oder anderweitig "unhashable" Dateien
- Dieses Problem tritt auf, wenn eine signierte Datei so geändert wurde, dass der PE-Header der Datei ungültig wird. Eine Datei, die auf diese Weise geändert wurde, kann nicht gemäß der Authenticode-Spezifikation gehasht werden.
- Obwohl diese "unhashablen" Dateien nicht in die von PackageInspector erstellte Katalogdatei eingeschlossen werden können, sollten Sie sie zulassen können, indem Sie Ihrer Richtlinie eine Hash-ALLOW-Regel hinzufügen, die den Flatfile-Hash der Datei verwendet.
- Dieses Problem betrifft einige Versionen von InstallShield-Paketen, die signierte DLL-Dateien in benutzerdefinierten Aktionen verwenden. InstallShield fügt der Datei Nachverfolgungsmarker hinzu (bearbeiten sie nach der Signatur), wodurch die Datei in diesem "unhashable"-Zustand verbleibt.