Wir müssen die Ruheverschlüsselung auf einer iSCSI-LUN erzwingen, auf die von einer virtuellen Hyper-V-Maschine aus zugegriffen werden kann.
Wir haben eine funktionierende Lösung mit BitLocker implementiert, die Windows Server 2012 auf einem virtuellen Hyper-V-Server verwendet, der über iSCSI-Zugriff auf eine LUN in unserem SAN verfügt. Wir konnten dies erfolgreich tun, indem wir den in DIESEM POST definierten Hack "Diskettenschlüsselspeicher" verwendeten . Diese Methode erscheint mir jedoch "hokey".
Bei meinen fortgesetzten Recherchen stellte ich fest, dass das IT-Team von Amazon Corporate ein WHITEPAPER veröffentlichte , das genau darlegte , wonach ich in einer eleganteren Lösung ohne den "Disketten-Hack" suchte. Auf Seite 7 dieses White Papers geben sie an, dass sie die Windows DPAPI-Verschlüsselungsschlüsselverwaltung implementiert haben , um ihre BitLocker-Schlüssel sicher zu verwalten. Dies ist genau das, was ich tun möchte, aber sie gaben an, dass sie ein Skript schreiben müssen, um dies zu tun, aber sie liefern weder das Skript noch irgendwelche Hinweise, wie man eines erstellt.
Hat jemand Details zum Erstellen eines "Skripts in Verbindung mit einem Dienst und einer Schlüsselspeicherdatei, die durch den DPAPI-Schlüssel des Computerkontos des Servers geschützt ist" (wie im Whitepaper angegeben) zum Verwalten und automatischen Entsperren von BitLocker-Volumes? Jeder Rat wird geschätzt.
--- BEARBEITEN 1 ---
Basierend auf Evans Antwort unten habe ich Folgendes herausgefunden, aber ich stecke immer noch fest.
Ich gehe davon aus, dass bei Verwendung von PsExec und Ausführen des folgenden Befehls PowerShell unter dem Systemkonto ausgeführt wird und "die Zeichenfolge mit dem Kennwort des Computerkontos verschlüsselt" wird, wie Evan angegeben hat. Ist das richtig?
PsExec.exe -i -s Powershell.exe
Dann führe ich innerhalb von PS (unter Verwendung dieses Beitrags als Referenz) diesen Befehl aus, um das SecureString-Kennwort zu generieren:
ConvertTo-SecureString -String "MyBitLockerPassword" -AsPlainText –Force | ConvertFrom-SecureString | Out-File C:\securestring.txt
Das gibt mir eine Datei mit der sicheren Zeichenfolge im Format „01000000d08c…“ (insgesamt 524 Zeichen). Dann kann ich jetzt eine Schedule Task erstellen, die beim Booten ausgeführt wird. Dabei wird Folgendes verwendet, um das Kennwort (als SecureString) zu laden und an den Befehl Unlock-BitLocker zu übergeben :
$SecureBitLockerPassword = Get-Content C:\securestring.txt | ConvertTo-SecureString
Unlock-BitLocker -MountPoint "E:" -Password $ SecureBitLockerPassword
Wenn ich das verschlüsselte Passwort jedoch einfach als Datei auf der Festplatte speichere, wozu dient das Ver- und Entschlüsseln des Passworts? Wäre das nicht genauso unsicher wie das Speichern des Passworts im Klartext und die Verwendung der folgenden Informationen (ohne dass die sichere Zeichenfolgendatei erstellt werden muss)?
$SecureString = ConvertTo-SecureString " MyBitLockerPassword " -AsPlainText –Force
Unlock-BitLocker -MountPoint "E:" -Password $SecureString
Wie würden Sie das sonst angehen? Wo kann ich den SecureString-Schlüssel speichern, damit nur das Systemkonto darauf zugreifen kann?