Sdílet prostřednictvím


Principy změn v změně kořenové certifikační autority pro Azure Database for MariaDB

Důležité

Azure Database for MariaDB je na cestě vyřazení. Důrazně doporučujeme migrovat do služby Azure Database for MySQL. Další informace o migraci na Azure Database for MySQL najdete v tématu Co se děje se službou Azure Database for MariaDB?.

Azure Database for MariaDB v rámci standardní údržby a osvědčených postupů zabezpečení dokončí změnu kořenového certifikátu od března 2023. Tento článek obsahuje další podrobnosti o změnách, ovlivněných prostředcích a krocích potřebných k zajištění toho, aby vaše aplikace udržovala připojení k databázovému serveru.

Poznámka:

Tento článek obsahuje odkazy na termín slave (podřízený) , což je termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.

Proč se vyžaduje aktualizace kořenového certifikátu?

Uživatelé Služby Azure Database for MariaDB můžou použít pouze předdefinovaný certifikát pro připojení k serveru MariaDB, který se nachází tady. Fórum prohlížeče certifikační autority (CA) však 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 služba Azure Database for MariaDB používala jeden z těchto nekompatibilních certifikátů, museli jsme certifikát otočit na vyhovující verzi, abychom minimalizovali potenciální hrozbu pro vaše servery MySQL.

Musím v klientovi udělat nějaké změny, aby se zachovalo připojení?

Pokud jste postupovali podle kroků uvedených v části Vytvoření kombinovaného certifikátu certifikační autority níže, můžete se i nadále připojovat, dokud se certifikát BaltimoreCyberTrustRoot neodebere z kombinovaného certifikátu certifikační autority. Pokud chcete zachovat připojení, doporučujeme zachovat BaltimoreCyberTrustRoot v kombinovaném certifikátu certifikační autority až do dalšího oznámení.

Vytvoření kombinovaného certifikátu certifikační autority

  • Stáhněte si BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 CA z odkazů níže:

  • Vygenerujte kombinované úložiště certifikátů certifikační autority s certifikáty BaltimoreCyberTrustRoot i DigiCertGlobalRootG2.

    • Pro uživatele Javy (MariaDB Připojení or/J) spusťte:

      keytool -importcert -alias MariaDBServerCACert  -file D:\BaltimoreCyberTrustRoot.crt.pem  -keystore truststore -storepass password -noprompt
      
      keytool -importcert -alias MariaDBServerCACert2  -file D:\DigiCertGlobalRootG2.crt.pem -keystore truststore -storepass password  -noprompt
      

      Potom nahraďte původní soubor úložiště klíčů novým vygenerovaným souborem:

      • System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
      • System.setProperty("javax.net.ssl.trustStorePassword","password");
    • Pro uživatele rozhraní .NET (MariaDB Připojení or/NET, MariaDB Připojení or) se ujistěte, že v úložišti certifikátů Windows existují obě důvěryhodné kořenové certifikační autority BaltimoreCyberTrustRoot a DigiCertGlobalRootG2. Pokud nějaké certifikáty neexistují, naimportujte chybějící certifikát.

      Azure Database for MariaDB .net cert

    • Pro uživatele .NET v Linuxu používajících SSL_CERT_DIR se ujistěte, že v adresáři označeném SSL_CERT_DIR existují oba uživatelé .NET a DigiCertGlobalRootG2. Pokud nějaké certifikáty neexistují, vytvořte chybějící soubor certifikátu.

    • Pro ostatní uživatele (MariaDB Client/MariaDB Workbench/C/C++/Go/Python/Ruby/PHP/NodeJS/Perl/Swift) můžete sloučit dva soubory certifikátů certifikační autority, jako je tento formát níže.

    -----BEGIN CERTIFICATE-----
    (Root CA1: BaltimoreCyberTrustRoot.crt.pem)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Root CA2: DigiCertGlobalRootG2.crt.pem)
    -----END CERTIFICATE-----
    
  • Nahraďte původní soubor pem kořenové certifikační autority sloučeným kořenovým souborem CA a restartujte aplikaci nebo klienta.

  • V budoucnu můžete po nasazení nového certifikátu na straně serveru změnit soubor pem certifikační autority na DigiCertGlobalRootG2.crt.pem.

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.

Co když jsme odebrali certifikát BaltimoreCyberTrustRoot?

Při připojování k serveru Azure Database for MariaDB se začnete připojovat k chybám připojení. Abyste zachovali připojení, budete muset znovu nakonfigurovat SSL s certifikátem BaltimoreCyberTrustRoot .

Nejčastější dotazy

1. 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.

2. Pokud používám protokol SSL/TLS, musím restartovat databázový server, aby se aktualizovala kořenová certifikační autorita?

Ne, abyste mohli začít používat nový certifikát, nemusíte restartovat databázový server. Aktualizace certifikátu je změna na straně klienta a příchozí klientská připojení musí používat nový certifikát, aby se zajistilo, že se můžou připojit k databázovému serveru.

3. Návody vědět, jestli používám SSL/TLS s ověřením kořenového certifikátu?

Pokud chcete zjistit, jestli připojení ověřují kořenový certifikát, zkontrolujte připojovací řetězec.

  • Pokud váš připojovací řetězec obsahuje sslmode=verify-ca nebo sslmode=verify-identity, musíte certifikát aktualizovat.
  • Pokud vaše připojovací řetězec zahrnuje sslmode=disable, sslmode=allow, sslmode=prefernebo sslmode=require, nemusíte aktualizovat certifikáty.
  • Pokud váš připojovací řetězec neurčuje sslmode, nemusíte aktualizovat certifikáty.

Pokud používáte klienta, který abstrahuje připojovací řetězec pryč, projděte si dokumentaci klienta a zjistěte, jestli ověřuje certifikáty.

4. Jaký dopad má použití služby App Service se službou Azure Database for MariaDB?

V případě aplikačních služeb Azure, které se připojují ke službě Azure Database for MariaDB, existují dva možné scénáře v závislosti na tom, jak s aplikací používáte SSL.

  • Tento nový certifikát byl přidán do služby App Service na úrovni platformy. Pokud ve vaší aplikaci používáte certifikáty SSL zahrnuté na platformě služby App Service, není potřeba žádná akce. Toto je nejběžnější scénář.
  • Pokud do kódu explicitně zahrnete cestu k souboru certifikátu SSL, budete muset stáhnout nový certifikát a aktualizovat kód tak, aby používal nový certifikát. Dobrým příkladem tohoto scénáře je použití vlastních kontejnerů ve službě App Service jako sdílené v dokumentaci ke službě App Service. Jedná se o neobvyklý scénář, ale někteří uživatelé to používají.

5. Jaký dopad má použití služeb Azure Kubernetes Services (AKS) se službou Azure Database for MariaDB?

Pokud se pokoušíte připojit ke službě Azure Database for MariaDB pomocí služby Azure Kubernetes Services (AKS), je to podobné přístupu z hostitelského prostředí vyhrazených zákazníků. Postup najdete tady.

6. Jaký dopad má použití služby Azure Data Factory k připojení ke službě Azure Database for MariaDB?

Pro konektor s využitím prostředí Azure Integration Runtime používá konektor certifikáty v úložišti certifikátů Windows v prostředí hostované v Azure. Tyto certifikáty jsou již kompatibilní s nově použitými certifikáty, takže není nutná žádná akce.

Pro konektor pomocí místního prostředí Integration Runtime, kde explicitně zahrnete cestu k souboru certifikátu SSL ve vašem připojovací řetězec, budete muset stáhnout nový certifikát a aktualizovat připojovací řetězec, aby ho mohli používat.

7. Potřebuji pro tuto změnu naplánovat výpadek údržby databázového serveru?

Ne. Vzhledem k tomu, že tato změna je pouze na straně klienta pro připojení k databázovému serveru, není pro tuto změnu potřeba žádný výpadek údržby pro databázový server.

8. Jak často Microsoft aktualizuje své certifikáty nebo jaké jsou zásady vypršení platnosti?

Tyto certifikáty používané službou Azure Database for MariaDB poskytují důvěryhodné certifikační autority (CA). Podpora těchto certifikátů je proto svázaná s podporou těchto certifikátů certifikační autoritou. Platnost certifikátu BaltimoreCyberTrustRoot je naplánovaná na vypršení platnosti v roce 2025, takže Microsoft bude muset provést změnu certifikátu před vypršením platnosti.

9. Pokud používám repliky pro čtení, musím tuto aktualizaci provést pouze na zdrojovém serveru nebo replikách pro čtení?

Vzhledem k tomu, že tato aktualizace je změna na straně klienta, pokud klient používá ke čtení dat ze serveru repliky, budete muset tyto změny použít i pro tyto klienty.

10. Pokud používám replikaci dat, musím provést nějakou akci?

  • Pokud replikace dat pochází z virtuálního počítače (místního nebo virtuálního počítače Azure) do služby Azure Database for MySQL, musíte zkontrolovat, jestli se k vytvoření repliky používá SSL. Spusťte PŘÍKAZ SHOW SLAVE STATUS a zkontrolujte následující nastavení.

    Master_SSL_Allowed            : Yes
    Master_SSL_CA_File            : ~\azure_mysqlservice.pem
    Master_SSL_CA_Path            :
    Master_SSL_Cert               : ~\azure_mysqlclient_cert.pem
    Master_SSL_Cipher             :
    Master_SSL_Key                : ~\azure_mysqlclient_key.pem
    

Pokud k připojení ke službě Azure Database for MySQL používáte replikaci dat, je potřeba vzít v úvahu dvě věci:

  • Pokud replikace dat pochází z virtuálního počítače (místního nebo virtuálního počítače Azure) do služby Azure Database for MySQL, musíte zkontrolovat, jestli se k vytvoření repliky používá SSL. Spusťte PŘÍKAZ SHOW SLAVE STATUS a zkontrolujte následující nastavení.

    Master_SSL_Allowed            : Yes
    Master_SSL_CA_File            : ~\azure_mysqlservice.pem
    Master_SSL_CA_Path            :
    Master_SSL_Cert               : ~\azure_mysqlclient_cert.pem
    Master_SSL_Cipher             :
    Master_SSL_Key                : ~\azure_mysqlclient_key.pem
    

    Pokud uvidíte, že je certifikát k dispozici pro CA_file, SSL_Cert a SSL_Key, budete muset soubor aktualizovat přidáním nového certifikátu a vytvořením kombinovaného souboru certifikátu.

  • Pokud je replikace dat mezi dvěma službami Azure Database for MySQL, budete muset repliku resetovat spuštěním mysql.az_replication_change_master CALL a zadáním nového duálního kořenového certifikátu jako posledního parametru master_ssl_ca.

11. Máme dotaz na straně serveru k ověření, jestli se používá SSL?

Pokud chcete ověřit, jestli pro připojení k serveru používáte připojení SSL, projděte si ověření SSL.

12. Je potřeba provést akci, pokud již mám DigiCertGlobalRootG2 v souboru certifikátu?

Ne. Pokud už soubor certifikátu obsahuje DigiCertGlobalRootG2, není potřeba nic dělat.

13. Co když mám další otázky?

Pokud máte další dotazy, získejte odpovědi od odborníků z komunity prostřednictvím Microsoft Q&A. Pokud máte plán podpory a potřebujete technickou pomoc, kontaktujte nás.