Łą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.
Parametry połączenia 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 obszarze Ustawienia wybierz parametry połączenia. 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
- Biblioteki połączeń dla usługi Azure Database for MySQL
- Dowiedz się, jak skonfigurować protokół SSL
- Dowiedz się, jak skonfigurować protokół TLS