Aracılığıyla paylaş


Kanıtlama olmadan SQL Server'da güvenli bölgeler ile Always Encrypted'ı planlama

Şunlar için geçerlidir: Windows'da SQL Server 2019 (15.x) ve sonraki sürümleri

SQL Server'da doğrulama olmadan güvenli enklavlar ile Always Encrypted ayarlamak, bu özelliği kullanmaya başlamak için kolay bir yol sağlar. Ancak, bir üretim ortamında güvenli kuşatmalar kullandığınızda, işletim sistemi yöneticilerine karşı koruma düzeyinin kanıtlama olmadan azaltıldığını unutmayın. Örneğin, kötü niyetli bir işletim sistemi yöneticisi, enklav içinde çalışan SQL Server kitaplığına müdahale ederse, istemci uygulaması bunu algılayamaz. Bu tür saldırılardan endişe ediyorsanız, Host Guardian Hizmeti ile kimlik doğrulamayı ayarlamayı düşünebilirsiniz. Daha fazla bilgi için bkz. Plan for Host Guardian Service kanıtlama.

SQL Server'da güvenli kuşatmalarla Always Encrypted, Windows hiper yöneticisine dayanan ve özel donanım gerektirmeyen yazılım tabanlı bir teknoloji olan sanallaştırma tabanlı Güvenlik (VBS) kuşatmalarını (Sanal Güvenli Mod veya VSM kuşatmaları olarak da bilinir) kullanır.

Not

BIR VM'de SQL Server dağıtıldığında, VBS kuşatmaları verilerinizin VM içindeki saldırılara karşı korunmasına yardımcı olur. Ancak, konaktaki ayrıcalıklı sistem hesaplarını kullanan saldırılara karşı herhangi bir koruma sağlamaz. Örneğin, konak makinede oluşturulan VM'nin bellek dökümü, enklav belleğini içerebilir.

Önkoşullar

SQL Server çalıştıran bilgisayarlar hem SQL Server yükleme için Gereksinimleri'ni hem de Hyper-V donanım gereksinimlerini karşılamalıdır.

Bu gereksinimler şunlardır:

  • SQL Server 2019 (15.x) veya üzeri

  • Windows 11 (24H2 ve üzeri sürümler) veya Windows Server 2019 ve üzeri.

  • Sanallaştırma teknolojileri için CPU desteği:

    • Genişletilmiş Sayfa Tabloları ile Intel VT-x.
    • AMD-V Hızlı Sanallaştırma Dizini ile.
    • SQL Server'i bir VM'de çalıştırıyorsanız:
      • Azure'da, 2. Nesil VM boyutu (önerilir) veya iç içe sanallaştırma etkinleştirilmiş bir 1. Nesil VM boyutu kullanın. hangi 1. Nesil VM boyutlarının iç içe sanallaştırmayı desteklediğini belirlemek için vm boyutları belgelerine bakın.
      • Hyper-V 2016 veya sonraki bir sürümde (Azure dışında), VM'nizin 2. Nesil VM (önerilir) veya iç içe sanallaştırma etkinleştirilmiş bir 1. Nesil VM olduğundan emin olun. Daha fazla bilgi için bkz. Hyper-V'de 1. veya 2. nesil bir sanal makine oluşturmalımıyım? ve İç içe sanallaştırmayapılandırın.
      • VMware vSphere 7.0 veya sonraki sürümlerinde, VMware belgelerinde açıklandığı gibi VM için sanallaştırma tabanlı güvenlik desteğini etkinleştirin.
      • Diğer hipervizörler ve genel bulutlar da Always Encrypted'ı VBS Sığınakları ile etkinleştiren iç içe geçmiş sanallaştırma özelliklerini destekleyebilir. Uyumluluk ve yapılandırma yönergeleri için sanallaştırma çözümünüzün belgelerine bakın.
  • Sanallaştırma tabanlı güvenlik (VBS) etkinleştirilmeli ve çalıştırılmalıdır.

Araç gereksinimleri

SQL Server Management Studio'nun (SSMS) en son sürümünü yükleyin.

İstemci sürücüsü gereksinimleri

Kanıtlama olmadan güvenli kuşatmalar kullanmayı destekleyen istemci sürücüsü sürümleri hakkında bilgi için bkz. Güvenli kuşatmalarla Always Encrypted kullanarak uygulama geliştirme.

VBS'nin çalıştığını doğrulama

Not

Bu adım SQL Server bilgisayar yöneticisi tarafından gerçekleştirilmelidir.

VBS'nin çalışıp çalışmadığını denetlemek için, msinfo32.exe çalıştırarak Sistem Bilgileri aracını açın ve Sistem Özeti'nin alt kısmındaki Virtualization-based security öğelerini bulun.

Sanallaştırma tabanlı güvenlik durumunu ve yapılandırmasını gösteren Sistem Bilgilerinin ekran görüntüsü.

Denetlenecek ilk öğe, aşağıdaki üç değere sahip olabilecek Virtualization-based securityöğesidir:

  • Running, VBS'nin doğru yapılandırıldığı ve başarıyla başlatıldığı anlamına gelir.
  • Enabled but not running VBS'nin çalışacak şekilde yapılandırıldığı, ancak donanımın VBS'yi çalıştırmak için en düşük güvenlik gereksinimlerine sahip olmadığı anlamına gelir. IOMMU gibi isteğe bağlı işlemci özelliklerini etkinleştirmek için BIOS veya UEFI'deki donanımın yapılandırmasını değiştirmeniz gerekebilir veya donanım gerçekten gerekli özellikleri desteklemiyorsa VBS güvenlik gereksinimlerini düşürmeniz gerekebilir. Daha fazla bilgi edinmek için bu bölümü okumaya devam edin.
  • Not enabled, VBS'nin çalışacak şekilde yapılandırılmamış olduğu anlamına gelir.

VBS'yi etkinleştirme

VBS etkin değilse, etkinleştirmek için yükseltilmiş bir PowerShell konsolunda aşağıdaki komutu çalıştırın.

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 1

Kayıt defterini değiştirdikten sonra SQL Server bilgisayarını yeniden başlatın ve VBS'nin yeniden çalışıp çalışmadığını denetleyin.

VBS'yi etkinleştirmenin diğer yolları için bkz. Kod bütünlüğü için sanallaştırma tabanlı korumayı etkinleştirme.

Çalışmıyorsa VBS'i çalıştır

VBS bilgisayarda çalışmadığı halde etkinleştirildiyse, Virtualization-based security özelliklerini kontrol edin. Required Security Properties öğesindeki değerleri Available Security Properties öğesindeki değerlerle karşılaştırın. Gerekli özellikler, VBS'nin çalışması için kullanılabilir güvenlik özelliklerine eşit veya bir alt kümesi olmalıdır. Güvenlik özellikleri aşağıdaki öneme sahiptir:

  • hiper yöneticiyi çalıştırmak için gereken en düşük donanım özelliklerini temsil ettiği için Base virtualization support her zaman gereklidir.
  • Secure Boot önerilir ancak gerekli değildir. Güvenli Önyükleme, UEFI başlatma tamamlandıktan hemen sonra Microsoft imzalı bir önyükleme yükleyicisi gerektirerek rootkit'lere karşı koruma sağlar.
  • DMA Protection önerilir ancak gerekli değildir. DMA koruması, VBS'yi ve yerleşik bellekleri doğrudan bellek erişim saldırılarından korumak için bir IOMMU kullanır. Üretim ortamında her zaman DMA korumasına sahip bilgisayarları kullanmanız gerekir. Geliştirme veya test ortamında DMA koruması gereksinimini kaldırmak sorun değildir. SQL Server örneği sanallaştırılmışsa, büyük olasılıkla kullanılabilir DMA korumasına sahip olmazsınız ve VBS'nin çalışması gereksinimini kaldırmanız gerekir.

VBS gerekli güvenlik özelliklerini düşürmeden önce, UEFI veya BIOS'ta eksik platform gereksinimlerini etkinleştirmenin bir yolu olup olmadığını (örneğin, Güvenli Önyükleme, Intel VT-d veya AMD IOV'yi etkinleştirme) onaylamak için OEM'inize veya bulut hizmeti sağlayıcınıza danışın.

VBS için gerekli platform güvenlik özelliklerini değiştirmek için yükseltilmiş bir PowerShell konsolunda aşağıdaki komutu çalıştırın:

# Value 1 = Only Secure Boot is required
# Value 2 = Only DMA protection is required (default configuration)
# Value 3 = Both Secure Boot and DMA protection are required
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name RequirePlatformSecurityFeatures -Value 1

Kayıt defterini değiştirdikten sonra SQL Server bilgisayarını yeniden başlatın ve VBS'nin yeniden çalışıp çalışmadığını denetleyin.

Bilgisayar şirketiniz tarafından yönetiliyorsa, Grup İlkesi veya Microsoft Endpoint Manager yeniden başlatıldıktan sonra bu kayıt defteri anahtarlarına yaptığınız değişiklikleri geçersiz kılabilir. VBS yapılandırmanızı yöneten ilkeleri dağıtıp dağıtmadıklarını görmek için BT yardım masanıza başvurun.

Sonraki adımlar