Cette rubrique explique comment configurer le chiffrement SSL pour une instance ApsaraDB RDS for PostgreSQL. Le chiffrement SSL sécurise les connexions entre un client de base de données et une instance RDS, protégeant ainsi les données transmises. Elle décrit également la procédure de configuration d'un certificat cloud pour activer ce chiffrement.
Informations générales
SSL est un protocole conçu pour garantir la sécurité des communications et protéger les données. À partir de la version 3.0, SSL a été renommé TLS.
ApsaraDB RDS for PostgreSQL prend en charge les versions TLS 1.0, TLS 1.1 et TLS 1.2.
Le tableau suivant compare les configurations et les avantages du chiffrement SSL selon le type de certificat utilisé.
|
Élément |
|||
|
Objectif |
Certificat serveur (base de données), utilisé par le client pour authentifier le serveur. |
Certificat serveur (base de données), utilisé par le client pour authentifier le serveur. |
Certificat client, utilisé par le serveur (base de données) pour authentifier le client. |
|
Méthode d'obtention |
Délivré par Alibaba Cloud. |
Délivré par une autorité de certification (CA) ou issu d'un certificat auto-signé. |
Issu d'un certificat auto-signé. |
|
Période de validité |
365 jours. |
Personnalisable. |
Personnalisable. |
|
Nombre de points de terminaison protégés |
1 |
1 ou plusieurs. |
Varie selon le certificat cloud ou personnalisé utilisé. Le nombre de points de terminaison protégés ne dépend pas du certificat CA. |
Vous devez configurer un certificat cloud ou un certificat personnalisé pour activer le chiffrement SSL et authentifier le serveur (base de données).
La configuration d'un certificat CA client, utilisé par le serveur pour authentifier le client, est facultative.
Prérequis
-
L'instance RDS exécute PostgreSQL 10 ou une version ultérieure et utilise des disques cloud.
RemarqueLes instances RDS Serverless ne sont pas prises en charge.
Téléchargez le client pgAdmin 4. Pour plus d'informations, consultez pgAdmin 4.
Remarques sur l'utilisation
Un certificat cloud est valide pendant un an. Avant son expiration, Alibaba Cloud envoie des rappels de renouvellement par e-mails et messages internes via le centre d'événements, et renouvelle automatiquement le certificat dans un délai spécifique. Vous pouvez personnaliser l'heure de renouvellement du certificat en configurant l'option Schedule Event. Pour plus d'informations, consultez la rubrique Événements planifiés.
Après le renouvellement automatique d'un certificat cloud à son expiration, les programmes clients utilisant des connexions chiffrées n'ont pas besoin de télécharger ni de reconfigurer le certificat CA.
L'activation du chiffrement SSL entraîne une augmentation de l'utilisation du CPU ainsi que des latences en lecture et en écriture.
Une fois le chiffrement SSL activé, fermez la connexion existante et établissez-en une nouvelle pour que le chiffrement prenne effet.
La configuration d'un certificat cloud, la modification du point de terminaison protégé par ce certificat ou la désactivation du chiffrement SSL provoquent le redémarrage de l'instance RDS. Des déconnexions transitoires de l'ordre de la minute peuvent survenir pendant le redémarrage. Nous vous recommandons d'effectuer ces opérations pendant les heures creuses.
Étape 1 : Activer le chiffrement SSL à l'aide d'un certificat cloud
Cette section utilise des certificats cloud pour illustrer la configuration du chiffrement SSL.
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve l'instance RDS. Localisez ensuite l'instance RDS et cliquez sur son ID.
-
Dans le volet de navigation de gauche, choisissez > SSL.
RemarqueSi l'onglet SSL n'apparaît pas dans la console, vérifiez que votre instance ApsaraDB RDS for PostgreSQL respecte les exigences de version et de type de stockage. Pour plus d'informations, consultez la section Prérequis.
-
Pour la source du certificat, sélectionnez Cloud Certificate. Cliquez sur Configuration à côté de l'option Configure Database Certificate (to Prevent Database Disguise), puis sélectionnez le point de terminaison que vous souhaitez protéger.
RemarqueSi aucun point de terminaison public n'est activé, la boîte de dialogue Select Protected Endpoint affiche uniquement le point de terminaison interne de l'instance ApsaraDB RDS for PostgreSQL. Si un point de terminaison public est activé, les points de terminaison interne et public s'affichent tous deux. Un certificat cloud ne peut protéger qu'un seul point de terminaison. Les connexions internes étant relativement sécurisées, nous vous recommandons de protéger le point de terminaison public. Pour afficher les points de terminaison interne et public, consultez la rubrique Afficher et modifier les points de terminaison interne et public ainsi que les numéros de port d'une instance ApsaraDB RDS for PostgreSQL.
Pour savoir comment protéger simultanément le point de terminaison interne et le point de terminaison public, consultez la rubrique Utiliser un certificat personnalisé pour activer le chiffrement SSL.
Après la configuration du certificat cloud, le Status de l'instance passe à Modifying SSL Settings. Ce processus dure environ trois minutes. Attendez que le statut revienne à Running avant de poursuivre.
Étape 2 : Télécharger le certificat CA du serveur
Après avoir configuré le certificat cloud, téléchargez et enregistrez le certificat CA du serveur (base de données) sur votre client. Lors de la connexion à l'instance RDS depuis le client, utilisez ce certificat CA pour authentifier l'instance RDS.
Après le renouvellement automatique d'un certificat cloud à son expiration, vous n'avez pas besoin de télécharger ni de reconfigurer le certificat CA.
Pour la source du certificat, sélectionnez Cloud Certificate et cliquez sur Download CA Certificate.
-
Décompressez le fichier téléchargé.
Le fichier téléchargé est une archive contenant les fichiers suivants :
Fichier PEM : adapté à la plupart des scénarios.
Fichier JKS : dans la plupart des cas, le fichier de certificat d'autorité de certification (CA) au format PEM doit être importé dans un truststore pour être converti en fichier JKS utilisable par les applications Java. Le mot de passe est apsaradb.
Fichier P7B : adapté à certaines applications Windows nécessitant des fichiers de certificat au format PKCS#7.
Étape 3 : Se connecter à l'instance RDS depuis le client de base de données
Cet exemple utilise pgAdmin pour illustrer la connexion à l'instance RDS via SSL.
Plusieurs méthodes permettent de se connecter à une instance RDS, telles que le client en ligne de commande psql et Java Database Connectivity (JDBC). Pour plus d'informations, consultez la rubrique Se connecter à une instance ApsaraDB RDS for PostgreSQL via des connexions SSL.
Avant de vous connecter à l'instance RDS, assurez-vous que les listes d'autorisation d'adresses IP sont configurées et que des comptes ont été créés sur l'instance. Pour plus d'informations, consultez les rubriques Configurer une liste d'autorisation d'adresses IP et Créer une base de données et un compte sur une instance ApsaraDB RDS for PostgreSQL.
Cette section utilise
pgAdmin 4 v6.2.0à titre d'exemple. Si les captures d'écran de cette rubrique diffèrent de votre version cliente, consultez la documentation officielle et configurez les paramètres liés au SSL comme indiqué dans cet exemple.
-
Démarrez pgAdmin 4.
RemarqueLors de la première connexion à une version récente de pgAdmin, vous devez définir un mot de passe principal pour protéger les mots de passe enregistrés et autres identifiants.
-
Cliquez avec le bouton droit sur Servers et choisissez .

Dans l'onglet General de la boîte de dialogue Register - Server, saisissez le nom du serveur sur lequel pgAdmin est installé.

-
Dans l'onglet Connection, configurez les paramètres de Connection en saisissant les informations suivantes pour votre instance.
Paramètre
Description
Host name/address
Le point de terminaison et le port utilisés pour se connecter à l'instance RDS.
-
Pour vous connecter à l'instance RDS via un réseau interne, saisissez le point de terminaison interne et le port interne de l'instance RDS.
-
Pour vous connecter à l'instance RDS via Internet, saisissez le point de terminaison public et le port public de l'instance RDS.
Vous pouvez consulter ces informations sur la page Database Connection de l'instance RDS.
Pour plus d'informations, consultez la rubrique Afficher et modifier les points de terminaison et les numéros de port d'une instance ApsaraDB RDS for PostgreSQL.
Port
Username
Le nom d'utilisateur et le mot de passe utilisés pour se connecter à l'instance RDS.
Pour savoir comment créer un compte sur une instance RDS, consultez la rubrique Créer un compte et une base de données.
Password
-
-
Sélectionnez l'onglet Parameters, puis ajoutez et configurez les paramètres d'authentification SSL.
Paramètre
Description
SSL mode
Par mesure de sécurité, nous vous recommandons de définir ce paramètre sur Require, Verify-CA ou Verify-Full. La liste suivante détaille la signification des différentes valeurs du paramètre SSL mode :
-
Require : le client de base de données chiffre les connexions SSL utilisées pour transmettre les données, mais ne valide pas l'instance RDS.
-
Verify-CA : le client de base de données chiffre les connexions SSL utilisées pour transmettre les données et valide l'instance RDS.
-
Verify-Full : chiffre la connexion de données, vérifie l'identité du serveur et contrôle si le Common Name (CN) ou le nom DNS du certificat serveur correspond au Host name/address fourni pour la connexion.
Root certificate
Ce paramètre est requis si vous définissez SSL mode sur Verify-CA ou Verify-Full. Il spécifie le chemin d'accès au fichier de certificat racine CA.
Remarque-
Dans cet exemple, le certificat CA téléchargé depuis l'onglet SSL est extrait vers D:\CA\aliyunCA\. Vous pouvez extraire le certificat dans n'importe quel répertoire local.
-
Dans pgAdmin, le fichier contenant le certificat CA du serveur est au format PEM.
-
-
Cliquez sur Save.
Si les informations saisies sont correctes, la page illustrée ci-dessous s'affiche, indiquant que la connexion à l'instance RDS a réussi.
ImportantLa base de données postgres est la base de données système par défaut. N'effectuez aucune opération sur la base de données postgres.