PostgreSQL-Clients zur Verwendung von SSL zwingen?

29

Ich habe ssl = onin postgresql.conf(und installiert ein Zertifikat usw.) konfiguriert . Stellt dies sicher, dass alle Clients immer eine Verbindung über SSL herstellen?

(Macht ssl = ones das Herstellen einer Verbindung ohne SSL-Verschlüsselung unmöglich ?)

Gibt es andere Möglichkeiten, um sicherzustellen, dass alle Clients immer eine Verbindung über SSL / TLS herstellen?

Herzliche Grüße, KajMagnus

KajMagnus
quelle

Antworten:

27

ssl = on aktiviert nur die Möglichkeit der Verwendung von SSL.

Um sicherzustellen, dass alle Clients SSL verwenden, fügen Sie hostsslZeilen hinzu pg_hba.conf, z.

hostssl  all  all  0.0.0.0/0  md5

und entfernen Sie alle hostZeilen. (Nun, vielleicht behalten Sie die für localhost.)

Peter Eisentraut
quelle
Ich habe alle Einstellungen in postgresql.confund vorgenommen pg_hba.conf. Allerdings kann ich mich noch mit verbinden sslmode=disable. zB psql "sslmode = disable host = localhost dbname = test" Habe ich hier etwas verpasst?
Andy Aldo
@AndyAldo Man müsste die gesamte Konfiguration sehen, um das zu analysieren. Das liegt hier außerhalb des Rahmens.
Peter Eisentraut
13

Nein, das ermöglicht einfach die Verwendung von SSL. Sie müssen auch die entsprechenden Änderungen an Ihrer Datei pg_hga.conf vornehmen .

gsiems
quelle
2
Oh, ich muss die Dokumente falsch gelesen haben: Ich dachte hostssl, der Client muss ein eigenes SSL-Zertifikat bereitstellen, aber jetzt habe ich festgestellt, dass es eine certAuthentifizierungsmethode gibt, die ich in der Datei pg_hga.conf angeben kann.
KajMagnus
(Danke, ich stimme Ihrer Antwort später zu, wenn ich die erforderlichen 15 Wiederholungen habe.)
KajMagnus