Soru Windows DPAPI Şifreleme Anahtar Yönetimi ile BitLocker


Bir Hyper-V sanal makinesinden erişilebilen bir iSCSI LUN'da dinlenme şifrelemesini zorlamaya ihtiyacımız var.

Saniyede bir LUN'a iSCSI erişimi olan Hyper-V Sanal Sunucusunda Windows Server 2012 kullanarak BitLocker'ı kullanarak bir çalışma çözümü uyguluyoruz. Bunu, "floppy disk anahtar deposu" kullanarak tanımlanmış şekilde başarıyla yapabildik BU GÖNDERİ. Ancak, bu yöntem bana "hokey" gibi görünüyor.

Devam eden araştırmamda, Amazon Kurumsal BT ekibinin bir BEYAZ KAĞIT "Floppy disk hack" olmadan, daha zarif bir çözümde aradığım şeyi özetledim. Bu beyaz kitabın 7. sayfasında, uyguladıklarını belirtiyorlar. Windows DPAPI Şifreleme Anahtarı Yönetimi BitLocker tuşlarını güvenli bir şekilde yönetmek için. Tam olarak yapmak istediğim şey bu, ancak bunu yapmak için bir senaryo yazmaları gerektiğini belirttiler, ancak senaryoyu ve hatta nasıl oluşturulacağını gösteren herhangi bir işaretçi sağlamazlar.

Herkesin nasıl oluşturulacağına dair ayrıntıları var mı "sunucunun makine hesabı DPAPI anahtarı tarafından korunan bir hizmet ve bir anahtar deposu dosyasıyla bağlantılı olarak komut dosyası" BitLocker ciltlerini yönetmek ve otomatik olarak açmak için (whitepaper'da belirtildiği gibi)? Herhangi bir tavsiye takdir edilmektedir.

--- DÜZENLE 1 ---

Evan’un yanıtına göre, aşağıda anladım, ama hala sıkışıp kaldım.

Kullanıyorum PsExec ve aşağıdaki komutu çalıştırarak, PowerShell'in Sistem hesabı altında çalıştığı ve Evan'un belirttiği gibi “makine hesabının parolasını kullanarak dizeyi şifreleyeceğini” belirtti. Bu doğru mu?

PsExec.exe -i -s Powershell.exe

Sonra PS içinden, (kullanarak bu gönderi referans olarak) SecureString şifresini oluşturmak için bu komutu çalıştırıyorum:

ConvertTo-SecureString -String "MyBitLockerPassword" -AsPlainText –Force | ConvertFrom-SecureString | Out-File C:\securestring.txt

Bu bana “01000000d08c…” biçiminde güvenli bir yazı içeren bir dosya veriyor (toplam 524 karakter). Ardından, parolayı (bir SecureString olarak) yüklemek için aşağıdakileri kullanan ve önyükleme sırasında çalıştırmak için bir Zamanlama Görevi oluşturabilirim. Kilidini-BitLocker komut:

$SecureBitLockerPassword = Get-Content C:\securestring.txt | ConvertTo-SecureString
Unlock-BitLocker -MountPoint "E:" -Password $ SecureBitLockerPassword

Ancak, şifrelenmiş şifreyi sabit diskte bir dosya olarak saklıyorum, şifreyi şifrelemek ve şifresini çözmek ne demektir? Parolayı düz metin olarak saklamak ve aşağıdakileri kullanarak güvenli dizinin oluşturulmasına gerek kalmadan güvenli olmaz mı?

$SecureString = ConvertTo-SecureString " MyBitLockerPassword " -AsPlainText –Force
Unlock-BitLocker -MountPoint "E:" -Password $SecureString

Buna başka nasıl yaklaşırsın? SecureString anahtarını, yalnızca Sistem hesabının buna erişebilmesi için nerede saklayabilirim?


8
2017-07-02 22:31


Menşei




Cevaplar:


Tüm Amazon'un yaptığı gibi, SYSTEM bağlamında DPAPI'daki Bitlocker tuşlarını depolamak gibi görünüyor. Bu, TPM'de anahtarların saklanmasından çok daha az güvenli olsa da (TPM sanal makineye maruz kalmazsa, düz metin anahtarı, bir TPM'de depolanan bir anahtarla SİSTEM olarak çalıştırılan herhangi bir hizmet tarafından geri alınamaz) Bu muhtemelen tek seçeneğiniz.

Anlattıklarına benzer bir şeyi başarmak için muhtemelen ConvertFrom-SecureString ve ücretsiz ConvertTo-SecureString PowerShell API'leri. Microsoft dokümanları başına ConvertFrom-SecureString Statik anahtar belirtilmemişse cmdlet DPAPI kullanır. Komut dosyasını SİSTEM bağlamında çalıştırın ve DPAPI, dizininizi makine hesabının şifresiyle şifreleyecektir.

Bu noktadan itibaren manage-bde Alınan şifreyi kullanarak sürücünün kilidini açma aracı (ör. manage-bde -unlock x: -password)


6
2017-07-12 20:55



Evan, mesajın için teşekkürler. Bana doğru yönde işaret ediyorsun, ama hala şifrelenmiş anahtarın nerede ve nasıl saklandığını belirlemeye devam ediyorum. Yukarıdaki orijinal gönderideki güncellemeye bakın. - bigmac
@bigmac - Düzenlemeniz, ilk paragrafın içinde "çok daha az güvenli" ifadesinin bulunması. Bu yöntemin sunduğu tek koruma, SİSTEM ayrıcalıklarına sahip olabilecek saldırganların anahtarını güvence altına alır ve SİSTEM'e sahip olduktan sonra anahtarınız için "oyun bitti". TPM'de, en azından anahtarını açıklamak için yapılamaz. Bitlocker anahtarını bellekten toplamak kesinlikle mümkün, fiziksel donanıma karşı ayazma önleyici bellek saldırıları, ancak bu TPM'nin anahtarını riske atmaz. Seni beklediğim gerçekliğe geliyorsun-- Amazon’un beyaz kağıdı güvenlik tiyatrosu. - Evan Anderson