Comment exécuter pgbench via le proxy DataSunrise sur PostgreSQL 14 avec l’authentification SCRAM
Introduction
Bienvenue dans notre dernier article de blog où nous plongeons dans les spécificités de l’exécution de pgbench via un proxy DataSunrise pour les bases de données PostgreSQL, en particulier pour la version 14 et les suivantes. Ces versions de PostgreSQL sont livrées avec une fonctionnalité activée connue sous le nom d’authentification SCRAM, renforçant la sécurité grâce à de meilleurs mécanismes de gestion des mots de passe. Cependant, cette fonctionnalité introduit des complexités lors de l’utilisation d’outils comme pgbench via un proxy. Explorons ce problème et fournissons une solution.
Comprendre l’authentification SCRAM
SCRAM (Salted Challenge Response Authentication Mechanism) est un protocole de sécurité qui offre une protection robuste des mots de passe pour les connexions de base de données. Il évite le reniflement de mots de passe sur des réseaux non fiables et permet de stocker les mots de passe de manière sécurisée, sous forme hachée, sur le serveur. Un élément clé de ce protocole consiste à utiliser un certificat numérique pour chiffrer les mots de passe pendant le processus d’authentification.
Le défi des proxys
Lorsque vous vous connectez à PostgreSQL via un proxy comme DataSunrise, les certificats utilisés par le proxy et le serveur de base de données peuvent différer. De ce fait, le mot de passe chiffré envoyé par le client, que la base de données doit déchiffrer à l’aide de SCRAM, ne peut pas être traité s’il passe par le proxy en raison de la non-concordance des certificats.
Solution pour les clients
Les clients souhaitant utiliser des outils comme pgbench via le proxy DataSunrise devront désactiver le protocole d’authentification SCRAM sur leur application ou leurs pilotes. Désactiver SCRAM permet à la connexion de revenir à une méthode d’authentification moins stricte qui ne dépend pas de la correspondance des certificats pour le chiffrement des mots de passe.
Comment désactiver SCRAM pour pgbench
Pour désactiver l’authentification SCRAM lors de l’utilisation de pgbench, vous pouvez définir une variable d’environnement qui indique au client PostgreSQL d’ignorer la liaison de canal (un composant de SCRAM). Voici comment faire :
Ouvrez votre terminal.
Avant d’exécuter pgbench, exportez la variable d’environnement suivante :
export PGCHANNELBINDING=disable
Maintenant, exécutez pgbench comme vous le feriez normalement.
Conclusion
En définissant la variable d’environnement PGCHANNELBINDING sur ‘disable’, vous pouvez exécuter sans problème pgbench via le proxy DataSunrise même sur les dernières versions de PostgreSQL qui utilisent l’authentification SCRAM. Cette solution de contournement garantit que vos tests de performance ne soient pas bloqués par les fonctionnalités de sécurité renforcée.
Gardez à l’esprit que bien que cette méthode vous permette de procéder à vos tests de performance, elle doit être utilisée avec prudence et de préférence dans un environnement réseau sécurisé et de confiance, car elle contourne une fonctionnalité de sécurité avancée de PostgreSQL.