Connettività SSL/TLS in Database di Azure per MySQL

SI APPLICA A: Database di Azure per MySQL - Server singolo

Importante

Il server singolo del Database di Azure per MySQL è in fase di ritiro. È consigliabile eseguire l'aggiornamento al server flessibile del Database di Azure per MySQL. Per altre informazioni sulla migrazione a Database di Azure per MySQL - Server flessibile, vedere Cosa succede a Database di Azure per MySQL - Server singolo?

Il Database di Azure per MySQL supporta la connessione del server di database alle applicazioni client mediante Secure Sockets Layer (SSL). L'applicazione delle connessioni SSL tra il server di database e le applicazioni client aiuta a proteggersi dagli attacchi "man in the middle" crittografando il flusso di dati tra il server e l'applicazione.

Nota

L'aggiornamento del valore del parametro del require_secure_transport server non influisce sul comportamento del servizio MySQL. Usare le funzionalità di imposizione SSL e TLS descritte in questo articolo per proteggere le connessioni al database.

Nota

In base ai commenti e suggerimenti dei clienti, il certificato radice è stato deprecato per la CA radice baltimora esistente fino al 15 febbraio 2021 (15/02/2021).

Importante

Il certificato radice SSL è impostato per scadere a partire dal 15 febbraio 2021 (15/02/2021). Aggiornare l'applicazione per usare il nuovo certificato. Per altre informazioni, vedere Aggiornamenti pianificati dei certificati

Impostazioni predefinite SSL

Per impostazione predefinita, il servizio di database deve essere configurato per richiedere le connessioni SSL quando ci si connette a MySQL. È consigliabile evitare di disabilitare l'opzione SSL, quando possibile.

Per impostazione predefinita, l'opzione di applicazione delle connessioni SSL è attiva quando si esegue il provisioning di un nuovo Database di Azure per il server MySQL attraverso l'interfaccia della riga di comando e il portale di Azure.

Nel portale di Azure vengono visualizzate le stringhe di connessione per diversi linguaggi di programmazione. Tali stringhe di connessione includono i parametri SSL necessari per la connessione al database. Nel portale di Azure selezionare il server. Sotto l'intestazione Impostazioni, selezionare Stringhe di connessione. Il parametro SSL varia in base al connettore, ad esempio "ssl=true", "sslmode=require" oppure "sslmode=required" e altre varianti.

In alcuni casi, le applicazioni richiedono un file di certificato locale generato da un file di certificato dell'autorità di certificazione (CA) attendibile per connettersi in modo sicuro. Attualmente i clienti possono usare il certificato predefinito per connettersi a un server Database di Azure per MySQL, che si trova in https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

Analogamente, i collegamenti seguenti puntano ai certificati per i server nei cloud sovrani: Azure per enti pubblici, Microsoft Azure gestito da 21Vianet e Azure Germania.

Per informazioni su come abilitare o disabilitare la connessione SSL durante lo sviluppo dell'applicazione, consultare Come configurare SSL.

Imposizione di TLS in Database di Azure per MySQL

Database di Azure per MySQL supporta la crittografia per i client che si connettono al server di database tramite Transport Layer Security (TLS). TLS è un protocollo standard del settore che garantisce connessioni di rete sicure tra il server di database e le applicazioni client, consentendo di rispettare i requisiti di conformità.

Impostazioni di TLS

Database di Azure per MySQL consente di applicare la versione TLS per le connessioni client. Per applicare la versione TLS, usare l'impostazione dell'opzione Versione minima di TLS. Per questa impostazione di opzione sono consentiti i valori seguenti:

Impostazione minima di TLS Versione TLS client supportata
TLSEnforcementDisabled (impostazione predefinita) Nessun tls necessario
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 e versioni successive
TLS1_1 TLS 1.1, TLS 1.2 e versioni successive
TLS1_2 TLS versione 1.2 e successive

Ad esempio, l'impostazione del valore della versione minima dell'impostazione TLS su TLS 1.0 indica che il server consente le connessioni dai client che usano TLS 1.0, 1.1 e 1.2+. In alternativa, impostando questa opzione su 1.2, è possibile consentire solo le connessioni dai client che usano TLS 1.2+ e tutte le connessioni con TLS 1.0 e TLS 1.1 verranno rifiutate.

Nota

Per impostazione predefinita, Database di Azure per MySQL non applica una versione minima di TLS (l'impostazione TLSEnforcementDisabled).

Dopo aver applicato una versione minima di TLS, non è possibile disabilitare successivamente l'imposizione minima della versione.

L'impostazione minima della versione TLS non richiede alcun riavvio del server può essere impostata mentre il server è online. Per informazioni su come impostare l'impostazione TLS per il Database di Azure per MySQL, vedere Come configurare l'impostazione TLS.

Supporto della crittografia da parte di Database di Azure per MySQL server singolo

Nell'ambito della comunicazione SSL/TLS, i pacchetti di crittografia vengono convalidati e solo le tute di crittografia supportate possono comunicare con il server di database. La convalida della suite di crittografia è controllata nel livello del gateway e non in modo esplicito nel nodo stesso. Se le suite di crittografia non corrispondono a una delle suite elencate di seguito, le connessioni client in ingresso verranno rifiutate.

Suite di crittografia supportata

  • 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

Passaggi successivi