Principy změn v kořenové certifikační autoritě pro službu Azure SQL Database a spravovanou instanci SQL
Azure SQL Database a SQL Managed Instance změní kořenový certifikát pro klientskou aplikaci nebo ovladač s povoleným protokolem SSL (Secure Sockets Layer) nebo TLS (Transport Layer Security) sloužícím k navázání zabezpečeného připojení TDS. Aktuální kořenový certifikát je nastavený na vypršení platnosti 26. října 2020 jako součást standardních osvědčených postupů údržby a zabezpečení. Tento článek obsahuje další podrobnosti o nadcházejících změnách, prostředcích, které budou ovlivněny, a o krocích potřebných k zajištění toho, aby vaše aplikace udržovala připojení k vašemu databázovému serveru.
K jaké aktualizaci dojde?
Fórum pro prohlížeč certifikační autority (CA) nedávno publikovalo zprávy o více certifikátech vydaných dodavateli certifikační autority, které nedodržují předpisy.
Podle požadavků na dodržování předpisů v oboru začali dodavatelé certifikační autority odvolat certifikáty certifikační autority pro nekompatibilní certifikační autority, které vyžadují, aby servery používaly certifikáty vydané certifikačními autoritami a podepsané certifikáty certifikační autority od certifikačních autorit vyhovujících certifikačním autoritám. Vzhledem k tomu, že Azure SQL Database a SQL Managed Instance v současné době používají jeden z těchto certifikátů nedodržovaných předpisů, které klientské aplikace používají k ověření připojení TLS, musíme zajistit, aby se provedly příslušné akce (popsané níže), abychom minimalizovali potenciální dopad na vaše servery Azure SQL.
Nový certifikát se použije od 26. října 2020. Pokud při připojování z klienta SQL (TrustServerCertificate=false) použijete úplné ověření certifikátu serveru, musíte zajistit, aby váš klient SQL mohl ověřit nový kořenový certifikát před 26. říjnem 2020.
Návody vědět, jestli může být ovlivněná moje aplikace?
Všechny aplikace, které používají protokol SSL/TLS a ověřují, že kořenový certifikát musí aktualizovat kořenový certifikát, aby se mohly připojit ke službě Azure SQL Database a Azure SQL Managed Instance.
Pokud aktuálně nepoužíváte protokol SSL/TLS, nemá to žádný vliv na dostupnost vaší aplikace. Ověření, jestli se klientská aplikace pokouší ověřit kořenový certifikát, najdete v připojovací řetězec. Pokud je hodnota TrustServerCertificate explicitně nastavená na hodnotu true, nebudete ovlivněni.
Pokud váš klientský ovladač využívá úložiště certifikátů operačního systému, protože většina ovladačů dělá a váš operační systém tuto změnu pravidelně udržuje, pravděpodobně vás neovlivní, protože kořenový certifikát, na který přecházíme, by už měl být dostupný ve vašem úložišti důvěryhodných kořenových certifikátů. Zkontrolujte kořenový adresář Baltimore CyberTrust a DigiCert GlobalRoot G2 a ověřte, že je k dispozici.
Pokud váš klientský ovladač využívá úložiště certifikátů místních souborů, aby se zabránilo přerušení dostupnosti vaší aplikace kvůli neočekávaně odvolaným certifikátům nebo aktualizaci certifikátu, který byl odvolán, najdete v části Co je potřeba udělat, aby se zachovalo připojení.
Co je potřeba udělat, aby se zachovalo připojení
Chcete-li zabránit přerušení dostupnosti vaší aplikace kvůli neočekávanému odvolání certifikátů nebo aktualizaci certifikátu, který byl odvolán, postupujte takto:
Stáhněte si Baltimore CyberTrust Root &DigiCert GlobalRoot G2 Root CA:
Vygenerujte kombinované úložiště certifikátů certifikační autority s certifikáty BaltimoreCyberTrustRoot i DigiCertGlobalRootG2.
Jaký to může mít dopad?
Pokud ověřujete certifikáty serveru, jak je uvedeno tady, může být dostupnost vaší aplikace přerušena, protože databáze nebude dostupná. V závislosti na vaší aplikaci můžete obdržet celou řadu chybových zpráv, mezi které patří mimo jiné:
- Neplatný certifikát nebo odvolaný certifikát
- Vypršel časový limit připojení
- Chyba, pokud je k dispozici
Nejčastější dotazy
Pokud nepoužívám protokol SSL/TLS, musím pořád aktualizovat kořenovou certifikační autoritu?
Pokud nepoužíváte PROTOKOL SSL/TLS, nevyžadují se žádné akce týkající se této změny. Přesto byste měli nastavit plán pro zahájení používání nejnovější verze protokolu TLS, protože plánujeme vynucování protokolu TLS v blízké budoucnosti.
Co se stane, když kořenový certifikát neaktualizujem před 26. říjnem 2020?
Pokud kořenový certifikát neaktualizujete před 30. listopadem 2020, vaše aplikace, které se připojují přes PROTOKOL SSL/TLS a ověření kořenového certifikátu nebudou moct komunikovat se službou Azure SQL Database a spravovanou instancí SQL Database a aplikace bude mít problémy s připojením k vaší službě Azure SQL Database a sql Managed Instance.
Musím pro tuto změnu naplánovat výpadek údržby?
Ne. Vzhledem k tomu, že změna je pouze na straně klienta pro připojení k serveru, pro tuto změnu není potřeba žádný výpadek údržby.
Co když nemůžu získat naplánovaný výpadek této změny před 26. říjnem 2020?
Vzhledem k tomu, že klienti, kteří se používají pro připojení k serveru, musí aktualizovat informace o certifikátu, jak je popsáno v této části opravy, nemusíme v tomto případě pro server prostojit.
Pokud vytvořím nový server po 30. listopadu 2020, bude to mít vliv na mě?
U serverů vytvořených po 26. říjnu 2020 můžete pro své aplikace použít nově vydaný certifikát pro připojení pomocí protokolu SSL/TLS.
Jak často Microsoft aktualizuje své certifikáty nebo jaké jsou zásady vypršení platnosti?
Tyto certifikáty používané službou Azure SQL Database a spravovanou instancí SQL poskytují důvěryhodné certifikační autority (CA). Proto je podpora těchto certifikátů ve službě Azure SQL Database a SQL Managed Instance svázaná s podporou těchto certifikátů certifikační autoritou. Stejně jako v tomto případě však v těchto předdefinovaných certifikátech mohou existovat nepředvídatelné chyby, které je potřeba nejdříve opravit.
Pokud používám repliky pro čtení, musím tuto aktualizaci provést jenom na primárním serveru nebo na všech replikách pro čtení?
Vzhledem k tomu, že tato aktualizace je změna na straně klienta, pokud klient použitý ke čtení dat ze serveru repliky potřebuje změny použít i pro tyto klienty.
Máme dotaz na straně serveru, abychom ověřili, jestli se používá SSL/TLS?
Vzhledem k tomu, že tato konfigurace je na straně klienta, nejsou na straně serveru k dispozici informace.
Co když mám další otázky?
Pokud máte plán podpory a potřebujete technickou pomoc, vytvořte podpora Azure žádost, viz Postup vytvoření podpora Azure žádosti.