Transport Layer Security (TLS) w usłudze Azure Database for MySQL

Usługa Azure Database for MySQL wymaga, aby wszystkie połączenia klienckie używały protokołu Transport Layer Security (TLS), standardowego protokołu, który szyfruje komunikację między serwerem bazy danych a aplikacjami klienckimi. Protokół TLS zastępuje starszy protokół SSL, a tylko protokoły TLS w wersji 1.2 i 1.3 są uznawane za bezpieczne. Integralność zabezpieczeń protokołu TLS opiera się na trzech filarach:

  • Używanie tylko protokołu TLS w wersji 1.2 lub 1.3.
  • Klient weryfikuje certyfikat TLS serwera wystawiony przez urząd certyfikacji w łańcuchu, który zaczyna się od zaufanego głównego urzędu certyfikacji.
  • Negocjowanie bezpiecznego zestawu szyfrowania między serwerem a klientem.

Konfiguracje protokołu TLS na serwerze elastycznym Azure Database for MySQL

Azure Database for MySQL Flexible Server umożliwia łączenie aplikacji klienckich z wystąpieniem usługi Azure Database for MySQL Flexible Server przy użyciu protokołu Secure Sockets Layer (SSL) z szyfrowaniem Transport Layer Security (TLS). TLS to standardowy protokół branżowy, który zapewnia szyfrowane połączenia sieciowe między serwerem bazy danych i aplikacjami klienckimi, dzięki czemu można przestrzegać wymagań dotyczących zgodności.

Azure Database for MySQL Serwer elastyczny obsługuje połączenia szyfrowane przy użyciu protokołu Transport Layer Security (TLS 1.2) domyślnie i domyślnie odrzuca wszystkie połączenia przychodzące przy użyciu protokołów TLS 1.0 i TLS 1.1. Na serwerze elastycznym można skonfigurować i zmienić konfigurację wymuszania szyfrowanego połączenia lub wersji protokołu TLS.

W poniższej tabeli opisano różne konfiguracje ustawień protokołu SSL i TLS, które można mieć dla serwera elastycznego:

Ważna

Zgodnie z usunięciem obsługi protokołów TLS 1.0 i TLS 1.1 program MySQL planuje w pełni wycofać protokoły TLS 1.0 i 1.1 do września 2024 r. Jednak ze względu na zależności zidentyfikowane przez niektórych klientów oś czasu została przedłużona.

  • Począwszy od 31 sierpnia 2025 r., wymuszone uaktualnienie rozpoczyna się dla wszystkich serwerów nadal używających protokołu TLS 1.0 lub 1.1. Po tej dacie wszystkie połączenia korzystające z protokołu TLS 1.0 lub 1.1 mogą przestać działać w dowolnym momencie.

Aby uniknąć przerw w działaniu usługi, przeprowadź migrację do protokołu TLS 1.2 tak szybko, jak to możliwe.

Scenario Ustawienia parametrów serwera Opis
Wyłączanie wymuszania protokołu TLS require_secure_transport = OFF Jeśli starsza aplikacja nie obsługuje szyfrowanych połączeń, wyłącz wymuszanie zaszyfrowanych połączeń.
Wymuszanie użycia protokołu TLS w wersji < 1.2 (przestarzałej od września 2024 r.) require_secure_transport = ON i tls_version = TLS 1.0 lub TLS 1.1 Nie jest już dostępny!
Wymuszanie protokołu TLS przy użyciu protokołu TLS w wersji 1.2 (konfiguracja domyślna) require_secure_transport = ON i tls_version = TLS 1.2 Konfiguracja domyślna.
Wymuszanie protokołu TLS przy użyciu protokołu TLS w wersji = 1.3 require_secure_transport = ON i tls_version = TLS 1.3 Zalecana konfiguracja; obsługiwana tylko dla usługi Azure Database for MySQL — serwera elastycznego w wersjach 8.0 lub nowszej.

Note

Zmiany szyfrowania TLS nie są obsługiwane. Zestawy szyfrowania zgodne ze standardem FIPS są domyślnie wymuszane, gdy parametr tls_version jest ustawiony na wartość TLS 1.2 lub TLS 1.3.

Zapoznaj się z artykułem Nawiązywanie połączenia przy użyciu protokołu SSL/TLS , aby dowiedzieć się, jak zidentyfikować wersję protokołu TLS.

Zaufane certyfikaty główne i rotacje certyfikatów

Ważna

Harmonogram rotacji certyfikatów głównych:

  • Aktualizacje certyfikatów głównego urzędu certyfikacji z DigiCert Global Root CA (G1) do DigiCert Global Root G2 w regionach Chin rozpoczynają się 9 marca 2026 r.
  • Jeśli konfiguracja klienta używa zalecanych konfiguracji dla protokołu TLS, nie musisz podejmować żadnych działań.

Podstawowe urzędy certyfikacji (Root CAs) używane przez usługę Azure Database for MySQL

Główne urzędy certyfikacji to urzędy najwyższego poziomu w łańcuchu certyfikatów. Usługa Azure Database for MySQL obecnie używa certyfikatów z podwójnym podpisem cyfrowym wystawionych przez pośrednie urzędy certyfikacji (ICA), zakotwiczone przez następujące główne urzędy certyfikacji:

Regiony w Chinach używają obecnie następujących urzędów certyfikacji:

Informacje o pośrednich urzędach certyfikacji

Usługa Azure Database for MySQL używa pośrednich urzędów certyfikacji (ICA) do wystawiania certyfikatów serwera. Firma Microsoft okresowo wymienia te certyfikaty ICA oraz certyfikaty serwerowe, które wystawiają, w celu zachowania bezpieczeństwa. Rotacje te są rutynowe i nie są ogłaszane z wyprzedzeniem.

Bieżąca rotacja pośrednich urzędów certyfikacji ( DigiCert Global Root G2 patrz rotacja certyfikatów) rozpoczęła się w listopadzie 2025 r. i ma zostać ukończona w kwartale 2026 r. Ta rotacja zastępuje pośrednie urzędy certyfikacji w następujący sposób. Jeśli zastosowano się do zalecanych praktyk, nie trzeba wprowadzać żadnych zmian w swoim środowisku.

Stary łańcuch urzędu certyfikacji

Te informacje są udostępniane tylko do celów referencyjnych. Nie używaj pośrednich urzędów certyfikacji ani certyfikatów serwera w zaufanym magazynie głównym.

  • DigiCert Global Root G2
    • Microsoft Azure RSA TLS Issuing CA 03 / 04 / 07 / 08
      • Certyfikat serwera

Nowy łańcuch CA

Te informacje są udostępniane tylko do celów referencyjnych. Nie używaj pośrednich urzędów certyfikacji ani certyfikatów serwera w zaufanym magazynie głównym.

  • DigiCert Global Root G2
    • Microsoft TLS RSA Root G2
      • Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
        • Certyfikat serwera

Łańcuchy certyfikatów

Łańcuch certyfikatów jest hierarchiczną sekwencją certyfikatów wystawionych przez zaufane urzędy certyfikacji ( CA), począwszy od głównego urzędu certyfikacji, który wystawia certyfikaty pośredniego urzędu certyfikacji (ICA). ICA mogą wystawiać certyfikaty dla niższych ICA. Najniższy ICA w łańcuchu wystawia poszczególne certyfikaty serwera. Ustanawiasz łańcuch zaufania, weryfikując każdy certyfikat w łańcuchu aż do certyfikatu głównego urzędu certyfikacji.

Zmniejsz liczbę niepowodzeń połączeń

Użyj zalecanych konfiguracji protokołu TLS, aby zmniejszyć ryzyko awarii połączenia z powodu rotacji certyfikatów lub zmian w pośrednich urzędach certyfikacji. W szczególności nie należy ufać pośrednim urzędom certyfikacji ani pojedynczym certyfikatom serwera, ponieważ takie praktyki mogą prowadzić do nieoczekiwanych problemów z połączeniem, gdy Microsoft zaktualizuje łańcuch certyfikatów.

Ważna

Firma Microsoft ogłasza zmiany w głównych urzędach certyfikacji (Root CA) z wyprzedzeniem, aby ułatwić przygotowanie aplikacji klienckich. Jednak wymiana certyfikatów serwera i zmiany pośrednich ośrodków certyfikacji są standardowe i dlatego nie są ogłaszane.

Caution

Użycie nieobsługiwanych konfiguracji (klienta) może spowodować nieoczekiwane błędy połączenia.

Najlepsza konfiguracja

Dobra konfiguracja

  • Ustaw require_secure_transport = ON i tls_version = TLS 1.3. Jeśli musisz obsługiwać protokół TLS 1.2, nie należy ustawiać elementu tls_version.
  • Użyj pełnej weryfikacji z aplikacji klienckich (różni się to w zależności od klienta).
  • Upewnij się, że zaufany magazyn główny zawiera certyfikat głównego urzędu certyfikacji używany obecnie przez usługę Azure Database for MySQL:

Nie wyłączaj całkowicie protokołu TLS, ustawiając wartość require_secure_transportOFF.

Nieobsługiwane konfiguracje; nie używaj

Azure MySQL nie ogłasza zmian dotyczących zmian pośredniego urzędu certyfikacji ani rotacji poszczególnych certyfikatów serwera. W związku z tym następujące konfiguracje nie są obsługiwane:

  • Używasz certyfikatów pośrednich urzędu certyfikacji w swoim zaufanym magazynie.
  • Używasz przypinania certyfikatu, takiego jak używanie poszczególnych certyfikatów serwera w zaufanym magazynie.

Caution

Aplikacje nie mogą łączyć się z serwerami baz danych bez ostrzeżenia, gdy firma Microsoft zmienia pośrednie urzędy certyfikacji łańcucha certyfikatów lub obraca certyfikat serwera.

Inne zagadnienia dotyczące protokołu TLS

Niezabezpieczone i bezpieczne wersje protokołu TLS

Kilka jednostek rządowych na całym świecie utrzymuje wytyczne dotyczące protokołu TLS dotyczące zabezpieczeń sieci. W Stanach Zjednoczonych organizacje te obejmują Departament Zdrowia i Usług Ludzkich oraz Narodowy Instytut Standardów i Technologii. Poziom zabezpieczeń zapewniany przez protokół TLS jest najbardziej dotknięty wersją protokołu TLS i obsługiwanymi zestawami szyfrowania.

Usługa Azure Database for MySQL obsługuje protokół TLS w wersji 1.2 i 1.3. W standardzie RFC 8996 grupa zadań inżynierów internetowych (IETF) jawnie stwierdza, że protokoły TLS 1.0 i TLS 1.1 nie mogą być używane. Oba protokoły zostały wycofane do końca 2019 r. Wszystkie połączenia przychodzące korzystające z wcześniejszych niezabezpieczonych wersji protokołu TLS, takich jak TLS 1.0 i TLS 1.1, są domyślnie odrzucane.

W sierpniu 2018 r. program IETF wydał specyfikację PROTOKOŁU TLS 1.3 w dokumencie RFC 8446, a protokół TLS 1.3 jest zalecaną wersją, ponieważ jest szybszy i bezpieczniejszy niż TLS 1.2.

Chociaż nie jest to zalecane, w razie potrzeby można wyłączyć protokół TLS dla połączeń z Azure Database for MySQL. Możesz zaktualizować require_secure_transport parametr serwera do OFF.

Zestawy szyfrowania

Zestaw szyfrowania to zestaw algorytmów, które obejmują szyfr, algorytm wymiany kluczy i algorytm wyznaczania wartości skrótu. Używaj ich razem z certyfikatem TLS i wersją protokołu TLS, aby nawiązać bezpieczne połączenie TLS. Większość klientów i serwerów TLS obsługuje wiele zestawów szyfrowania, a czasami wiele wersji protokołu TLS. Podczas nawiązywania połączenia klient i serwer negocjują wersję protokołu TLS i zestaw szyfrowania do użycia za pośrednictwem uzgadniania. Podczas tego handshake'u następuje:

  • Klient wysyła listę dopuszczalnych zestawów szyfrowania.
  • Serwer wybiera najlepszy (z własnej definicji) zestaw szyfrowania z listy i informuje klienta o wyborze.

Funkcje protokołu TLS nie są dostępne w usłudze Azure Database for MySQL

Obecnie usługa Azure Database for MySQL nie implementuje następujących funkcji protokołu TLS:

  • Uwierzytelnianie klienta oparte na certyfikatach TLS za pośrednictwem protokołu TLS z uwierzytelnianiem wzajemnym (mTLS).
  • Niestandardowe certyfikaty serwera (użyj własnych certyfikatów TLS).