2017-07-06 2 views
0

Ich habe eine Heroku PostgreSQL-Datenbank. Mit den von Heroku gelieferten Zugangsdaten (Host, Datenbank, Benutzername, Passwort) kann ich mich von meinem lokalen Rechner aus über den PSequel Client verbinden. Da Heroku SSL erfordert, muss ich "SSL verwenden" aktivieren, wodurch zusätzliche Felder angezeigt werden (Clientschlüssel, Clientzertifikat, Serverstammzertifikat). Heroku stellt solche Zertifikate jedoch nicht zur Verfügung. Ich bin in der Lage, eine Verbindung zur Datenbank herzustellen, indem ich "Use SSL" ankreuze, aber diese Zertifikate nicht an PSequel übermittele.Heroku PostgreSQL - wie erfolgt eine SSL-Verbindung ohne Zertifikate?

Wie funktioniert das? Ich hatte den Eindruck, dass Zertifikate für eine SSL-Verbindung benötigt werden. Ohne Zertifikate ist mein Verständnis, dass Sie Schlüsselaustausch und Verschlüsselung durchführen können, aber Sie wissen nicht, mit wem Sie sprechen, also sind Sie anfällig für einen Man-in-the-Middle-Angriff. Nach meinem Verständnis darf ich keine Verbindung zu meiner Heroku PostgreSQL-Datenbank mit SSL herstellen, oder irre ich mich? In der Vergangenheit habe ich Google Cloud SQL (MySQL) und Sequel Pro verwendet. In diesem Setup habe ich für meine Cloud SQL-Einstellungen festgelegt, dass SSL erforderlich ist, und Google hat mir Zertifikate (Clientschlüssel, Client-Zertifikat und Server-CA) bereitgestellt, die ich dann an Sequel Pro gesendet habe, um eine Verbindung mit SSL herzustellen. Wenn ich versuche, eine Verbindung herzustellen, ohne die Zertifikate zu liefern (aber "Verbindung über SSL herstellen" und den richtigen Host, Benutzernamen, Passwort eingeben), kann ich keine Verbindung herstellen und stattdessen "Zugriff verweigert" erhalten.

Antwort

0

Sie sollten ask PSequel, da dies nicht Open Source ist, so kann ich nicht auf den Code schauen.

Wenn ein PostgreSQL-Server für SSL-Verbindungen eingerichtet ist, kann der Client SSL-Verbindungen erzwingen, indem er die Verbindungsoption sslmode =require verwendet, und Sie benötigen kein Clientzertifikat (SSL wird dann für Verschlüsselung verwendet) , nicht zur Authentifizierung).

Verwandte Themen