Come Eseguire pgbench tramite il Proxy DataSunrise su PostgreSQL 14 con Autenticazione SCRAM
Introduzione
Benvenuti al nostro ultimo post sul blog dove analizziamo i dettagli dell’esecuzione di pgbench tramite un proxy DataSunrise per i database PostgreSQL, in particolare per la versione 14 e successive. Queste versioni di PostgreSQL includono una funzionalità attivata nota come autenticazione SCRAM, che migliora la sicurezza mediante migliori meccanismi di gestione delle password. Tuttavia, questa funzionalità introduce complessità quando si utilizzano strumenti come pgbench tramite un proxy. Analizziamo questo problema e forniamo una soluzione.
Comprendere l’Autenticazione SCRAM
SCRAM (Salted Challenge Response Authentication Mechanism) è un protocollo di sicurezza che offre una robusta protezione delle password per le connessioni al database. Previene il trafugamento delle password su reti non affidabili e consente di memorizzare le password in un formato sicuro e hashed sul server. Una parte fondamentale di questo protocollo consiste nell’uso di un certificato digitale per criptare le password durante il processo di autenticazione.
La Sfida con i Proxy
Quando ti connetti a PostgreSQL tramite un proxy come DataSunrise, i certificati utilizzati dal proxy e dal server del database possono differire. A causa di ciò, la password criptata inviata dal client, che il database dovrebbe decriptare utilizzando SCRAM, non può essere elaborata se passa attraverso il proxy a causa della mancata corrispondenza del certificato.
Soluzione per i Client
I client che desiderano utilizzare strumenti come pgbench tramite il proxy DataSunrise dovranno disabilitare il protocollo di autenticazione SCRAM sulla loro applicazione o sui driver. Disabilitare SCRAM consente alla connessione di tornare a un metodo di autenticazione meno rigoroso che non si affida alla corrispondenza dei certificati per la criptazione delle password.
Come Disabilitare SCRAM per pgbench
Per disabilitare l’autenticazione SCRAM quando si utilizza pgbench, è possibile impostare una variabile di ambiente che istruisce il client PostgreSQL a ignorare il binding del canale (una componente di SCRAM). Ecco come farlo:
Apri il tuo terminale.
Prima di eseguire pgbench, esporta la seguente variabile di ambiente:
export PGCHANNELBINDING=disable
Ora, esegui pgbench come faresti normalmente.
Conclusione
Impostando la variabile di ambiente PGCHANNELBINDING su ‘disable’, puoi eseguire senza problemi pgbench tramite il proxy DataSunrise anche nelle versioni più recenti di PostgreSQL che utilizzano l’autenticazione SCRAM. Questa soluzione alternativa assicura che i tuoi test di performance non si blocchino a causa delle funzionalità di sicurezza avanzate.
Ricorda che, sebbene questo metodo ti consenta di procedere con i test di performance, dovrebbe essere usato con cautela e preferibilmente in un ambiente di rete sicuro e affidabile, poiché bypassa una funzionalità di sicurezza avanzata di PostgreSQL.