Überprüfen der Vertrauenswürdigkeit einer WinGet-Konfigurationsdatei

Vor dem Ausführen einer WinGet-Konfigurationsdatei empfiehlt es sich, jede in der Datei aufgeführte Ressource zu überprüfen und auszuwerten, um zu gewährleisten, dass Sie vollständig darüber informiert sind, was installiert, geändert oder auf Ihr Betriebssystem angewendet wird, und sicherzustellen, dass es aus einer glaubwürdigen und sicheren Quelle stammt.

Erfahren Sie mehr über die Verwendung des WinGet-Konfigurationsbefehls.

Sicherheitsbenachrichtigungen und Genehmigungen

Vor dem Ausführen einer Konfiguration wird der Benutzer aufgefordert, seine Verantwortung für die Überprüfung einer Konfiguration zu überprüfen und zu bestätigen (es sei denn, er hat den Parameter zur Annahme der Konfigurationsvereinbarung explizit übergeben).

Das unbeaufsichtigte Setup der WinGet-Konfigurationsdateien bietet den Vorteil, dass die Anzahl expliziter Installationsbenachrichtigungen und Genehmigungen erheblich reduziert wird. Stattdessen müssen Sie bei Verwendung einer WinGet-Konfigurationsdatei die Datei unbedingt im Vorfeld einer sorgfältigen Sicherheitsüberprüfung unterziehen, bevor die Konfiguration mit dem winget configure-Befehl ausgeführt wird. Sie sind für die Überprüfung jedes installierten Pakets und jedes verwendeten PowerShell-DSC-Moduls (Desired State Configuration) verantwortlich, um sicherzustellen, dass es aus einer zuverlässigen Quelle stammt.

Beachten Sie Folgendes:

  • Benutzer, die eine Konfiguration über winget configure in einer Verwaltungsshell ausführen, werden bei Änderungen am System, die im Administratorkontext vorgenommen werden, nicht zur Bestätigung aufgefordert.

  • Benutzer, die eine Konfiguration über winget configure im Benutzerkontext ausführen, erhalten möglicherweise nur eine einzige Aufforderung der Benutzerkontensteuerung (UAC) zur Erhöhung der Rechte für die gesamte Konfiguration.

Überprüfen der Konfigurationsressourcen

WinGet-Konfiguration nutzt PowerShell DSC, um eine Konfiguration auf das Benutzersystem anzuwenden. Die Konfigurationsdatei gibt an, welche PowerShell DSC-Ressourcen verwendet werden, um den gewünschten Zustand anzuwenden. Jede DSC-Ressource sollte überprüft werden, bevor Sie der Ausführung der Konfigurationsdatei zustimmen.

So überprüfen Sie PowerShell DSC-Ressourcen:

  • Das PowerShell-Cmdlet Get-PSRepository kann verwendet werden, um vor dem Ausführen der Datei konfigurierte Repositorys anzuzeigen und zu bestimmen, wo Ressourcen bezogen werden.

Beachten Sie beim Überprüfen von Konfigurationsressourcen Folgendes:

  • PowerShell DSC-Ressourcen können so konfiguriert werden, dass beliebiger Code ausgeführt wird, einschließlich, aber nicht beschränkt auf das Pullen und Ausführen zusätzlicher DSC-Ressourcen und Binärdateien auf den lokalen Computer. Dies erfordert eine sorgfältige Integritätsprüfung der Ressource und der Glaubwürdigkeit des Herausgebers. Beispielsweise bietet die DSC-Skriptressource einen Mechanismus zum Ausführen von Windows PowerShell-Skriptblöcken auf Zielknoten (mithilfe von Get-, Set- und Test-Skripts). Führen Sie keine Skriptressourcen von nicht vertrauenswürdigen Herausgebern aus, ohne den Inhalt der Skripts zu überprüfen.

  • Der PowerShell-Katalog ist ein zentrales Repository zum Ermitteln, Freigeben und Abrufen von PowerShell-Modulen, Skripts und DSC-Ressourcen. Dieses Repository wird nicht von Microsoft überprüft und enthält Ressourcen von einer Vielzahl von Autoren und Herausgebern. Sie sollten diesen nicht standardmäßig vertrauen. Jedes Paket verfügt über eine bestimmte Seite im Katalog mit zugeordneten Metadaten, deren Owner-Feld stark an das Katalogkonto gebunden ist (vertrauenswürdiger als das Feld „Autor“). Wenn Sie ein Paket entdecken, das Ihrer Meinung nach nicht mit guten Absichten veröffentlicht wurde, wählen Sie auf der betreffenden Seite „Missbrauch melden“ aus. Erfahren Sie mehr über den PowerShell-Katalog.

Testen von Konfigurationsdateien

Es wird empfohlen, alle WinGet-Konfigurationsdateien in einer neuen und isolierten Umgebung zu testen. Testoptionen sind beispielsweise: