Bagikan melalui


Merencanakan Always Encrypted dengan enklave aman di SQL Server tanpa pengesahan

Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru - Hanya Windows

Menyiapkan Always Encrypted dengan enklave aman di SQL Server tanpa pengesahan menyediakan cara mudah untuk memulai dengan fitur. Namun, ketika Anda menggunakan enklave aman di lingkungan produksi, perlu diingat tingkat perlindungan terhadap administrator OS dikurangi tanpa pengesahan. Misalnya, jika admin OS berbahaya yang dirusak dengan pustaka SQL Server yang berjalan di dalam enklave, aplikasi klien tidak akan dapat mendeteksinya. Jika Anda khawatir tentang serangan tersebut, pertimbangkan untuk menyiapkan pengesahan dengan Layanan Wali Host. Untuk informasi selengkapnya, lihat Merencanakan pengesahan Layanan Wali Host.

Di SQL Server, Always Encrypted dengan enklave aman menggunakan enklave Keamanan berbasis virtualisasi (VBS) (juga dikenal sebagai Mode Aman Virtual, atau enklave VSM) - teknologi berbasis perangkat lunak yang bergantung pada hypervisor Windows dan tidak memerlukan perangkat keras khusus.

Catatan

Ketika SQL Server disebarkan dalam VM, enklave VBS membantu melindungi data Anda dari serangan di dalam VM. Namun, mereka tidak memberikan perlindungan apa pun dari serangan menggunakan akun sistem istimewa yang berasal dari host. Misalnya, cadangan memori VM yang dihasilkan pada komputer host mungkin berisi memori enklave.

Prasyarat

Komputer yang menjalankan SQL Server harus memenuhi Persyaratan untuk Menginstal SQL Server dan persyaratan perangkat keras Hyper-V.

Persyaratan ini meliputi:

  • SQL Server 2019 (15.x) atau yang lebih baru

  • Windows 10 atau yang lebih baru atau Windows Server 2019 atau yang lebih baru.

  • Dukungan CPU untuk teknologi virtualisasi:

    • Intel VT-x dengan Tabel Halaman yang Diperluas.
    • AMD-V dengan Pengindeksan Virtualisasi Cepat.
    • Jika Anda menjalankan SQL Server di VM:
      • Di Azure, gunakan ukuran VM Generasi 2 (disarankan) atau gunakan ukuran VM Generasi 1 dengan virtualisasi berlapis diaktifkan. Periksa dokumentasi ukuran VM individual untuk menentukan ukuran VM Generasi 1 mana yang mendukung virtualisasi berlapis.
      • Pada Hyper-V 2016 atau yang lebih baru (di luar Azure), pastikan VM Anda adalah VM Generasi 2 (disarankan) atau VM Generasi 1 dengan virtualisasi berlapis diaktifkan. Untuk informasi selengkapnya, lihat Haruskah saya membuat komputer virtual generasi 1 atau 2 di Hyper-V? dan Mengonfigurasi virtualisasi berlapis.
      • Pada VMware vSphere 6.7 atau yang lebih baru, aktifkan dukungan keamanan berbasis virtualisasi untuk VM seperti yang dijelaskan dalam dokumentasi VMware.
      • Hypervisor dan cloud publik lainnya dapat mendukung kemampuan virtualisasi berlapis yang memungkinkan Always Encrypted dengan Enklave VBS juga. Periksa dokumentasi solusi virtualisasi Anda untuk kompatibilitas dan instruksi konfigurasi.
  • Keamanan berbasis virtualisasi (VBS) harus diaktifkan dan dijalankan.

Persyaratan alat

Persyaratan driver klien

Untuk informasi tentang versi driver klien yang mendukung penggunaan enklave aman tanpa pengesahan, lihat Mengembangkan aplikasi menggunakan Always Encrypted dengan enklave aman.

Memverifikasi bahwa VBS sedang berjalan

Catatan

Langkah ini harus dilakukan oleh administrator komputer SQL Server.

Untuk memeriksa apakah VBS berjalan, buka alat Informasi Sistem dengan menjalankan msinfo32.exe dan menemukan Virtualization-based security item di bagian bawah Ringkasan Sistem.

Screenshot of System Information showing virtualization-based security status and configuration.

Item pertama yang harus diperiksa adalah Virtualization-based security, yang dapat memiliki tiga nilai berikut:

  • Running berarti VBS dikonfigurasi dengan benar dan berhasil dimulai.
  • Enabled but not running berarti VBS dikonfigurasi untuk dijalankan, tetapi perangkat keras tidak memiliki persyaratan keamanan minimum untuk menjalankan VBS. Anda mungkin perlu mengubah konfigurasi perangkat keras di BIOS atau UEFI untuk mengaktifkan fitur prosesor opsional seperti IOMMU atau, jika perangkat keras benar-benar tidak mendukung fitur yang diperlukan, Anda mungkin perlu menurunkan persyaratan keamanan VBS. Lanjutkan membaca bagian ini untuk mempelajari lebih lanjut.
  • Not enabled berarti VBS tidak dikonfigurasi untuk dijalankan.

Aktifkan VBS

Jika VBS tidak diaktifkan, jalankan perintah berikut di konsol PowerShell yang ditinggikan untuk mengaktifkannya.

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

Setelah mengubah registri, mulai ulang komputer SQL Server dan periksa apakah VBS berjalan lagi.

Untuk cara lain mengaktifkan VBS, lihat Mengaktifkan perlindungan integritas kode berbasis virtualisasi.

Jalankan VBS jika tidak berjalan

Jika VBS diaktifkan dengan tidak berjalan di komputer, periksa Virtualization-based security properti. Bandingkan nilai dalam Required Security Properties item dengan nilai dalam Available Security Properties item. Properti yang diperlukan harus sama dengan atau subset properti keamanan yang tersedia untuk dijalankan VBS. Properti keamanan memiliki kepentingan berikut:

  • Base virtualization support selalu diperlukan, karena mewakili fitur perangkat keras minimum yang diperlukan untuk menjalankan hypervisor.
  • Secure Boot disarankan tetapi tidak diperlukan. Boot Aman melindungi dari rootkit dengan mengharuskan bootloader yang ditandatangani Microsoft untuk segera berjalan setelah inisialisasi UEFI selesai.
  • DMA Protection disarankan tetapi tidak diperlukan. Perlindungan DMA menggunakan IOMMU untuk melindungi VBS dan memori enklave dari serangan akses memori langsung. Di lingkungan produksi, Anda harus selalu menggunakan komputer dengan perlindungan DMA. Di lingkungan pengembangan atau pengujian, tidak apa-apa untuk menghapus persyaratan untuk perlindungan DMA. Jika instans SQL Server divirtualisasi, Kemungkinan besar Anda tidak akan memiliki perlindungan DMA yang tersedia dan perlu menghapus persyaratan agar VBS berjalan.

Sebelum menurunkan fitur keamanan yang diperlukan VBS, tanyakan kepada OEM atau penyedia layanan cloud Anda untuk mengonfirmasi apakah ada cara untuk mengaktifkan persyaratan platform yang hilang di UEFI atau BIOS (misalnya, mengaktifkan Boot Aman, Intel VT-d atau AMD IOV).

Untuk mengubah fitur keamanan platform yang diperlukan untuk VBS, jalankan perintah berikut di konsol PowerShell yang ditinggikan:

# 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

Setelah mengubah registri, mulai ulang komputer SQL Server dan periksa apakah VBS berjalan lagi.

Jika komputer dikelola oleh perusahaan Anda, Kebijakan Grup, atau Microsoft Endpoint Manager dapat mengambil alih perubahan apa pun yang Anda buat pada kunci registri ini setelah memulai ulang. Hubungi staf dukungan TI Anda untuk melihat apakah mereka menyebarkan kebijakan yang mengelola konfigurasi VBS Anda.

Langkah berikutnya