“Microsoft Azure Key Vault” kullanımı


Azure Key Vault, Azure güvenliğinin önemli bir bileşenidir ve geliştiricilerin, güvenlik ve bulut yöneticilerinin anahtarları güvenli bir şekilde yönetmelerine yardımcı olur.

Bu makalenin amacı Microsoft Azure’da çalışan VM’lerde diskleri şifrelemek için Azure Key Vault avantajından yararlanmaktır. Windows VM’lerde şifreleme işlemi BitLocker özelliğini kullanır. Linux VM’ler DM-Crypt kullanıyor.

Tüm ihtiyaçlarınız için tek bir Key Vault kullanabilirken, bazı şirketler her bir iş yükü için tek bir Key Vault kullanmayı tercih eder. Bu makalede, yalnızca disk şifreleme için bir Key Vault oluşturacağız.

Microsoft Azure Key Vault kullanarak dinlenecek verileri elde etmek için gerekli adımları ele alacağız. Herhangi bir VM’nin disk şifrelemesini tamamlamak için aşağıdaki adımlar gereklidir.

İşletim sistemi ve bir VM’deki veri diskleri için disk şifrelemesine geçmeden önce, Haziran 2017’den bu yana oluşturulan tüm Storage Account’ları için Azure Storage Service Encryption etkin olduğu belirtmek isteriz.

Varsayılan olarak, Azure Storage’a yazılan tüm veriler AES 256-bit şifreleme kullanır. Yeni verilerin yazılması ve verilerin alınması ve şifre çözülmesi için bir şifreleme işlemi gerçekleşir. Depolama hesabı varsayılan olarak şifrelenir ve müşteri bunu devre dışı bırakamaz. Tek seçenek Microsoft tarafından yönetilen şifreleme anahtarları yerine kendi şifreleme anahtarınızı kullanmaktır.

Bu hizmet ücretsiz olarak sunulur ve tüm Azure bölgelerinde kullanılabilir. Depolama düzeyinde etkin olup olmadığını görmek istiyorsanız, istediğiniz depolama hesabını tıklayın ve sağ taraftaki Encryption öğesine tıklayın. Özelliğin kısa bir açıklaması görüntülenecek. Yapılandırma için tek seçeneğimiz bulunuyor.

Yeterli güvenlik var mı?

Kesinlikle, verilerinizi dinlenmeye karşı koruyacaktır, ancak bazı kuruluşlar daha sınırlı bir güvenlik gereksinimine ihtiyaç durabilir ve sanal makinenin kendisinin şifrelenmesi gerekebilir.

SSE’nin mevcut depolama hesaplarınızda etkin ve çalışır durumda olduğunu biliyoruz. Şimdi bir adım daha ileri gideceğiz ve bir Windows VM’de Azure Key Vault ve BitLocker özelliğini kullanarak işletim sistemi ve veri disklerini şifreleyeceğiz.

İlk adım CLI, PowerShell veya Azure Portal kullanılarak oluşturulabilen Azure Key Vault oluşturmaktır. Biz Azure Portalı’nı kullanacağız. Create a Resource üzerine tıklayın, Key Vault’u yazın ve listeden ilk seçeneği seçin.

Servise ait kısa bir genel bilgi görüntülenecektir. Create’a tıklayın. Key Vault adını tanımlayın.(kv-test06 olarak etiketleyeceğiz) Kullandığınız ad benzersiz olmalıdır. Çünkü bilgiye erişmek için bir URL oluşturur. Mevcut key vault https://kv-test05.vault.azure.net adresini kullanacak. Subscription, Resource Group, Location, Pricing Tier gibi alanları seçin.

Key vault oluşturduktan sonra Access Policies’leri yönetebiliriz. Aşağıdaki 3 seçeneğin işaretli olması önerilmektedir.

VM disk encryption

Azure Portal’da oturum açın, istenen VM’yi seçin ve sol menüde bulunan Disks öğesine tıklayın. Verilen VM ile ilişkilendirilmiş tüm disklerin bir listesi listelenecek ve aşağıdaki resimde Encryption’un VM düzeyinde etkin olmadığını görebiliyoruz.

BitLocker kullanarak şifrelemeyi başlatmak için, VM’in basic tier’de olmadığından emin olmalıyız. Geçerli katmanın VM’yi oluşturmadan önce şifrelemeyi desteklediğini doğrulamak için Azure Portalı’nı kontrol etmenizi öneririm. (Bu makalenin oluşturulması sırasında, standart katmanlar desteklenmiştir. A, D, DS, G, GS ve F.)

Disk şifrelemesini saklamak için bir anahtar oluşturmak

Diskleri şifrelerken, sistem yöneticisi iki terimin farkında olmalıdır: Data Encryption Key (DEK) ve Key Encryption Key (KEK). DEK, diskin kendisini şifrelemek için kullanılan asimetriktir (AES 256) ve KEK, DEK’i şifrelemek için kullanılan bir başka güvenlik katmanı yaratan bir asimetrik şifreleme anahtarıdır.

Bu bölümde, aşağıda listelenen PowerShell cmdlet’ini kullanarak KEK (Key Encryption Key) oluşturacağız.

Add-AzureKeyVaultKey -VaultName “kv-test06” -Name “mykey” -Destination “Software”
Set-AzureRMKeyVaultAccessPolicy -VaultName “kv-test06” -ServicePrincipalName <Application ID> -PermissionsToKeys “wrapKey” -PermissionsToSecrets “Set”

Azure Active Directory service principal oluşturma

VM’leri şifrelemek için, bir servis hesabı yapılandırmalı ve Key Vault ile etkileşim kurmak için bu hesaba izinleri ilişkilendirmeliyiz. Bu hesap sorumlu olacak ve şifreleme anahtarlarını değiştirmek için VM adına hareket edecektir. Komut dosyasının sonucu aşağıdaki resimde görülebilir.

$AppName = “sp.diskencryption”
$SecurePassword = ConvertTo-SecureString -String “YourP@ssw0rd” -AsPlainText -Force
$App = New-AzureRMADApplication -DisplayName $AppName -HomePage “https://localhost” -IdentifierUris “https://localhost/diskencryption666” -Password $SecurePassword
New-AzureRMADServicePrincipal -ApplicationID $App.ApplicationID

Varolan bir VM’yi şifreleme

Şimdi Azure Key Vault’umuz yapılandırılmış ve kullanıma hazır hale geldiğine göre, son adım, şifreleme işlemini başlatmak için aşağıdaki cmdlet’i çalıştırmak. Bu işlem biraz zaman alabilir. (10 ila 15 dakika arası)

Set-AzureRMVMDiskEncryptionExtension -ResourceGroupName <RGName> -VMName “VMTEst01” -AADClientID <App-ID> -AADClientSecret (New-Object PSCredential “user”,$securepassword).GetNetworkCredential().Password –DiskEncryptionKeyVaultURL <Disk-URL> -DiskEncryptionVaultID <Key-Vault-ResourceID> -KeyEncryptionKeyURL <KEK-URL> -KeyEncryptionKeyVaultID <Key-Vault-ResourceID>

VM şifreleme cmdlet’ini çalıştırdığımız VM’nin Disks seçeneğine geri dönebiliriz. Şifreleme sütunundaki değer Enabled olmalıdır.

Sunucuda oturum açıldığında, C: \ sürücüsündeki BitLocker simgesini görebiliriz. Bu da korumanın sunucuda etkinleştirildiği anlamına gelir.

Önemli→ Bek Volume, şifreleme anahtarları için yer tutucudur. Dosyaları değiştirmeyin veya bu sürücünün ayarlarını değiştirmeyin.

KAYNAKCLOUD