ApsaraDB RDS for MySQL prend en charge les certificats gérés par Alibaba Cloud ainsi que les certificats personnalisés pour le chiffrement SSL. Cette rubrique explique comment générer un certificat personnalisé à l'aide d'OpenSSL et le configurer sur votre instance RDS.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
OpenSSL installé
Linux : OpenSSL est préinstallé. Aucune action n'est requise.
Windows : Téléchargez et installez OpenSSL depuis slproweb.com.
-
Une instance RDS répondant aux exigences de version :
Edition
Supported MySQL versions
RDS High-availability Edition
MySQL 8,4, 8,0, 5,7 ou 5,6
RDS Cluster Edition
MySQL 8,4, 8,0 ou 5,7
RDS Basic Edition
MySQL 8,4, 8,0 ou 5,7
(Uniquement requis pour le chiffrement SSL obligatoire) L'instance exécute MySQL 8,4, 8,0 ou 5,7, sur l'une des éditions mentionnées ci-dessus, avec une version mineure du moteur 20241130 ou ultérieure.
Notes d'utilisation
L'activation du protocole SSL augmente l'utilisation du processeur ainsi que les latences en lecture et en écriture.
Après avoir activé le protocole SSL, fermez les connexions existantes et reconnectez-vous pour que le chiffrement prenne effet.
La configuration ou la modification d'un certificat personnalisé, ainsi que la désactivation du protocole SSL, déclenchent un redémarrage d'environ 3 minutes. Effectuez ces opérations pendant les heures creuses.
Lorsque le chiffrement SSL obligatoire est activé, seules les connexions chiffrées via SSL sont acceptées. Les connexions non chiffrées sont refusées.
Étape 1 : Générer un certificat personnalisé
N'ajoutez pas de mot de passe à la clé privée. Une clé privée protégée par mot de passe empêche l'activation du protocole SSL.
Les commandes suivantes utilisent la syntaxe CentOS. Sous Windows, exécutez les mêmes commandes openssl, mais copiez les fichiers et modifiez le contenu manuellement au lieu d'utiliser cp et vim.
-
Générez un certificat d'autorité de certification (CA) autosigné (
server-ca.crt) et sa clé privée associée (server-ca.key). La valeur-daysdéfinit la période de validité du certificat. Définissez cette valeur en fonction de votre politique de rotation (par exemple, 365 jours pour un renouvellement annuel).openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-ca" -
Générez une demande de signature de certificat (CSR) (
server.csr) et une clé privée serveur (server.key). Remplacezrm-bpxxxxx.mysql.rds.aliyuncs.compar l'endpoint que vous souhaitez protéger. Pour trouver votre endpoint, consultez la page View and manage instance endpoints and ports. Un certificat personnalisé protège un seul endpoint.Parameter
Description
Example
Country Name
Code pays ISO à deux lettres
CN
State or Province Name
Province
ZheJiang
Locality Name
Ville
HangZhou
Organization Name
Nom de l'entreprise
Alibaba
Organizational Unit Name
Nom du département
Aliyun
Common Name
Défini dans openssl.cnf ; laissez ce champ vide
—
Email Address
Laissez ce champ vide
—
A challenge password
Laissez ce champ vide
—
An optional company name
Laissez ce champ vide
—
openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=rm-bpxxxxx.mysql.rds.aliyuncs.com"Lorsque vous y êtes invité, configurez les champs optionnels de la demande de signature de certificat (CSR) :
-
Signez la CSR avec le certificat CA afin de générer le certificat serveur (
server.crt).openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial -out server.crt -
Vérifiez les fichiers générés en exécutant la commande
ls:File
Content
server.crtCertificat serveur
server.keyClé privée du certificat serveur
server-ca.crtCertificat CA autosigné
server-ca.keyClé privée du certificat CA autosigné
# ls server-ca.crt server-ca.key ca.srl server.crt server.csr server.key
Étape 2 : Télécharger le certificat et activer le protocole SSL
Après avoir configuré le certificat personnalisé, l'état de l'instance passe à Modifying SSL Settings pendant environ 3 minutes. Attendez que l'état revienne à Running avant de poursuivre.
Connectez-vous à la console ApsaraDB RDS. Sur la page Instances, sélectionnez la région où se trouve votre instance, puis cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, cliquez sur Data Security. Sur la page qui s'affiche, cliquez sur l'onglet SSL.
Cliquez sur Custom Certificate, puis activez l'interrupteur situé à côté de Disabled.
-
Dans la boîte de dialogue qui s'affiche, configurez les paramètres suivants et cliquez sur OK.
Parameter
Description
Server Certificate
Collez le contenu intégral du fichier
server.crt, de-----BEGIN CERTIFICATE-----à-----END CERTIFICATE-----.Private key of server certificate
Collez le contenu intégral du fichier
server.key, de-----BEGIN PRIVATE KEY-----à-----END PRIVATE KEY-----.Forceful Encryption
Activez cette option pour n'autoriser que les connexions chiffrées via SSL. Disponible uniquement sur MySQL 8,4, 8,0 ou 5,7 avec une version mineure du moteur 20241130 ou ultérieure.
Étape 3 : Se connecter à l'instance via SSL
Vous pouvez vous connecter à l'instance RDS via SSL. Pour plus d'informations, consultez la page Connect to an ApsaraDB RDS for MySQL instance over SSL.
Étape 4 : (Facultatif) Mettre à jour le certificat personnalisé
La mise à jour du certificat déclenche un redémarrage, sauf pour MySQL 8,0. Effectuez cette opération pendant les heures creuses.
Sur l'onglet SSL, cliquez sur Update SSL. Dans la boîte de dialogue qui s'affiche, collez le contenu mis à jour pour les champs Server Certificate et Private key of server certificate, puis cliquez sur OK.
Étape 5 : (Facultatif) Désactiver le chiffrement SSL
La désactivation du protocole SSL déclenche un redémarrage. Effectuez cette opération pendant les heures creuses.
Sur l'onglet SSL, désactivez l'interrupteur situé à côté de Enabled.
FAQ
Que faire si mon certificat personnalisé est sur le point d'expirer ?
La période de validité d'un certificat personnalisé est définie par la valeur -days que vous avez spécifiée lors de sa génération. Le système envoie une notification avant l'expiration. À réception de cette notification, nous vous recommandons de mettre à jour la période de validité du certificat dès que possible afin d'éviter tout impact sur vos charges de travail.