MariaDB için Azure Veritabanı için Kök CA değişikliğindeki değişiklikleri anlama

Önemli

MariaDB için Azure Veritabanı kullanımdan kaldırılıyor. MySQL için Azure Veritabanı geçiş yapmanızı kesinlikle öneririz. MySQL için Azure Veritabanı geçiş hakkında daha fazla bilgi için bkz. MariaDB için Azure Veritabanı ne oluyor?.

Standart bakım ve güvenlik en iyi yöntemleri kapsamında MariaDB için Azure veritabanı, Kök sertifika değişikliğini Mart 2023'den itibaren tamamlayacaktır. Bu makalede değişiklikler, etkilenen kaynaklar ve uygulamanızın veritabanı sunucunuzla bağlantıyı sürdürmesini sağlamak için gereken adımlar hakkında daha fazla bilgi verilmektedir.

Dekont

Bu makalede, Microsoft'un artık kullanmadığı köle terimi geçmektedir. Terim yazılımdan kaldırıldığında, bu makaleden kaldıracağız.

Kök sertifika güncelleştirmesi neden gereklidir?

MariaDB için Azure Veritabanı kullanıcılar yalnızca burada bulunan MariaDB sunucularına bağlanmak için önceden tanımlanmış sertifikayı kullanabilir. Ancak, Sertifika Yetkilisi (CA) Tarayıcı forumu yakın zamanda CA satıcıları tarafından uyumsuz olarak verilen birden çok sertifikanın raporlarını yayımladı.

Endüstrinin uyumluluk gereksinimlerine göre, CA satıcıları uyumlu olmayan CA'lar için CA sertifikalarını iptal etmeye başladı, sunucuların uyumlu CA'lar tarafından verilen ve bu uyumlu CA'lardan CA sertifikaları tarafından imzalanan sertifikaları kullanmasını gerektirerek. MariaDB için Azure Veritabanı bu uyumlu olmayan sertifikalardan birini kullandığından, MySQL sunucularınıza yönelik olası tehdidi en aza indirmek için sertifikayı uyumlu sürüme döndürmemiz gerekiyordu.

Bağlantıyı sürdürmek için istemcimde herhangi bir değişiklik yapmam gerekiyor mu?

Aşağıdaki Birleşik CA sertifikası oluşturma bölümünde belirtilen adımları izlediyseniz BaltimoreCyberTrustRoot sertifikası birleşik CA sertifikasından kaldırılmadığı sürece bağlanmaya devam edebilirsiniz. Bağlantıyı korumak için BaltimoreCyberTrustRoot'u bir sonraki bildirime kadar birleşik CA sertifikanızda tutmanızı öneririz.

Birleşik CA sertifikası oluşturma

  • BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 CA'sini aşağıdaki bağlantılardan indirin:

  • Hem BaltimoreCyberTrustRoot hem de DigiCertGlobalRootG2 sertifikaları dahil olmak üzere birleşik bir CA sertifika deposu oluşturun.

    • Java (MariaDB Bağlan or/J) kullanıcıları için şunları yürütebilirsiniz:

      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
      

      Ardından özgün keystore dosyasını yeni oluşturulan dosyayla değiştirin:

      • System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
      • System.setProperty("javax.net.ssl.trustStorePassword","password");
    • .NET (MariaDB Bağlan or/NET, MariaDB Bağlan or) kullanıcıları için BaltimoreCyberTrustRoot ve DigiCertGlobalRootG2'nin Windows Sertifika Deposu, Güvenilen Kök Sertifika Yetkilileri'nde mevcut olduğundan emin olun. Herhangi bir sertifika yoksa, eksik sertifikayı içeri aktarın.

      Azure Database for MariaDB .net cert

    • SSL_CERT_DIR kullanan Linux üzerindeki .NET kullanıcıları için BaltimoreCyberTrustRoot ve DigiCertGlobalRootG2'nin her ikisinin de SSL_CERT_DIR tarafından belirtilen dizinde bulunduğundan emin olun. Herhangi bir sertifika yoksa, eksik sertifika dosyasını oluşturun.

    • Diğer (MariaDB İstemcisi/MariaDB Workbench/C/C++/Go/Python/Ruby/PHP/NodeJS/Perl/Swift) kullanıcıları için aşağıdaki biçimdeki gibi iki CA sertifika dosyasını birleştirebilirsiniz

    -----BEGIN CERTIFICATE-----
    (Root CA1: BaltimoreCyberTrustRoot.crt.pem)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Root CA2: DigiCertGlobalRootG2.crt.pem)
    -----END CERTIFICATE-----
    
  • Özgün kök CA pem dosyasını birleştirilmiş kök CA dosyasıyla değiştirin ve uygulamanızı/istemcinizi yeniden başlatın.

  • Gelecekte, sunucu tarafında dağıtılan yeni sertifikadan sonra CA pem dosyanızı DigiCertGlobalRootG2.crt.pem olarak değiştirebilirsiniz.

SSL/TLS kullanmıyorsam kök CA'yı güncelleştirmem gerekiyor mu?

SSL/TLS kullanmıyorsanız hiçbir eylem gerekmez.

BaltimoreCyberTrustRoot sertifikasını kaldırırsak ne olur?

MariaDB için Azure Veritabanı sunucunuza bağlanırken bağlantı hatalarına başlarsınız. Bağlantıyı sürdürmek için BaltimoreCyberTrustRoot sertifikasıyla SSL'yi yeniden yapılandırmanız gerekir.

Sık sorulan sorular

1. SSL/TLS kullanmıyorsam kök CA'yı güncelleştirmem gerekiyor mu?

SSL/TLS kullanmıyorsanız hiçbir eylem gerekmez.

2. SSL/TLS kullanıyorsam, kök CA'yı güncelleştirmek için veritabanı sunucumu yeniden başlatmam gerekiyor mu?

Hayır, yeni sertifikayı kullanmaya başlamak için veritabanı sunucusunu yeniden başlatmanız gerekmez. Sertifika güncelleştirmesi istemci tarafında yapılan bir değişikliktir ve gelen istemci bağlantılarının veritabanı sunucusuna bağlanabilmesi için yeni sertifikayı kullanması gerekir.

3. Kök sertifika doğrulaması ile SSL/TLS kullanıp kullanmadığımı Nasıl yaparım? biliyor musunuz?

bağlantı dizesi gözden geçirerek bağlantılarınızın kök sertifikayı doğrulayıp doğrulamadığını belirleyebilirsiniz.

  • bağlantı dizesi veya sslmode=verify-identityiçeriyorsa sslmode=verify-ca sertifikayı güncelleştirmeniz gerekir.
  • bağlantı dizesi , , sslmode=allowsslmode=preferveya sslmode=requireiçeriyorsa sslmode=disablesertifikaları güncelleştirmeniz gerekmez.
  • bağlantı dizesi sslmode belirtmiyorsa sertifikaları güncelleştirmeniz gerekmez.

bağlantı dizesi soyutlayan bir istemci kullanıyorsanız, sertifikaları doğrulayıp doğrulamadığını anlamak için istemcinin belgelerini gözden geçirin.

4. App Service'i MariaDB için Azure Veritabanı ile kullanmanın etkisi nedir?

MariaDB için Azure Veritabanı'a bağlanan Azure uygulama hizmetlerinde, uygulamanızla SSL'yi nasıl kullandığınıza bağlı olarak iki olası senaryo vardır.

  • Bu yeni sertifika, platform düzeyinde App Service'e eklendi. Uygulamanızda App Service platformuna dahil edilen SSL sertifikalarını kullanıyorsanız herhangi bir işlem yapmanız gerekmez. Bu en yaygın senaryodur.
  • Kodunuzda SSL sertifika dosyasının yolunu açıkça dahil ediyorsanız, yeni sertifikayı indirmeniz ve kodu yeni sertifikayı kullanacak şekilde güncelleştirmeniz gerekir. App Service belgelerinde paylaşılan şekilde App Service'te özel kapsayıcılar kullanmanız bu senaryoya iyi bir örnektir. Bu yaygın olmayan bir senaryodur ancak bazı kullanıcıların bunu kullandığını gördük.

5. Azure Kubernetes Services'i (AKS) MariaDB için Azure Veritabanı ile kullanmanın etkisi nedir?

Azure Kubernetes Services (AKS) kullanarak MariaDB için Azure Veritabanı bağlanmaya çalışıyorsanız, ayrılmış bir müşteri konak ortamından erişime benzer. Buradaki adımlara bakın.

6. MariaDB için Azure Veritabanı bağlanmak için Azure Data Factory kullanıyorsanız bunun etkisi nedir?

Azure Integration Runtime kullanan bağlayıcı için bağlayıcı, Azure tarafından barındırılan ortamdaki Windows Sertifika Deposu'ndaki sertifikaları kullanır. Bu sertifikalar yeni uygulanan sertifikalarla zaten uyumludur ve bu nedenle herhangi bir eylem gerekmez.

bağlantı dizesi SSL sertifika dosyasının yolunu açıkça eklediğiniz Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanı'nı kullanan bağlayıcı için yeni sertifikayı indirmeniz ve kullanmak üzere bağlantı dizesi güncelleştirmeniz gerekir.

7. Bu değişiklik için veritabanı sunucusu bakım kapalı kalma süresini planlamam gerekiyor mu?

Hayır. Buradaki değişiklik yalnızca veritabanı sunucusuna bağlanmak için istemci tarafında olduğundan, bu değişiklik için veritabanı sunucusu için bakım kapalı kalma süresi gerekmez.

8. Microsoft sertifikalarını ne sıklıkta güncelleştirir veya süre sonu ilkesi nedir?

MariaDB için Azure Veritabanı tarafından kullanılan bu sertifikalar güvenilen Sertifika Yetkilileri (CA) tarafından sağlanır. Bu nedenle, bu sertifikaların desteği CA tarafından bu sertifikaların desteğine bağlıdır. BaltimoreCyberTrustRoot sertifikasının süresi 2025'te dolacak şekilde zamanlanmıştır, bu nedenle Microsoft'un süresi dolmadan önce bir sertifika değişikliği gerçekleştirmesi gerekir.

9. Okuma amaçlı çoğaltmalar kullanıyorsam bu güncelleştirmeyi yalnızca kaynak sunucuda mı yoksa okuma amaçlı çoğaltmalarda mı gerçekleştirmem gerekiyor?

Bu güncelleştirme bir istemci tarafı değişikliği olduğundan, istemci çoğaltma sunucusundan verileri okurken kullandıysa, bu istemciler için de değişiklikleri uygulamanız gerekir.

10. Veri çoğaltması kullanıyorsam herhangi bir eylem gerçekleştirmem gerekiyor mu?

  • Veri çoğaltma bir sanal makineden (şirket içi veya Azure sanal makinesi) MySQL için Azure Veritabanı ise, çoğaltmayı oluşturmak için SSL kullanılıp kullanılmadığını denetlemeniz gerekir. SHOW SLAVE STATUS komutunu çalıştırın ve aşağıdaki ayarı denetleyin.

    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
    

MySQL için Azure Veritabanı bağlanmak için Data-in çoğaltması kullanıyorsanız göz önünde bulundurmanız gereken iki şey vardır:

  • Veri çoğaltma bir sanal makineden (şirket içi veya Azure sanal makinesi) MySQL için Azure Veritabanı ise, çoğaltmayı oluşturmak için SSL kullanılıp kullanılmadığını denetlemeniz gerekir. SHOW SLAVE STATUS komutunu çalıştırın ve aşağıdaki ayarı denetleyin.

    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
    

    sertifikanın CA_file, SSL_Cert ve SSL_Key için sağlandığını görürseniz, yeni sertifikayı ekleyerek dosyayı güncelleştirmeniz ve birleştirilmiş bir sertifika dosyası oluşturmanız gerekir.

  • Veri çoğaltma iki MySQL için Azure Veritabanı arasındaysa, CALL mysql.az_replication_change_master yürüterek çoğaltmayı sıfırlamanız ve son parametre master_ssl_ca olarak yeni çift kök sertifikayı sağlamanız gerekir.

11. SSL'nin kullanılıp kullanılmadığını doğrulamak için sunucu tarafı sorgumuz var mı?

Sunucuya bağlanmak için SSL bağlantısı kullanıp kullanmadığınızı doğrulamak için SSL doğrulamasına bakın.

12. Sertifika dosyamda zaten DigiCertGlobalRootG2 varsa bir eylem gerekiyor mu?

Hayır. Sertifika dosyanızda zaten DigiCertGlobalRootG2 varsa herhangi bir eylem gerekmez.

13. Başka sorularım varsa ne olacak?

Sorularınız varsa Microsoft Q&A'daki topluluk uzmanlarından yanıt alın. Destek planınız varsa ve teknik yardıma ihtiyacınız varsa bizimle iletişime geçin.