Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server 2019 (15.x) a novější – jenom Windows
Tento článek popisuje, jak zaregistrovat počítače s SQL Serverem k otestování ve službě Strážce hostitele (HGS).
Poznámka
Proces registrace SQL Serveru do služby HGS vyžaduje společné úsilí správce služby HGS a správce počítače s SQL Serverem. Viz role a zodpovědnosti při konfiguraci ověřování pomocí služby HGS.
Než začnete, ujistěte se, že jste nasadili aspoň jeden počítač HGS a nastavili službu ověřování HGS. Další informace najdete v tématu Nasazení služby Strážce hostitele pro SQL Server.
Krok 1: Instalace komponent klienta ověření identity
Poznámka
Tento krok by měl provést správce počítače s SQL Serverem.
Aby mohl klient SQL ověřit, že komunikuje s důvěryhodným počítačem s SQL Serverem, musí počítač s SQL Serverem úspěšně ověřit pomocí služby Strážce hostitele. Proces ověření identity spravuje volitelná komponenta Systému Windows, která se nazývá klient HGS. Následující postup vám pomůže nainstalovat tuto komponentu a začít s testováním.
Ujistěte se, že počítač s SQL Serverem splňuje požadavky uvedené v dokumentaci k plánování služby HGS.
Spuštěním následujícího příkazu v konzole PowerShellu se zvýšenými oprávněními nainstalujte funkci podpora strážce hostitele Hyper-V, která obsahuje klienta HGS a komponenty ověření identity.
Enable-WindowsOptionalFeature -Online -FeatureName HostGuardian -All
Dokončete instalaci restartováním.
Krok 2: Ověření spuštění zabezpečení na základě virtualizace
Poznámka
Tento krok by měl provést správce počítače s SQL Serverem.
Když nainstalujete funkci podpory strážce hostitele Hyper-V, zabezpečení na základě virtualizace (VBS) se automaticky nakonfiguruje a povolí.
Enklávy pro SQL Server Always Encrypted jsou chráněny a spouštěné v prostředí VBS.
VBS se nemusí spustit, pokud počítač nemá nainstalované a povolené zařízení IOMMU.
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. Pokud počítač zobrazuje tento stav, můžete přeskočit na krok 3. -
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í. Funkce Host Guardian Hyper-V automaticky povolí VBS, takže pokud vidíte tento stav, doporučujeme zopakování kroku 1.
Pokud v počítači není spuštěný skript VBS, zkontrolujte Virtualization-based security
vlastnosti. Porovnejte hodnoty v Required Security Properties
položce s hodnotami v Available Security Properties
položce.
Požadované vlastnosti musí být rovny nebo tvořit podmnožinu dostupných vlastností zabezpečení, aby bylo možné VBS spustit.
V kontextu ověřování enkláv SQL Serveru mají vlastnosti zabezpečení 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 pro SQL Server Always Encrypted. 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. Pokud používáte osvědčování čipem TPM (Trusted Platform Module), bude povolení funkce Secure Boot měřeno a vynucováno bez ohledu na to, jestli je VBS nakonfigurována k vyžadování funkce Secure Boot. -
DMA Protection
se doporučuje, ale nevyžaduje se pro SQL Server Always Encrypted. 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. V vývojovém/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. Projděte si model důvěryhodnosti , kde najdete informace o nižších zárukách zabezpečení při spuštění na virtuálním počítači.
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 0 = No security features required
# 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 0
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.
Krok 3: Konfigurace adresy URL ověření identity
Poznámka
Tento krok by měl provést správce počítače s SQL Serverem.
Dále nakonfigurujete počítač s SQL Serverem s adresou URL pro službu ověřování HGS, kterou jste získali od správce služby HGS.
V konzole PowerShellu se zvýšenými oprávněními aktualizujte a spusťte následující příkaz, který nakonfiguruje adresu URL ověření identity.
- Nahrazení
hgs.bastion.local
názvem clusteru HGS - Název clusteru můžete získat spuštěním
Get-HgsServer
na libovolném počítači HGS. - Adresa URL ověření identity by měla vždy končit
/Attestation
- SQL Server nevyuží funkce ochrany klíčů služby HGS, takže zadejte libovolnou fiktivní adresu URL, jako je
http://localhost
k-KeyProtectionServerUrl
Set-HgsClientConfiguration -AttestationServerUrl "https://hgs.bastion.local/Attestation" -KeyProtectionServerUrl "http://localhost"
Pokud jste tento počítač předtím nezaregistrovali do služby HGS, příkaz hlásí selhání ověření identity. Tento výsledek je normální.
Pole AttestationMode
ve výstupu rutiny označuje, který režim ověření identity používá služba HGS.
Přejděte ke kroku 4A pro registraci počítače v režimu TPM nebo ke kroku 4B pro registraci počítače v režimu klíče hostitele.
Krok 4A: Registrace počítače v režimu TPM
Poznámka
Tento krok provádí společně správce počítače s SQL Serverem a správceM služby HGS. Podrobnosti najdete v následujících poznámkách.
Připravit
Poznámka
Tuto akci by měl provést správce počítače s SQL Serverem.
V tomto kroku shromáždíte informace o stavu čipu TPM počítače a zaregistrujete ho v HGS.
Pokud je služba ověřování HGS nakonfigurována pro použití režimu klíče hostitele, přejděte místo toho ke kroku 4B.
Než začnete shromažďovat měření TPM, ujistěte se, že pracujete na ověřené spolehlivé konfiguraci počítače s SQL Serverem. Počítač by měl mít nainstalovaný veškerý potřebný hardware a nainstalované nejnovější aktualizace firmwaru a softwaru. HGS měří počítače vůči této referenční úrovni při jejich ověřování, a je důležité být v co možná nejbezpečnějším a zamýšleném stavu při shromažďování měření TPM.
Pro ověření identity TPM se shromažďují tři datové soubory, z nichž některé se dají znovu použít, pokud máte identicky nakonfigurované počítače.
Artefakt ověření identity | Co měří | Jedinečnost |
---|---|---|
Identifikátor platformy | Veřejný ověřovací klíč v čipu TPM počítače a certifikát ověřovacího klíče od výrobce čipu TPM. | 1 pro každý počítač |
Základní úroveň TPM | Registra řízení platformy (PCR) v čipu TPM, které měří firmware a konfiguraci operačního systému načtenou během procesu spouštění. Mezi příklady patří stav zabezpečeného spouštění a to, zda jsou zašifrované chybové výpisy. | Jeden směrný plán na jedinečnou konfiguraci počítače (stejný hardware a software může používat stejný směrný plán) |
Zásady integrity kódu | Zásady řízení aplikací v programu Windows Defender, kterým důvěřujete za účelem ochrany počítačů. | Jedna pro každou unikátní zásadu CI nasazenou na počítačích. |
Ve službě HGS můžete nakonfigurovat více než jeden artefakt ověření identity, který podporuje smíšenou flotilu hardwaru a softwaru. Služba HGS vyžaduje, aby počítač, který ověřuje, odpovídal jedné zásadě z každé kategorie zásad. Pokud máte například tři zaregistrované základny TPM v HGS, měření počítače mohou odpovídat kterékoli z těchto základen pro splnění požadavků zásad.
Konfigurace zásad integrity kódu
Poznámka
Tento postup by měl provést správce počítače s SQL Serverem.
Služba HGS vyžaduje, aby každý počítač, který provádí atestaci v režimu TPM, měl uplatněnou zásadu řízení aplikací Windows Defenderu (WDAC). Zásady integrity kódu WDAC omezují, který software může běžet na počítači, kontrolou každého procesu, který se pokouší spustit kód na seznamu důvěryhodných vydavatelů a hodnot hash souborů. V případě použití SQL Serveru jsou enklávy chráněny zabezpečením založeným na virtualizaci a nelze je upravovat z hostitelského operačního systému, takže striktnost zásad WDAC nemá vliv na zabezpečení šifrovaných dotazů. Proto se doporučuje nasadit zásadu režimu auditování do počítačů s SQL Serverem tak, aby splňovala požadavek na ověření identity, aniž byste v systému uložili další omezení.
Pokud už v počítačích používáte vlastní zásady integrity kódu WDAC k posílení konfigurace operačního systému, můžete přeskočit na Shromáždit informace o ověření identity TPM.
Na všech windows Serverech 2019, Windows 10 verze 1809 a novějších verzích jsou k dispozici předem připravené ukázkové zásady. Zásady
AllowAll
umožňují spuštění libovolného softwaru na počítači bez omezení. Pokud chcete zásadu použít, převeďte ji na binární formulář, kterému rozumí operační systém a HGS. V konzole PowerShellu se zvýšenými oprávněními spusťte následující příkazy ke kompilaci zásadAllowAll
:# We are changing the policy to disable enforcement and user mode code protection before compiling $temppolicy = "$HOME\Desktop\allowall_edited.xml" Copy-Item -Path "$env:SystemRoot\schemas\CodeIntegrity\ExamplePolicies\AllowAll.xml" -Destination $temppolicy Set-RuleOption -FilePath $temppolicy -Option 0 -Delete Set-RuleOption -FilePath $temppolicy -Option 3 ConvertFrom-CIPolicy -XmlFilePath $temppolicy -BinaryFilePath "$HOME\Desktop\allowall_cipolicy.bin"
Postupujte podle pokynů v průvodci nasazením Řízení aplikací v programu Windows Defender nasazení souboru
allowall_cipolicy.bin
do počítačů s SQL Serverem pomocí zásad skupiny. Pro počítače pracovní skupiny použijte stejný postup pomocí Editoru místních zásad skupiny (gpedit.msc
).Spuštěním
gpupdate /force
na počítačích s SQL Serverem nakonfigurujte nové zásady integrity kódu a restartujte počítače, aby se zásady použily.
Shromáždění informací o atestaci TPM
Poznámka
Tento postup by měl provést správce počítače s SQL Serverem.
Opakujte následující kroky pro každý počítač s SQL Serverem, který bude otestovat pomocí služby HGS:
Pokud je počítač ve známém dobrém stavu, spusťte v PowerShellu následující příkazy, které shromáždí informace o ověření identity TPM:
# Collects the TPM EKpub and EKcert $name = $env:computername $path = "$HOME\Desktop" (Get-PlatformIdentifier -Name $name).Save("$path\$name-EK.xml") # Collects the TPM baseline (current PCR values) Get-HgsAttestationBaselinePolicy -Path "$path\$name.tcglog" -SkipValidation # Collects the applied CI policy, if one exists Copy-Item -Path "$env:SystemRoot\System32\CodeIntegrity\SIPolicy.p7b" -Destination "$path\$name-CIpolicy.bin"
Nasdílejte tři soubory ověření identity s správcem služby HGS.
Registrace počítače s SQL Serverem v HGS
Poznámka
Tento postup by měl provést správce služby HGS.
Opakujte následující kroky pro každý počítač s SQL Serverem, který bude otestovat pomocí služby HGS:
Zkopírujte soubory ověření identity, které jste získali od správce počítače s SQL Serverem, na server HGS.
Na serveru HGS spusťte v konzole PowerShellu se zvýšenými oprávněními následující příkazy, které zaregistrují počítač s SQL Serverem:
# TIP: REMEMBER TO CHANGE THE FILENAMES # Registers the unique TPM with HGS (required for every computer) Add-HgsAttestationTpmHost -Path "C:\temp\SQL01-EK.xml" # Registers the TPM baseline (required ONCE for each unique hardware and software configuration) Add-HgsAttestationTpmPolicy -Name "MyHWSoftwareConfig" -Path "C:\temp\SQL01.tcglog" # Registers the CI policy (required ONCE for each unique CI policy) Add-HgsAttestationCiPolicy -Name "AllowAll" -Path "C:\temp\SQL01-CIpolicy.bin"
Spropitné
Pokud dojde k chybě při pokusu o registraci jedinečného identifikátoru TPM, ujistěte se, že jste importovali zprostředkující a kořenové certifikáty TPM na počítači HGS, který používáte.
Kromě identifikátoru platformy, standardních hodnot TPM a zásad integrity kódu jsou předdefinované zásady nakonfigurované a vynucované službou HGS, které možná budete muset změnit. Tyto předdefinované zásady se měří od standardních hodnot čipu TPM, které shromažďujete ze serveru, a představují různá nastavení zabezpečení, která by měla být povolená pro ochranu počítače. Pokud máte nějaké počítače, které nemají K dispozici ioMMU pro ochranu před útoky DMA (například virtuální počítač), budete muset zásadu IOMMU zakázat.
Pokud chcete požadavek ioMMU zakázat, spusťte na serveru HGS následující příkaz:
Disable-HgsAttestationPolicy Hgs_IommuEnabled
Poznámka
Pokud zakážete zásady IOMMU, IOMMU nebudou vyžadovány pro žádný počítač prokazující kompatibilitu se službou HGS. Zásady IOMMU není možné zakázat jenom pro jeden počítač.
Seznam registrovaných hostitelů a zásad TPM můžete zkontrolovat pomocí následujících příkazů PowerShellu:
Get-HgsAttestationTpmHost
Get-HgsAttestationTpmPolicy
Krok 4B: Registrace počítače v režimu klíče hostitele
Poznámka
Tento krok provádí společně správce počítače s SQL Serverem a správceM služby HGS. Podrobnosti najdete v následujících poznámkách.
Tento krok vás provede procesem vygenerování jedinečného klíče pro hostitele a jeho registrace v HGS. Pokud je služba ověřování HGS nakonfigurovaná tak, aby používala režim TPM, postupujte podle pokynů v kroku 4A.
Vygenerování klíče pro počítač s SQL Serverem
Poznámka
Tuto část by měl provést společně správce počítače s SQL Serverem.
Ověření identity klíče hostitele funguje tak, že vygeneruje asymetrický pár klíčů na počítači s SQL Serverem a poskytne HGS veřejnou polovinu tohoto klíče.
Opakujte následující kroky pro každý počítač s SQL Serverem, který bude otestovat pomocí služby HGS:
Pokud chcete vygenerovat pár klíčů, spusťte v konzole PowerShellu se zvýšenými oprávněními následující příkaz:
Set-HgsClientHostKey Get-HgsClientHostKey -Path "$HOME\Desktop\$env:computername-key.cer"
Pokud jste už vytvořili klíč hostitele a chcete vygenerovat nový pár klíčů, použijte místo toho následující příkazy:
Remove-HgsClientHostKey Set-HgsClientHostKey Get-HgsClientHostKey -Path "$HOME\Desktop\$env:computername-key.cer"
Soubor certifikátu můžete sdílet se správcem služby HGS.
Registrace počítače s SQL Serverem v HGS
Poznámka
Tento postup by měl provést správce služby HGS.
Opakujte následující kroky pro každý počítač s SQL Serverem, který bude otestovat pomocí služby HGS:
Zkopírujte soubor certifikátu, který jste získali od správce počítače s SQL Serverem, na server HGS.
Spuštěním následujícího příkazu v konzole PowerShellu se zvýšenými oprávněními zaregistrujte počítač s SQL Serverem:
Add-HgsAttestationHostKey -Name "YourComputerName" -Path "C:\temp\yourcomputername.cer"
Krok 5: Potvrzení, že hostitel může úspěšně prokázat svou platnost
Poznámka
Tento krok by měl provést správce počítače s SQL Serverem.
Po registraci počítače s SQL Serverem ve službě HGS (krok 4A pro režim TPM, krok 4B pro režim klíče hostitele), měli byste potvrdit, že je schopen úspěšně provést atestaci.
Konfiguraci klienta ověření identity služby HGS můžete zkontrolovat a provést pokus o ověření identity kdykoli pomocí Get-HgsClientConfiguration.
Výstup příkazu bude vypadat přibližně takto:
PS C:\> Get-HgsClientConfiguration
IsHostGuarded : True
Mode : HostGuardianService
KeyProtectionServerUrl : http://localhost
AttestationServerUrl : http://hgs.bastion.local/Attestation
AttestationOperationMode : HostKey
AttestationStatus : Passed
AttestationSubstatus : NoInformation
FallbackKeyProtectionServerUrl :
FallbackAttestationServerUrl :
IsFallbackInUse : False
Dvě nejdůležitější pole ve výstupu jsou AttestationStatus
, což vám řekne, jestli počítač prošel ověřením identity, a AttestationSubStatus
, což vysvětluje, které zásady počítač nesplnil, pokud selhal při ověření identity.
Nejběžnější hodnoty, které se mohou objevit v AttestationStatus
jsou vysvětleny níže:
AttestationStatus |
Vysvětlení |
---|---|
Vypršela platnost | Hostitel prošel dříve attestací, ale platnost vydaného certifikátu zdraví vypršela. Ujistěte se, že se synchronizuje čas hostitele a HGS. |
InsecureHostConfiguration |
Počítač nesplňuje jednu nebo více zásad ověření identity nakonfigurovaných na serveru HGS. Další informace najdete v tématu AttestationSubStatus . |
Nenakonfigurováno | Počítač není nakonfigurovaný s adresou URL ověření identity. Konfigurace adresy URL pro ověření |
Prošel | Počítač prošel atestací a je důvěryhodný pro spuštění enklávy serveru SQL. |
TransientError |
Pokus o ověření identity selhal kvůli dočasné chybě. Tato chyba obvykle znamená, že došlo k problému s kontaktováním služby HGS přes síť. Zkontrolujte síťové připojení a ujistěte se, že počítač dokáže přeložit a směrovat na název služby HGS. |
TpmError |
Zařízení TPM počítače oznámilo chybu během pokusu o ověření identity. Další informace najdete v protokolech TPM. Vymazání čipu TPM může tento problém vyřešit, ale před vymazáním čipu TPM je potřeba pozastavit BitLocker a další služby, které se na čipu TPM spoléhají. |
UnauthorizedHost |
Klíč hostitele není známý službě HGS. Podle pokynů v kroku 4B zaregistrujte počítač v HGS. |
Když AttestationStatus
zobrazí InsecureHostConfiguration
, pole AttestationSubStatus
se naplní jedním nebo více názvy zásad, které selhaly.
Následující tabulka vysvětluje nejběžnější hodnoty a způsob nápravy chyb.
AttestationSubStatus | Co to znamená a co dělat |
---|---|
Zásady integrity kódu | Zásady integrity kódu v počítači nejsou zaregistrovány ve službě HGS nebo, počítač aktuálně nepoužívá žádné zásady integrity kódu. Pokyny najdete v tématu Konfigurace zásad integrity kódu. |
DumpsEnabled | Počítač je nakonfigurovaný tak, aby povoloval výpisy paměti, ale zásada Hgs_DumpsEnabled výpisy nepovoluje. Zakažte výpisy paměti na tomto počítači nebo zakažte zásadu Hgs_DumpsEnabled, aby pokračovala. |
FullBoot | Počítač se obnovil ze stavu spánku nebo hibernace, což vede ke změnám měření čipu TPM. Restartujte počítač, aby se vygenerovaly čisté měření TPM. |
Povolená hibernace | Počítač je nakonfigurovaný tak, aby umožňoval hibernaci s nešifrovanými soubory hibernace. Pokud chcete tento problém vyřešit, zakažte v počítači režim hibernace. |
Pravidla integrity kódu vynucená hypervizorem | Počítač není nakonfigurovaný tak, aby používal zásady integrity kódu. Zkontrolujte zásady skupiny nebo místní zásady skupiny > Konfigurace počítače > Šablony pro správu > Systém > Device Guard > Zapnout zabezpečení na bázi virtualizace > Ochrana integrity kódu na bázi virtualizace. Tato položka zásady by měla být povolená bez zámku UEFI. |
Iommu | Tento počítač nemá povolené zařízení IOMMU. Pokud se jedná o fyzický počítač, povolte ioMMU v nabídce konfigurace UEFI. Pokud se jedná o virtuální počítač a ioMMU není k dispozici, spusťte na serveru HGS Disable-HgsAttestationPolicy Hgs_IommuEnabled . |
SecureBoot | V tomto počítači není povolené zabezpečené spouštění. Tuto chybu vyřešíte povolením zabezpečeného spouštění v nabídce konfigurace UEFI. |
VirtualSecureMode | Na tomto počítači není spuštěno zabezpečení na základě virtualizace. Postupujte podle pokynů v kroku 2: Ověřte, že v počítačiběží VBS. |