Wie man pgbench durch den DataSunrise-Proxy auf PostgreSQL 14 mit SCRAM-Authentifizierung ausführt
Einführung
Willkommen zu unserem neuesten Blogbeitrag, in dem wir detailliert darauf eingehen, wie man pgbench über einen DataSunrise-Proxy für PostgreSQL-Datenbanken, insbesondere für Version 14 und spätere Versionen, ausführt. Diese Versionen von PostgreSQL verfügen über ein aktiviertes Feature namens SCRAM-Authentifizierung, das die Sicherheit durch bessere Passwortverwaltung verbessert. Dieses Feature bringt jedoch Komplexitäten mit sich, wenn man Tools wie pgbench über einen Proxy ausführt. Lassen Sie uns dieses Problem aufschlüsseln und eine Lösung anbieten.
Verstehen der SCRAM-Authentifizierung
SCRAM (Salted Challenge Response Authentication Mechanism) ist ein Sicherheitsprotokoll, das einen robusten Passwortschutz für Datenbankverbindungen bietet. Es verhindert das Schnüffeln von Passwörtern in nicht vertrauenswürdigen Netzwerken und ermöglicht es, Passwörter in einem sicheren, gehashten Format auf dem Server zu speichern. Ein wesentlicher Bestandteil dieses Protokolls besteht darin, ein digitales Zertifikat zur Verschlüsselung der Passwörter während des Authentifizierungsprozesses zu verwenden.
Die Herausforderung mit Proxys
Wenn Sie sich über einen Proxy wie DataSunrise mit PostgreSQL verbinden, können sich die von dem Proxy und dem Datenbankserver verwendeten Zertifikate unterscheiden. Aufgrund dessen kann das verschlüsselte Passwort, das vom Client gesendet wird und vom Datenbankserver mittels SCRAM entschlüsselt werden sollte, nicht verarbeitet werden, wenn es durch den Proxy geht, da das Zertifikat nicht übereinstimmt.
Lösung für Clients
Clients, die Tools wie pgbench über den DataSunrise-Proxy verwenden möchten, müssen das SCRAM-Authentifizierungsprotokoll in ihrer Anwendung oder ihren Treibern deaktivieren. Durch die Deaktivierung von SCRAM kann die Verbindung zu einer weniger strengen Authentifizierungsmethode zurückkehren, die nicht auf übereinstimmenden Zertifikaten zur Passwortverschlüsselung angewiesen ist.
Wie man SCRAM für pgbench deaktiviert
Um SCRAM-Authentifizierung bei der Verwendung von pgbench zu deaktivieren, können Sie eine Umgebungsvariable setzen, die den PostgreSQL-Client anweist, das Channel Binding (eine Komponente von SCRAM) zu ignorieren. So machen Sie das:
Öffnen Sie Ihr Terminal.
Bevor Sie pgbench ausführen, exportieren Sie die folgende Umgebungsvariable:
export PGCHANNELBINDING=disable
Führen Sie nun pgbench wie gewohnt aus.
Fazit
Indem Sie die Umgebungsvariable PGCHANNELBINDING auf ‘disable’ setzen, können Sie pgbench problemlos über den DataSunrise-Proxy ausführen, selbst auf den neuesten PostgreSQL-Versionen, die SCRAM-Authentifizierung nutzen. Dieser Workaround stellt sicher, dass Ihre Leistungstests nicht durch erweiterte Sicherheitsfunktionen blockiert werden.
Denken Sie daran, dass diese Methode zwar ermöglicht, Ihre Leistungstests durchzuführen, sie jedoch mit Vorsicht und vorzugsweise in einer sicheren, vertrauenswürdigen Netzwerkumgebung verwendet werden sollte, da sie ein fortschrittliches Sicherheitsmerkmal von PostgreSQL umgeht.