Par défaut, RDS for PostgreSQL utilise le mode d'authentification prefer, qui permet aux clients de se connecter sans SSL en définissant PGSSLMODE=disable. Le chiffrement SSL peut ainsi être contourné, même après son activation sur l'instance. Pour bloquer intégralement les connexions non chiffrées, configurez le contrôle d'accès client à l'aide de l'une des méthodes décrites dans cette rubrique.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé le chiffrement SSL sur votre instance RDS. Consultez la section Configurer le chiffrement SSL ou Configurer un certificat personnalisé
(Obligatoire uniquement pour la méthode 1) Configuré un certificat CA client sur l'instance RDS. Consultez la documentation Configurer un certificat CA client
Choisir une méthode
| Méthode | Fonctionnement | Cas d'utilisation |
|---|---|---|
| Méthode 1 : Configurer une liste de contrôle d'accès (ACL) client | L'instance RDS valide le client à l'aide d'un certificat et d'une clé privée avant d'autoriser la connexion | Vous souhaitez ajouter une vérification par certificat client en plus de l'application du protocole SSL |
| Méthode 2 : Configurer pg_hba.cnf | Modifie le type de connexion dans pg_hba.cnf en hostssl, ce qui rejette toutes les connexions non chiffrées |
Vous souhaitez appliquer le protocole SSL simplement, sans validation par certificat client |
Méthode 1 : Configurer une liste de contrôle d'accès (ACL) client
Une fois le certificat CA client configuré, définissez une liste de contrôle d'accès (ACL) sur l'instance RDS. L'instance validera le client via son certificat et sa clé privée avant d'établir la connexion.
La configuration de la liste ACL prend environ une minute. Durant cette période, aucune opération n'est possible sur l'instance RDS.
Accédez à la page des détails de l'instance, puis cliquez sur Modify à droite de Configure ACL.
-
Sélectionnez l'une des méthodes d'authentification suivantes. Pour la plupart des cas d'utilisation en production, privilégiez
verify-full(PostgreSQL 12 ou version ultérieure) ouverify-ca.Méthode d'authentification Action Version requise verify-caÉtablit une connexion SSL et valide le certificat client auprès de l'autorité de certification — verify-fullÉtablit une connexion SSL, valide le certificat client et vérifie que le nom commun (CN) du certificat correspond au nom d'utilisateur de connexion PostgreSQL 12 ou version ultérieure certUtilise le certificat client (au lieu d'un mot de passe) pour l'authentification ; établit une connexion SSL et valide le CN par rapport au nom d'utilisateur —
Méthode 2 : Configurer pg_hba.cnf
Utilisez la fonctionnalité AD Domain Service Configuration pour modifier pg_hba.cnf et définir le type de connexion sur hostssl. Cette action rejette toutes les connexions clientes non chiffrées.
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside votre instance RDS, puis cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, cliquez sur Accounts, puis sur l'onglet AD Domain Services.
-
Dans le premier enregistrement, remplacez la valeur de la colonne TYPE par
hostssl.
-
Cliquez sur Submit.
RemarqueAprès avoir cliqué sur Submit, le statut de l'instance passe à Maintaining Instance pendant environ une minute. La nouvelle configuration s'applique uniquement aux nouvelles connexions. Fermez les connexions existantes et reconnectez-vous pour que la modification prenne effet.