É necessário impor a criptografia em repouso em um LUN iSCSI acessível a partir de uma máquina virtual Hyper-V.
Implementamos uma solução funcional usando o BitLocker, usando o Windows Server 2012 em um servidor virtual Hyper-V que tenha acesso iSCSI a um LUN em nossa SAN. Conseguimos fazer isso com êxito usando o hack "armazenamento em disco da disquete", conforme definido neste POST . No entanto, esse método me parece "hokey".
Em minha pesquisa contínua, descobri que a equipe de TI da Amazon Corporate publicou um WHITEPAPER que descrevia exatamente o que eu procurava em uma solução mais elegante, sem o "hack do disquete". Na página 7 deste white paper, eles afirmam que implementaram o Gerenciamento de Chaves de Criptografia DPAPI do Windows para gerenciar com segurança suas chaves do BitLocker. É exatamente isso que pretendo fazer, mas eles declararam que precisavam escrever um script para fazer isso, mas não fornecem o script nem sequer apontam como criar um.
Alguém tem detalhes sobre como criar um "script em conjunto com um serviço e um arquivo de armazenamento de chaves protegido pela chave DPAPI da conta de máquina do servidor" (como indicado no whitepaper) para gerenciar e desbloquear automaticamente os volumes do BitLocker? Qualquer conselho é apreciado.
--- EDIT 1 ---
Com base na resposta de Evan abaixo, aqui está o que eu descobri, mas ainda estou preso.
Suponho que, usando PsExec e executando o seguinte comando, o PowerShell esteja sendo executado sob a conta do sistema e que "criptografará a string com a senha da conta da máquina", conforme Evan afirmou. Isso está correto?
PsExec.exe -i -s Powershell.exe
Então, no PS, (usando esta postagem como referência), eu executo este comando para gerar a senha do SecureString:
ConvertTo-SecureString -String "MyBitLockerPassword" -AsPlainText –Force | ConvertFrom-SecureString | Out-File C:\securestring.txt
Isso me fornece um arquivo que contém a string segura no formato "01000000d08c…" (total de 524 caracteres). Agora, agora posso criar uma Tarefa de Agendamento para executar na inicialização, que usa o seguinte para carregar a senha (como SecureString) e passá-la para o comando Unlock-BitLocker :
$SecureBitLockerPassword = Get-Content C:\securestring.txt | ConvertTo-SecureString
Unlock-BitLocker -MountPoint "E:" -Password $ SecureBitLockerPassword
No entanto, se estou simplesmente armazenando a senha criptografada como um arquivo no disco rígido, qual é o sentido de criptografar e descriptografar a senha? Isso não seria tão inseguro quanto armazenar a senha em texto sem formatação e usar o seguinte (sem a necessidade de criar o arquivo de string seguro)?
$SecureString = ConvertTo-SecureString " MyBitLockerPassword " -AsPlainText –Force
Unlock-BitLocker -MountPoint "E:" -Password $SecureString
De que outra forma você abordaria isso? Onde eu posso armazenar a chave SecureString para que somente a conta do sistema possa acessá-la?