Connectivité SSL/TLS dans Azure Database pour MySQL

S’APPLIQUE À : Azure Database pour MySQL - Serveur unique

Important

Azure Database pour MySQL - Serveur unique est en voie de mise hors service. Nous vous recommandons vivement de procéder à une mise à niveau vers Azure Database pour MySQL - Serveur flexible. Pour plus d’informations sur la migration vers le Serveur flexible Azure Database pour MySQL, consultez Qu’en est-il du Serveur unique Azure Database pour MySQL ?

La base de données Azure pour MySQL prend en charge la connexion de votre serveur de base de données aux applications clientes via SSL (Secure Sockets Layer). L’application de connexions SSL entre votre serveur de base de données et vos applications clientes vous protège contre les « attaques de l’intercepteur » en chiffrant le flux de données entre le serveur et votre application.

Notes

La mise à jour de la valeur du paramètre de serveur require_secure_transport n’affecte pas le comportement du service MySQL. Utilisez les fonctionnalités d’application SSL et TLS décrites dans cet article pour sécuriser les connexions à votre base de données.

Notes

Sur la base des commentaires des clients, nous avons étendu la dépréciation du certificat racine pour notre autorité de certification racine Baltimore existante jusqu’au 15 février 2021 (15/2/2021).

Important

Le certificat racine SSL est configuré pour expirer à partir du 15 février 2021 (15/2/2021). Mettez à jour votre application pour utiliser le nouveau certificat. Pour plus d’informations, consultez Mises à jour de certificat planifiées

Paramètres SSL par défaut

Par défaut, le service de base de données doit être configuré pour exiger des connexions SSL lors de la connexion à MySQL. Nous vous recommandons d’éviter de désactiver l’option SSL dans la mesure du possible.

Lorsque vous approvisionnez un nouveau serveur de base de données Azure pour MySQL par le biais du Portail Azure et d’Azure CLI, l’application de connexions SSL est activée par défaut.

Les chaînes de connexion pour les différents langages de programmation sont affichées dans le portail Azure. Ces chaînes de connexion incluent les paramètres SSL requis pour se connecter à votre base de données. Dans le portail Azure, sélectionnez votre serveur. Sous l’en-tête Paramètres, sélectionnez les Chaînes de connexion. Le paramètre SSL varie en fonction du connecteur, par exemple « ssl=true », « sslmode=require » ou « sslmode=require » et d’autres variations.

Dans certains cas, les applications nécessitent un fichier de certificat local généré à partir du fichier de certificat d’une autorité de certification (AC) approuvée pour se connecter en toute sécurité. Actuellement, les clients peuvent uniquement utiliser le certificat prédéfini pour se connecter à un serveur Azure Database pour MySQL, qui est situé à l’adresse https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem.

De même, les liens suivants pointent vers les certificats pour les serveurs des clouds souverains : Azure Government, Azure Chine et Azure Allemagne.

Pour découvrir comment activer ou désactiver la connexion SSL pour le développement d’applications, consultez la page Guide pratique : configurer SSL.

Imposition du protocole TLS dans Azure Database pour MySQL

Azure Database pour MySQL prend en charge le chiffrement pour les clients qui se connectent à votre serveur de base de données à l’aide du protocole TLS (Transport Layer Security). TLS est un protocole standard qui garantit la sécurité des connexions réseau entre votre serveur de base de données et vos applications clientes, ce qui vous permet de respecter les exigences de conformité.

Paramètres TLS

Azure Database pour MySQL offre la possibilité d’imposer la version du protocole TLS pour les connexions clientes. Pour imposer la version du protocole TLS, utilisez le paramètre d’option Version TLS minimale. Les valeurs suivantes sont autorisées pour ce paramètre d’option :

Paramètre TLS minimal Version TLS du client prise en charge
TLSEnforcementDisabled (par défaut) Aucun protocole TLS requis
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 et versions ultérieures
TLS1_1 TLS 1.1, TLS 1.2 et versions ultérieures
TLS1_2 TLS version 1.2 et ultérieures

Par exemple, la définition de la valeur de version minimale du paramètre TLS sur TLS 1.0 signifie que votre serveur autorise les connexions en provenance des clients utilisant les protocoles TLS 1.0, 1.1 et 1.2+. Si vous choisissez la valeur 1.2, en revanche, cela signifie que vous autorisez uniquement les connexions en provenance des clients utilisant TLS 1.2+ et que toutes les connexions à l’aide des protocoles TLS 1.0 et TLS 1.1 sont rejetées.

Notes

Par défaut, Azure Database pour MySQL n’applique aucune version TLS minimale (le paramètre TLSEnforcementDisabled).

Une fois que vous avez appliqué une version TLS minimale, vous ne pourrez plus la désactiver.

Le paramètre de version minimale de TLS ne nécessite pas de redémarrage du serveur. Vous pouvez le définir pendant que le serveur est en ligne. Pour découvrir comment définir le paramètre TLS pour Azure Database pour MySQL, consultez le Guide pratique pour configurer le paramètre TLS.

Prise en charge du chiffrement par Azure Database pour MySQL – Serveur unique

Dans le cadre de la communication SSL/TLS, les suites de chiffrement sont validées et seules les suites de chiffrement prises en charge sont autorisées à communiquer avec le serveur de la base de données. La validation de la suite de chiffrement est contrôlée dans la couche passerelle et non pas explicitement sur le nœud lui-même. Si les suites de chiffrement ne correspondent pas à l’une des suites listées ci-dessous, les connexions clientes entrantes sont rejetées.

Suite de chiffrement prise en charge

  • 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

Étapes suivantes