Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Configuration Manager (Current Branch)
Es liegt in der Verantwortung des Administrators, die vorgeschlagene PowerShell- und PowerShell-Parameterverwendung in seiner Umgebung zu überprüfen. Hier sind einige hilfreiche Ressourcen, die Administratoren über die Leistungsfähigkeit von PowerShell und potenzielle Risikooberflächen aufklären. Dieser Leitfaden soll Ihnen helfen, potenzielle Risiken zu minimieren und die Verwendung sicherer Skripts zuzulassen.
PowerShell Script Security
Mit dem Feature "Configuration Manager-Skripts" können Sie Skripts visuell überprüfen und genehmigen. Ein anderer Administrator kann anfordern, dass sein Skript zugelassen wird. Administratoren sollten sich darüber im Klaren sein, dass PowerShell-Skripts verschleierte Skripts enthalten können. Ein verschleiertes Skript könnte böswillig sein und ist bei Sichtprüfung während des Drehbuchfreigabeprozesses schwer zu erkennen. Überprüfen Sie PowerShell-Skripts visuell und verwenden Sie Inspektionstools, um verdächtige Skriptprobleme zu erkennen. Diese Tools können nicht immer die Absicht des PowerShell-Autors ermitteln, sodass sie auf ein verdächtiges Skript aufmerksam machen können. Die Tools erfordern jedoch, dass der Administrator beurteilt, ob es sich um eine bösartige oder absichtliche Skriptsyntax handelt.
Empfehlungen
- Machen Sie sich mit den PowerShell-Sicherheitsleitfäden über die verschiedenen Links vertraut, auf die unten verwiesen wird.
- Signieren Sie Ihre Skripts: Eine weitere Methode zum Schützen von Skripts besteht darin, sie überprüfen und dann signieren zu lassen, bevor sie zur Verwendung importiert werden.
- Speichern Sie keine Geheimnisse (z. B. Kennwörter) in PowerShell-Skripts, und erfahren Sie mehr über den Umgang mit Geheimnissen.
Allgemeine Informationen zur PowerShell-Sicherheit
Diese Linksammlung wurde ausgewählt, um Configuration Manager-Administratoren einen Ausgangspunkt zu geben, um mehr über Sicherheitsempfehlungen für PowerShell-Skripts zu erfahren.
Abwehr von PowerShell-Angriffen
Schutz vor Einschleusung von bösartigem Code
API für die Antischadsoftware-Scanschnittstelle
PowerShell-Parameter Sicherheit
Das Übergeben von Parametern ist eine Möglichkeit, Ihre Skripts flexibler zu gestalten und Entscheidungen bis zur Laufzeit zu verschieben. Es eröffnet auch eine weitere Risikofläche.
Die folgende Liste enthält Empfehlungen, um schädliche Parameter oder Skripteinschleusung zu verhindern:
- Nur die Verwendung von vordefinierten Parametern zulassen.
- Verwenden Sie das Feature für reguläre Ausdrücke, um zulässige Parameter zu überprüfen.
- Beispiel: Wenn nur ein bestimmter Wertebereich zulässig ist, verwenden Sie einen regulären Ausdruck, um nur die Zeichen oder Werte zu überprüfen, die den Bereich bilden können.
- Durch das Überprüfen von Parametern kann verhindert werden, dass Benutzer versuchen, bestimmte Zeichen zu verwenden, die mit Escapezeichen versehen werden können, z. B. Anführungszeichen. Es kann mehrere Arten von Anführungszeichen geben. Daher ist die Verwendung regulärer Ausdrücke zum Überprüfen, welche Zeichen Sie für zulässig erachtet haben, oft einfacher, als zu versuchen, alle nicht zulässigen Eingaben zu definieren.
- Verwenden Sie das PowerShell-Modul "Injection Hunter" im PowerShell-Katalog.
- Es kann falsch positive Ergebnisse geben. Suchen Sie also nach Absicht, wenn etwas als verdächtig gekennzeichnet wird, um festzustellen, ob es sich um ein echtes Problem handelt oder nicht.
- Microsoft Visual Studio verfügt über einen Skriptanalysetools, der beim Überprüfen der PowerShell-Syntax helfen kann.
Das folgende Video mit dem Titel: "DEF CON 25 - Lee Holmes - Get $pwnd: Attacking Battle Hardened Windows Server" gibt einen Überblick über die Arten von Problemen, gegen die Sie sich schützen können (insbesondere der Abschnitt 12:20 bis 17:50):
Empfehlungen für die Umgebung
Die folgende Liste enthält allgemeine Empfehlungen für PowerShell-Administratoren:
- Stellen Sie die neueste Version von PowerShell bereit, die in Windows 10 oder höher integriert ist, z. B. Version 5 oder höher. Sie können auch das Windows Management Framework bereitstellen.
- Aktivieren und sammeln Sie PowerShell-Protokolle, optional einschließlich der geschützten Ereignisprotokollierung. Integrieren Sie diese Protokolle in Ihre Signatur-, Such- und Vorfallsreaktions-Workflows.
- Implementieren Sie gerade genug Verwaltung auf hochwertigen Systemen, um den uneingeschränkten administrativen Zugriff auf diese Systeme zu eliminieren oder zu reduzieren.
- Bereitstellen von Windows Defender Application Control-Richtlinien, um vorab genehmigten Verwaltungsaufgaben die Nutzung der vollen Funktionalität der PowerShell-Sprache zu ermöglichen, während die interaktive und nicht genehmigte Verwendung auf eine begrenzte Teilmenge der PowerShell-Sprache beschränkt wird.
- Stellen Sie Windows 10 oder höher bereit, um Ihrem Antivirenanbieter Vollzugriff auf alle Inhalte (einschließlich Inhalten, die zur Laufzeit generiert oder entschleiert wurden) zu gewähren, die von Windows-Skripthosts (einschließlich PowerShell) verarbeitet werden.