Mehr Sicherheit für das Netzwerk durch verschlüsselte Skripte ist ein wichtiger Schritt für mehr Sicherheit PowerShell-Skripte im Datencenter verschlüsseln und Zugriffe sichern: Teil 1
Wenn im Netzwerk verschiedene PowerShell-Skripte im Einsatz sind, besteht die Gefahr, dass unberechtigte Anwender Zugriff auf die Skripte nehmen können. Das birgt natürlich die Gefahr von Manipulation oder Diebstahl von Inhalten. Es ist aber auch möglich die Skripte durch Verschlüsselung abzusichern
Anbieter zum Thema

Kommen im Netzwerk PowerShell-Skripte zum Einsatz, ist es sinnvoll diese vor unberechtigten Zugriffen zu schützen, Diebstahl zu verhindern und Manipulationen zu verhindern. Dadurch lassen sich PowerShell-Skripte sehr viel sicherer einsetzen.
Die Vorgehensweisen in diesem Tipp lassen sich auch mit anderen Dateien nutzen, die auf die gleich Art verschlüsselt werden können.
Jedes PowerShell-Skript und jede Datei lässt sich leicht verschlüsseln
Ideal ist es Skripte zu verschlüsseln, um den Inhalt vor außenstehenden Personen zu schützen. Die Verschlüsselung ist generell mit allen Skripten möglich. Es ist dazu ein herkömmliches PowerShell-Skript notwendig, eine Anpassung ist jederzeit möglich. Die Verwendung von verschlüsselten Skripten ist natürlich komplexer als die Bearbeitung oder Lesen von herkömmlichen Skripten. Beim Einsatz mehrerer Skripte ist es sehr sinnvoll diese zu verschlüsseln.
Ein Beispiel für die Verschlüsselung mit der PowerShell sieht folgendermaßen aus. Wir gehen nachfolgend davon aus, dass das Skript "SecureScript.ps1" im Verzeichnis C:\temp verschlüsselt werden soll.
Der Inhalt von Skripten lässt sich leicht mit dem Cmdlet "Get-Content" in der PowerShell auslesen, zum Beispiel mit:
Get-Content C:\temp\securescript.ps1
Um den Inhalt zu verschlüsseln kann dieser Zum Beispiel mit diesem Cmdlet in eine Variablen gespeichert werden, in diesem Beispiel mit Variable "$Skript":
$Script = Get-Content C:\temp\securescript.ps1
Der Inhalt lässt sich für die Verschlüsselung vorbereiten, ähnlich wie Kennwörter, die in Skripten genutzt werden:
$ScriptSecure = ConvertTo-SecureString $Script -AsPlainText -Force
Anschließend wird der Text verschlüsselt:
$EncryptedScript = ConvertFrom-SecureString -SecureString $ScriptSecure
Der verschlüsselte Inhalt wird jetzt in ein neues Skript geschrieben, dessen Inhalt dadurch verschlüsselt ist:
$EncryptedScript
Wir der Inhalt dieser Datei verschlüsselt, ist er zunächst nicht mehr lesbar. Das Skript ist auf dieser Art aber zunächst nicht mehr einsetzbar. Damit die PowerShell das Skript nutzen kann, muss der Inhalt bei der Ausführung entschlüsselt werden. Diese Vorgehensweise zeigen wir im zweiten Teil unseres Tipps.