Plán pro Always Encrypted se zabezpečenými enklávy v SQL Serveru bez attestace
platí pro: SQL Server 2019 (15.x) a novější – jenom Windows
Nastavení Always Encrypted se zabezpečenými enklávy na SQL Serveru bez ověření identity poskytuje snadný způsob, jak začít s funkcí. Pokud však používáte zabezpečené enklávy v produkčním prostředí, mějte na paměti, že úroveň ochrany před správci operačního systému se sníží bez ověření identity. Pokud například správce operačního systému se zlými úmysly manipuloval s knihovnou SQL Serveru spuštěnou uvnitř enklávy, klientská aplikace ji nedokáže rozpoznat. Pokud máte obavy o takové útoky, zvažte nastavení ověření pomocí služby Strážce hostitele. Další informace naleznete v plánu pro attestaci služby Host Guardian Service.
Funkce Always Encrypted se zabezpečenými enklávami v SQL Serveru používá enklávy založené na virtualizaci (VBS) (také známé jako enklávy VSM, nebo virtuální zabezpečený režim) – softwarovou technologii, která spoléhá na hypervisor Windows a nevyžaduje žádný speciální hardware.
Poznámka
Když je SQL Server nasazený na virtuálním počítači, enklávy VBS pomáhají chránit vaše data před útoky uvnitř virtuálního počítače. Neposkytují však žádnou ochranu před útoky pomocí privilegovaných systémových účtů pocházejících z hostitele. Například výpis paměti virtuálního počítače vygenerovaného na hostitelském počítači může obsahovat paměť enklávy.
Požadavky
Počítače se systémem SQL Server musí splňovat jak požadavky pro instalaci SQL Serveru, tak požadavky na hardware Hyper-V.
Mezi tyto požadavky patří:
SQL Server 2019 (15.x) nebo novější
Windows 10 nebo novější nebo Windows Server 2019 nebo novější.
Podpora procesoru pro virtualizační technologie:
- Intel VT-x s rozšířenými stránkovacími tabulkami.
- AMD-V s rychlým indexováním virtualizace.
- Pokud na virtuálním počítači používáte SQL Server:
- V Azure použijte velikost virtuálního počítače generace 2 (doporučeno) nebo použijte velikost virtuálního počítače 1. generace s povolenou vnořenou virtualizací. Projděte si dokumentaci k velikosti jednotlivých virtuálních počítačů a zjistěte, které velikosti virtuálních počítačů generace 1 podporují vnořenou virtualizaci.
- V Hyper-V 2016 nebo novějším (mimo Azure) se ujistěte, že je váš virtuální počítač 2. generace (doporučeno) nebo že se jedná o virtuální počítač 1. generace s povolenou vnořenou virtualizací. Další informace najdete v tématu Mám vytvořit virtuální počítač generace 1 nebo 2 v Hyper-V? a Konfigurace vnořené virtualizace.
- V prostředí VMware vSphere 6.7 nebo novější povolte podporu zabezpečení na základě virtualizace pro virtuální počítač, jak je popsáno v dokumentaci VMware.
- Ostatní hypervisory a veřejné cloudy můžou podporovat vnořené virtualizační funkce, které umožňují funkci Always Encrypted s enklávy VBS. V dokumentaci k řešení virtualizace zkontrolujte kompatibilitu a pokyny ke konfiguraci.
Zabezpečení na základě virtualizace (VBS) musí být povolené a spuštěné.
Požadavky na nástroje
Požadavky na klientský ovladač
Informace o verzích klientských ovladačů, které podporují používání zabezpečených enkláv bez ověření identity, najdete v tématu Vývoj aplikací pomocí funkce Always Encrypted se zabezpečenými enklávy.
Ověřte, že je VBS spuštěný
Poznámka
Tento krok by měl provést správce počítače s SQL Serverem.
Pokud chcete zkontrolovat, jestli je VBS spuštěný, otevřete nástroj Systémové informace spuštěním msinfo32.exe
a vyhledejte Virtualization-based security
položky v dolní části souhrnu systému.
První položka, která se má zkontrolovat, je Virtualization-based security
, která může mít následující tři hodnoty:
-
Running
znamená, že je služba VBS správně nakonfigurovaná a úspěšně se spustila. -
Enabled but not running
znamená, že služba VBS je nakonfigurovaná tak, aby běžela, ale hardware nemá minimální požadavky na zabezpečení pro spouštění VBS. Možná budete muset změnit konfiguraci hardwaru v systému BIOS nebo UEFI, aby bylo možné povolit volitelné funkce procesoru, jako je ioMMU, nebo pokud hardware skutečně nepodporuje požadované funkce, možná budete muset snížit požadavky na zabezpečení VBS. Další informace najdete v této části. -
Not enabled
znamená, že služba VBS není nakonfigurovaná pro spuštění.
Povolení VBS
Pokud služba VBS není povolená, povolte ji spuštěním následujícího příkazu v konzole PowerShellu se zvýšenými oprávněními.
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 1
Po změně registru restartujte počítač s SQL Serverem a zkontrolujte, jestli je databáze VBS spuštěná znovu.
Další způsoby povolení služby VBS najdete v tématu Povolení ochrany integrity kódu na základě virtualizace.
Pokud není spuštěný, spusťte VBS.
Pokud není služba VBS spuštěna na počítači, zkontrolujte vlastnosti Virtualization-based security
. Porovnejte hodnoty v Required Security Properties
položce s hodnotami v Available Security Properties
položce. Požadované vlastnosti musí být stejné nebo podmnožinou dostupných vlastností zabezpečení, aby bylo možné VBS spustit. Vlastnosti zabezpečení mají následující důležitost:
-
Base virtualization support
se vždy vyžaduje, protože představuje minimální hardwarové funkce potřebné ke spuštění hypervisoru. -
Secure Boot
se doporučuje, ale nevyžaduje se. Zabezpečené spouštění chrání před rootkity tím, že vyžaduje spuštění spouštěcího zavaděče podepsaného Microsoftem ihned po dokončení inicializace rozhraní UEFI. -
DMA Protection
se doporučuje, ale nevyžaduje se. Ochrana DMA používá ioMMU k ochraně VBS a enkláv paměti před přímým přístupem k paměti. V produkčním prostředí byste měli vždy používat počítače s ochranou DMA. Ve vývojovém nebo testovacím prostředí je v pořádku odebrat požadavek na ochranu DMA. Pokud je instance SQL Serveru virtualizovaná, pravděpodobně nebudete mít k dispozici ochranu DMA a budete muset odebrat požadavek na spuštění VBS.
Před snížením požadovaných funkcí zabezpečení VBS se obraťte na poskytovatele OEM nebo cloudové služby a ověřte, jestli existují způsoby povolení chybějících požadavků na platformu v UEFI nebo BIOS (například povolení zabezpečeného spouštění, Intel VT-d nebo AMD IOV).
Pokud chcete změnit požadované funkce zabezpečení platformy pro VBS, spusťte v konzole PowerShellu se zvýšenými oprávněními následující příkaz:
# 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
Po změně registru restartujte počítač s SQL Serverem a zkontrolujte, jestli je databáze VBS spuštěná znovu.
Pokud počítač spravuje vaše společnost, zásady skupiny nebo Microsoft Endpoint Manager můžou po restartování přepsat všechny změny, které v těchto klíčích registru provedete. Obraťte se na helpdesk IT a zjistěte, jestli nasazují zásady, které spravují vaši konfiguraci VBS.
Další kroky
- Jakmile budete mít jistotu, že vaše prostředí splňuje výše uvedené požadavky, přečtěte si téma Konfigurace zabezpečené enklávy v SQL Serveru.