Je souhaite me connecter à mon cluster de base de données Amazon Aurora compatible PostgreSQL à l'aide d'une connexion SSL (Secure Socket Layer).
Brève description
Vous pouvez crypter une connexion à votre cluster de base de données compatible Aurora PostgreSQL à partir de votre application à l'aide du protocole SSL ou du protocole TLS (Transport Layer Security). Les connexions SSL et TLS fournissent un niveau de sécurité unique à votre cluster et cryptent les données qui circulent entre votre client et le cluster. Pour plus d'informations, consultez la section Utilisation de SSL/TLS pour chiffrer une connexion à un cluster de bases de données.
Pour être sécurisées, les connexions SSL doivent être configurées à la fois sur le client et le serveur avant d'établir la connexion. Si le protocole SSL n'est pas configuré sur le serveur, le client peut envoyer des informations sensibles telles que des mots de passe. Pour plus d'informations sur la création d'une connexion sécurisée SSL, consultez la documentation PostgreSQL pour la prise en charge du protocole SSL.
Les modes SSL pour PostgreSQL sont les suivants :
- verify-full
- verify-ca
- require
- prefer
- allow
- disable
Pour plus d'informations sur le choix du mode SSL adapté à votre cas d'utilisation, consultez la documentation PostgreSQL relative à la protection fournie dans différents modes.
Solution
Amazon Relational Database Service (Amazon RDS) crée la certification SSL ou TLS pour votre cluster lorsque vous le définissez. Pour plus d'informations, consultez la section Sécurité avec Amazon Aurora PostgreSQL.
Connectez-vous à votre cluster de base de données via SSL/TLS
1. Téléchargez le certificat SSL/TSL.
2. Importez le certificat dans votre système d'exploitation.
3. Connectez-vous à votre cluster de base de données compatible Aurora PostgreSQL via SSL/TLS.
Consultez cet exemple :
psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"
Lorsque vous définissez rds.force_ssl sur 1 (activé), le fichier pg_hba.conf de votre instance de base de données est modifié afin de prendre en charge la nouvelle configuration SSL. Vous pouvez utiliser pg_hba_file_rules afin d'afficher le résumé du contenu du fichier pg_hba.conf. La valeur de type dans la vue pg_hba_file_rules est mise à jour en hostssl une fois que rds.force_ssl est défini sur 1 (activé).
Vous pouvez exiger que les connexions à votre cluster de base de données utilisent SSL/TLS. Pour ce faire, utilisez le paramètre rds.force_ssl. Le paramètre rds.force_ssl est défini sur 0 par défaut, ce qui signifie qu'il est désactivé. Pour activer ce paramètre, définissez rds.force_ssl sur 1. Le protocole SSL/TLS est donc obligatoire pour les connexions à votre cluster de base de données.
Pour plus d'informations, consultez la section Sécurisation des données Aurora PostgreSQL avec SSL/TLS.
Vérifiez la connexion SSL
Pour vérifier que la connexion SSL est bien établie, exécutez cette commande :
postgres=> select ssl_is_used();
ssl_is_used
-------------
t
(1 row)
postgres=> select ssl_cipher();
ssl_cipher
-----------------------------
ECDHE-RSA-AES128-GCM-SHA256
(1 row)