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.
Tento článek popisuje požadavky na certifikáty pro SQL Server a postup kontroly, jestli certifikát splňuje tyto požadavky.
Požadavky na certifikáty pro šifrování SQL Serveru
Pro použití protokolu TLS (Transport Layer Security) pro šifrování SQL Serveru musíte zřídit certifikát (jeden ze tří digitálních typů), který splňuje následující podmínky:
Certifikát musí být v úložišti certifikátů místního počítače nebo v úložišti certifikátů účtu služby SQL Server. Doporučujeme úložiště certifikátů místního počítače, protože zabraňuje změně konfigurace certifikátů pomocí změn spouštěcího účtu SQL Serveru.
Účet služby SQL Serveru musí mít potřebná oprávnění pro přístup k certifikátu TLS. Další informace naleznete v tématu Šifrování připojení k SQL Serveru importem certifikátu.
Aktuální systémový čas musí být za hodnotou vlastnosti Platný od a před hodnotou vlastnosti Platný do certifikátu. Další informace najdete v tématu Certifikáty s vypršenou platností.
Poznámka:
Certifikát musí být určený pro ověřování serveru. K zadání ověřování serveru (1.3.6.1.5.5.5.7.3.1) to vyžaduje vlastnost Rozšířené použití klíče certifikátu.
Certifikát musí být vytvořen pomocí
KeySpecmožnostiAT_KEYEXCHANGE. To vyžaduje certifikát, který k uložení privátního klíče používá staršího zprostředkovatele kryptografického úložiště . Vlastnost použití klíče certifikátu (KEY_USAGE) obvykle zahrnuje také šifrování klíče (CERT_KEY_ENCIPHERMENT_KEY_USAGE) a digitální podpis (CERT_DIGITAL_SIGNATURE_KEY_USAGE).Alternativní název subjektu by měl obsahovat všechny názvy, které mohou klienti použít pro připojení k instanci SQL Serveru.
Klient musí být schopen ověřit vlastnictví certifikátu používaného serverem. Pokud má klient certifikát veřejného klíče certifikační autority, která certifikát serveru podepsala, není nutná žádná další konfigurace. Systém Microsoft Windows obsahuje certifikáty veřejného klíče mnoha certifikačních autorit. Pokud certifikát serveru podepsala veřejná nebo soukromá certifikační autorita, pro kterou klient nemá certifikát veřejného klíče, musíte nainstalovat certifikát veřejného klíče certifikační autority, která certifikát serveru podepsala na každém klientovi, který se připojí k SQL Serveru.
Důležité
SQL Server se nespustí, pokud v úložišti počítačů existuje certifikát, ale splňuje jenom některé požadavky v seznamu výše a pokud je ručně nakonfigurovaný pro použití nástrojem SQL Server Configuration Manager nebo prostřednictvím položek registru. Vyberte jiný certifikát, který splňuje všechny požadavky, nebo odeberte certifikát z používání SQL Serverem, dokud nebudete moct zřídit certifikát, který splňuje příslušné požadavky, nebo použijte samopodepsaný certifikát vygenerovaný SQL Serverem, jak je popsáno v samopodepsaných certifikátech generovaných SQL Serverem.
Skupina dostupnosti AlwaysOn
Pokud je vaše instance SQL Serveru součástí skupiny dostupnosti AlwaysOn, můžete k vytvoření certifikátu použít jednu z následujících metod:
Metoda 1: Pro všechny repliky skupiny dostupnosti použijte jeden certifikát. Běžný název je libovolný, takže může být libovolná hodnota zástupného symbolu. Název hostitele a plně kvalifikovaný název domény všech replik SQL Serveru ve skupině dostupnosti a názvy naslouchacího procesu skupiny dostupnosti by měly být zahrnuty do alternativního názvu certifikátu subjektu . Pokud se do skupiny dostupnosti po vygenerování původního certifikátu přidají další repliky, musí se certifikát znovu vygenerovat s názvy všech replik a znovu naimportovat do každé repliky. Certifikát musí být také importován do úložiště certifikátů na všech klientech, kteří se připojují k replice skupiny dostupnosti nebo naslouchacímu procesu skupiny dostupnosti, pokud certifikát není podepsaný veřejnou nebo oficiální certifikační autoritou (CA). Pokud do certifikátu nezadáte repliky skupiny dostupnosti a názvy naslouchacího procesu, musíte do hodnoty připojovacího řetězce zahrnout jednu z hodnot alternativního názvu
HostNameInCertificatesubjektu nebo cestu k certifikátu vServerCertificatehodnotách připojovacího řetězce při připojování ke skupině dostupnosti. Doporučeným přístupem je zadání názvů v certifikátu.Následuje příklad vlastností, které definují správně nakonfigurovaný certifikát pro skupinu dostupnosti se dvěma pojmenovanými
test1.<your company>.comtest2.<your company>.comservery a a naslouchací proces skupiny dostupnosti s názvemaglistener.<your company>.com:CN = <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name = aglistener.<your company>.com DNS Name = test1.<your company>.com DNS Name = test2.<your company>.com DNS Name = aglistener DNS Name = test1 DNS Name = test2Metoda 2: Pro každou repliku skupiny dostupnosti použijte samostatný certifikát. Přidání replik do skupiny dostupnosti po vygenerování certifikátu je jednodušší při použití samostatných certifikátů, protože stačí vygenerovat certifikát pouze pro novou repliku, a ne upravovat všechny certifikáty na všech existujících replikách. Běžný název je libovolný, takže může být libovolná hodnota zástupného symbolu. Název hostitele a plně kvalifikovaný název domény příslušné instance SQL Serveru a názvy naslouchacího procesu skupiny dostupnosti musí být zahrnuty do alternativního názvu subjektu certifikátu pro každou příslušnou repliku. Naimportujte každý certifikát do příslušné repliky, a pokud certifikát není podepsaný veřejnou nebo oficiální certifikační autoritou (CA), importujtevšechny certifikáty do všech úložišť certifikátů na všech klientech, kteří se připojují k replikám, nebo naslouchacímu procesu skupiny dostupnosti.
Následují příklady vlastností, které definují správně nakonfigurované certifikáty pro skupinu dostupnosti se dvěma pojmenovanými
test1.<your company>.cominstancemi atest2.<your company>.coma naslouchacím procesem skupiny dostupnosti s názvemaglistener.<your company>.com:Certifikát při testu1:
CN= <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name= test1.<your company>.com DNS Name= aglistener.<your company>.com DNS Name= aglistener DNS Name= test1Certifikát při testu2:
CN= <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name= test2.<your company>.com DNS Name= aglistener.<your company>.com DNS Name= aglistener DNS Name= test2
Instance clusteru pro převzetí služeb při selhání
Pokud je SQL Server nakonfigurovaný jako instance clusteru s podporou převzetí služeb při selhání, musíte nainstalovat certifikát serveru s názvem hostitele nebo plně kvalifikovaným názvem DNS (FQDN) virtuálního serveru na všech uzlech v clusteru s podporou převzetí služeb při selhání. a certifikáty musí být zřízeny na všech uzlech clusteru s podporou převzetí služeb při selhání. Pokud máte například cluster se dvěma uzly s pojmenovanými test1.<your company>.com uzly a test2.<your company>.comvirtuálním serverem s názvem virtsql, musíte na oba uzly nainstalovat certifikát virtsql.<your company>.com .
Importujte certifikát do clusteru s podporou převzetí služeb při selhání v posloupnosti popsané v části Konfigurace databázového stroje SQL Serveru pro šifrování připojení.
Následuje příklad vlastností, které definují správně nakonfigurovaný certifikát pro instanci clusteru s podporou převzetí služeb při selhání:
CN = virtsql.<your company>.com
DNS Name = virtsql.<your company>.com
DNS Name = virtsql
Další informace o clusterech SQL najdete v tématu Před instalací clusteringu s podporou převzetí služeb při selhání.
Kontrola, jestli certifikát splňuje požadavky
V SQL Serveru 2019 (15.x) a novějších verzích SQL Server Configuration Manager automaticky ověří všechny požadavky na certifikát během samotné fáze konfigurace. Pokud se SQL Server po nakonfigurování certifikátu úspěšně spustí, je to dobrým indikátorem toho, že SQL Server může tento certifikát použít. Některé klientské aplikace ale můžou mít i další požadavky na certifikáty, které se dají použít k šifrování, a v závislosti na používané aplikaci může docházet k různým chybám. V tomto scénáři je potřeba zkontrolovat dokumentaci podpory klientské aplikace, kde najdete další informace o předmětu.
K ověření platnosti certifikátu pro použití s SQL Serverem můžete použít jednu z následujících metod:
nástroj sqlcheck:
sqlcheckje nástroj příkazového řádku, který zkoumá aktuální nastavení počítače a služebních účtů a vytváří textovou zprávu do okna konzole, která je užitečná pro řešení různých chyb připojení. Výstup obsahuje následující informace týkající se certifikátů:Details for SQL Server Instance: This Certificate row in this section provides more details regarding the certificate being used by SQL Server (Self-generated, hard-coded thumbprint value, etc.). Certificates in the Local Computer MY Store: This section shows detailed information regarding all the certificates found in the computer certificate store.Další informace o možnostech nástroje a pokyny ke stažení najdete v tématu Vítá vás wikiweb CSS_SQL_Networking_Tools.
Nástroj certutil:
certutil.exeje program příkazového řádku nainstalovaný jako součást Certificate Services. K výpisu a zobrazení informací o certifikátu můžete použít certutil.exe.-vPomocí možnosti získáte podrobné informace. Další informace najdete v tématu certutil.Modul snap-in Certifikáty: K zobrazení dalších informací o certifikátech v různých úložištích certifikátů v počítači můžete také použít okno modul snap-in Certifikáty . Tento nástroj ale nezobrazuje
KeySpecinformace. Další informace o zobrazení certifikátů pomocí modulu snap-in konzoly MMC naleznete v tématu Postupy: Zobrazení certifikátů pomocí modulu snap-in konzoly MMC.
Import certifikátu s jiným názvem názvu hostitele
V současné době můžete importovat pouze certifikát pomocí nástroje SQL Server Configuration Manager, pokud název subjektu certifikátu odpovídá názvu hostitele počítače.
Pokud chcete použít certifikát s jiným názvem subjektu, postupujte takto:
Importujte certifikát do úložiště certifikátů místního počítače pomocí modulu snap-in Certifikáty.
V nástroji SQL Server Configuration Manager rozbalte položku Konfigurace sítě systému SQL Server pravým tlačítkem myši na instanci systému SQL Server a potom zvolte Vlastnosti a otevřete dialogové okno Protokoly pro <instance_name> Vlastnosti .
Na kartě Certifikát vyberte certifikát, který jste importovali do úložiště certifikátů, z rozevíracího seznamu Certifikát :
Import certifikátu s jiným názvem názvu hostitele způsobí následující chybovou zprávu:
The selected certificate name does not match FQDN of this hostname. This property is required by SQL Server
Certificate name: random-name
Computer name: sqlserver.domain.com
Certifikáty s vypršenou platností
SQL Server kontroluje platnost certifikátů pouze v době konfigurace. Například pro zřízení certifikátu s vypršenou platností nemůžete použít SQL Server Configuration Manager na SQL Serveru 2019 (15.x) a novějších verzích. SQL Server bude pokračovat v běhu bez problémů, pokud platnost certifikátu vyprší poté, co je již zřízen. Některé klientské aplikace, jako je Power BI, ale zkontrolují platnost certifikátu u každého připojení a v případě, že je instance SQL Serveru nakonfigurovaná tak, aby používala certifikát s vypršenou platností pro šifrování, vyvolá chybu. Pro šifrování SQL Serveru doporučujeme nepoužívat certifikát s vypršenou platností.
Další krok
- Nakonfigurujte databázový stroj SQL Serveru tak, aby šifrovali připojení importem certifikátu.