Łączność SSL/TLS w usłudze Azure Database for MySQL

DOTYCZY: Azure Database for MySQL — pojedynczy serwer

Ważne

Pojedynczy serwer usługi Azure Database for MySQL znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji na temat migracji do serwera elastycznego usługi Azure Database for MySQL, zobacz Co się dzieje z usługą Azure Database for MySQL — pojedynczy serwer?

Usługa Azure Database for MySQL obsługuje łączenie serwera bazy danych z aplikacjami klienckimi przy użyciu protokołu SSL (Secure Sockets Layer). Wymuszanie połączeń SSL między serwerem bazy danych a aplikacją kliencką ułatwia ochronę przed atakami typu man-in-the-middle dzięki szyfrowaniu strumienia danych między serwerem a aplikacją.

Uwaga

Aktualizowanie wartości parametru require_secure_transport serwera nie wpływa na zachowanie usługi MySQL. Użyj funkcji wymuszania protokołu SSL i TLS opisanych w tym artykule, aby zabezpieczyć połączenia z bazą danych.

Uwaga

Na podstawie opinii klientów przedłużyliśmy wycofanie certyfikatu głównego dla naszego istniejącego głównego urzędu certyfikacji Baltimore do 15 lutego 2021 r. (02/15/2021).

Ważne

Certyfikat główny SSL ma wygasać od 15 lutego 2021 r. (02.15.2021). Zaktualizuj aplikację, aby korzystała z nowego certyfikatu. Aby dowiedzieć się więcej, zobacz planowane aktualizacje certyfikatów

Ustawienia domyślne protokołu SSL

Domyślnie usługa bazy danych powinna być skonfigurowana tak, aby wymagać połączeń SSL podczas nawiązywania połączenia z bazą danych MySQL. Zalecamy unikanie wyłączania opcji SSL zawsze, gdy jest to możliwe.

Podczas aprowizowania nowego serwera usługi Azure Database for MySQL za pośrednictwem witryny Azure Portal i interfejsu wiersza polecenia wymuszanie połączeń SSL jest domyślnie włączone.

ciągi Połączenie ion dla różnych języków programowania są wyświetlane w witrynie Azure Portal. Te parametry połączenia obejmują wymagane parametry SSL do nawiązania połączenia z bazą danych. W witrynie Azure Portal wybierz serwer. W nagłówku Ustawienia wybierz ciągi Połączenie ion. Parametr SSL różni się w zależności od łącznika, na przykład "ssl=true" lub "sslmode=require" lub "sslmode=required" i innych odmian.

W niektórych przypadkach aplikacje wymagają lokalnego pliku certyfikatu wygenerowanego z pliku certyfikatu zaufanego urzędu certyfikacji w celu bezpiecznego nawiązania połączenia. Obecnie klienci mogą używać tylko wstępnie zdefiniowanego certyfikatu do nawiązywania połączenia z serwerem usługi Azure Database for MySQL znajdującym się w https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pemlokalizacji .

Podobnie poniższe linki wskazują certyfikaty dla serwerów w suwerennych chmurach: Azure Government, Microsoft Azure obsługiwane przez firmę 21Vianet i Azure (Niemcy).

Aby dowiedzieć się, jak włączyć lub wyłączyć połączenie SSL podczas tworzenia aplikacji, zobacz Jak skonfigurować protokół SSL.

Wymuszanie protokołu TLS w usłudze Azure Database for MySQL

Usługa Azure Database for MySQL obsługuje szyfrowanie dla klientów łączących się z serwerem bazy danych przy użyciu protokołu Transport Layer Security (TLS). TLS to standardowy protokół branżowy, który zapewnia bezpieczne połączenia sieciowe między serwerem bazy danych i aplikacjami klienckimi, co pozwala spełnić wymagania dotyczące zgodności.

Ustawienia protokołu TLS

Usługa Azure Database for MySQL umożliwia wymuszanie wersji protokołu TLS dla połączeń klienckich. Aby wymusić wersję protokołu TLS, użyj ustawienia opcji Minimalna wersja protokołu TLS. Dla tego ustawienia opcji są dozwolone następujące wartości:

Minimalne ustawienie protokołu TLS Obsługiwana wersja protokołu TLS klienta
TLSEnforcementDisabled (ustawienie domyślne) Brak wymaganego protokołu TLS
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 i nowsze
TLS1_1 TLS 1.1, TLS 1.2 i nowsze
TLS1_2 Protokół TLS w wersji 1.2 lub nowszej

Na przykład ustawienie minimalnej wersji ustawienia protokołu TLS na protokół TLS 1.0 oznacza, że serwer zezwala na połączenia od klientów przy użyciu protokołów TLS 1.0, 1.1 i 1.2 lub nowszych. Alternatywnie ustawienie tej wartości na 1.2 oznacza, że zezwalasz tylko na połączenia od klientów przy użyciu protokołu TLS 1.2 lub nowszego, a wszystkie połączenia z protokołami TLS 1.0 i TLS 1.1 zostaną odrzucone.

Uwaga

Domyślnie usługa Azure Database for MySQL nie wymusza minimalnej wersji protokołu TLS (ustawienie TLSEnforcementDisabled).

Po wymusieniu minimalnej wersji protokołu TLS nie można później wyłączyć minimalnej wymuszania wersji.

Minimalne ustawienie wersji protokołu TLS nie wymaga ponownego uruchomienia serwera, gdy serwer jest w trybie online. Aby dowiedzieć się, jak ustawić ustawienie protokołu TLS dla usługi Azure Database for MySQL, zobacz Jak skonfigurować ustawienie protokołu TLS.

Obsługa szyfrowania przez pojedynczy serwer usługi Azure Database for MySQL

W ramach komunikacji SSL/TLS pakiety szyfrowania są weryfikowane i obsługują tylko garnitury szyfrowania mogą komunikować się z serwerem bazy danych. Walidacja zestawu szyfrowania jest kontrolowana w warstwie bramy, a nie jawnie w samym węźle. Jeśli zestawy szyfrowania nie pasują do jednego z zestawów wymienionych poniżej, połączenia przychodzące klienta zostaną odrzucone.

Obsługiwany zestaw szyfrowania

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Następne kroki