Secure Socket Layer in Oracle Cloud Infrastructure Database mit PostgreSQL konfigurieren

Einführung

Oracle Cloud Infrastructure Database mit PostgreSQL (OCI Database with PostgreSQL) unterstützt nur SSL-Verschlüsselung (Secure Socket Layer) für Datenbankinstanzen. Mit SSL können Sie die Verbindung zwischen Ihren Anwendungen und PostgreSQL-Datenbankinstanzen verschlüsseln.

Die SSL-Verschlüsselung ist für die Sicherung von Clientverbindungen zu OCI Database with PostgreSQL-Instanzen unerlässlich, um den Datenschutz während der Übertragung sicherzustellen. Wenn Sie den Verbindungstyp hostssl konfigurieren und den Parameter sslmode verwenden, können Sie die Ebene der SSL-Verifizierung für zusätzliche Sicherheit steuern. Standardmäßig ist TLSv1.2 sowohl für Client- als auch für Serververbindungen aktiviert und entspricht den branchenüblichen Praktiken. Für eine vollständig sichere und konforme PostgreSQL-Umgebung ist die Nutzung dieser SSL-Einstellungen von entscheidender Bedeutung.

Bei sicheren Clientverbindungen lässt OCI Database with PostgreSQL nur den Verbindungstyp hostssl in der Datei pg_hba.conf zu. Der Eintrag hostssl stellt sicher, dass TCP/IP-Verbindungen mit SSL verschlüsselt werden, sodass Clients SSL zur Authentifizierung verwenden müssen. Sie können auch die Ebene der SSL-Verifizierung über den Parameter sslmode angeben, der Optionen wie require, verify-ca und verify-full enthält.

Derzeit werden sowohl die Parameter ssl_max_protocol_version als auch ssl_min_protocol_version in OCI Database with PostgreSQL so konfiguriert, dass TLSv1.2 sowohl für Client- als auch für Serververbindungen verwendet wird. Es ist jedoch wichtig zu beachten, dass OCI Database with PostgreSQL keine spezifischen TLS-Versionen durchsetzen kann, da diese Parameter schreibgeschützte Systemvariablen sind.

Weitere Informationen zur SSL-Unterstützung in PostgreSQL-Datenbanken finden Sie unter Sichere TCP/IP-Verbindungen mit SSL.

Hinweis: SSL-Unterstützung ist in allen OCI-Regionen für PostgreSQL verfügbar.

Ziele

SSL-Modi

Die folgende Tabelle zeigt die Risiken, die durch verschiedene sslmode-Werte adressiert werden, sowie die Auswirkungen auf die Sicherheit und den zugehörigen Overhead für jeden einzelnen.

sslmode Abhörschutz MITM-Schutz Anweisung
disable Nr. Nr. Ich kümmere mich nicht um die Sicherheit, und ich möchte nicht den Overhead der Verschlüsselung bezahlen.
Zulassen Vielleicht Nr. Ich kümmere mich nicht um die Sicherheit, aber ich werde den Overhead der Verschlüsselung bezahlen, wenn der Server darauf besteht.
Bevorzugt Vielleicht Nr. Ich kümmere mich nicht um Verschlüsselung, aber ich möchte den Overhead der Verschlüsselung bezahlen, wenn der Server sie unterstützt.
erforderlich Ja Nr. Ich möchte, dass meine Daten verschlüsselt werden, und akzeptiere den Overhead. Ich vertraue darauf, dass das Netzwerk sicherstellen wird, dass ich immer eine Verbindung zu dem Server herstelle, den ich möchte.
verifizieren-ca Ja Abhängig von CA-Policy Ich möchte, dass meine Daten verschlüsselt werden, und ich akzeptiere den Overhead. Ich möchte sicher sein, dass ich eine Verbindung zu einem Server herstelle, dem ich vertraue.
verifizieren-vollständig Ja Ja Ich möchte, dass meine Daten verschlüsselt werden, und ich akzeptiere den Overhead. Ich möchte sicher sein, dass ich eine Verbindung zu einem Server herstelle, dem ich vertraue, und dass es der Server ist, den ich spezifiziere.

Weitere Informationen zu den verschiedenen sslmodes finden Sie in Tabelle 31-1 SSL MODE DESCRIPTIONS.

In OCI Database with PostgreSQL muss die sslmode auf require oder höher (verify-ca oder verify-full) gesetzt werden, da Nicht-SSL-Verbindungen aufgrund von gesetzlichen und Complianceanforderungen nicht unterstützt werden. SSL-Konnektivität ist obligatorisch, um sicherzustellen, dass alle Verbindungen während der Übertragung in Übereinstimmung mit den Compliancestandards von OCI verschlüsselt werden.

Die Zertifikate, die in OCI Database with PostgreSQL-Datenbankknoten verwendet werden, werden von einer privaten Certificate Authority (CA) ausgestellt, die über den OCI Certificates-Service verwaltet wird, der standardisierten von OCI genehmigten Konfigurationen entspricht. Dieser Ansatz unterscheidet sich von herkömmlichen selbstsignierten Zertifikaten, die häufig Nicht-Standardeinstellungen verwenden, die mit Tools wie OpenSSL generiert werden.

Verbindung zu OCI Database with PostgreSQL mit verschiedenen SSL-Modi herstellen

Verbindungsversuche zu OCI Database with PostgreSQL ohne SSL werden mit der folgenden Meldung abgelehnt.

no pg_hba.conf entry for host "yy.yy.yy.yy", user "xxxxx", database "zzzzzz", no encryption

Wenn die obige Fehlermeldung angezeigt wird, wird empfohlen, den SSL-Moduswert zu prüfen und den Parameter sslmode auf require oder höher zu setzen, um das Problem zu beheben.

TLS-Versionen in OCI Database with PostgreSQL bestimmen

In der folgenden Abbildung wird der Verschlüsselungsstatus Ihrer Verbindung angezeigt, wenn Sie eine Verbindung zur OCI Database with PostgreSQL-Instanz herstellen.

image

Sie können die folgende Abfrage ausführen, um Informationen aus pg_settings abzurufen.

image

Mit der folgenden Abfrage können Sie detaillierte Informationen zur SSL-Nutzung Ihrer OCI Database with PostgreSQL-Instanz nach Prozess, Client und Anwendung erfassen.

image

Mit der Systemansicht pg_stat_ssl können Sie den SSL-Status aller Verbindungen anzeigen. Weitere Informationen finden Sie in Tabelle 27.8. pg_stat_ssl-Ansicht.

image

SSL-Modus in verschiedenen GUI-Tools konfigurieren

Im Folgenden finden Sie einige Open-Source-GUI-Tools, mit denen Sie eine Verbindung zu OCI PostgreSQL-Datenbanken herstellen können. In dieser Aufgabe wird gezeigt, wie Sie sslmode in diesen Tools auf require oder höher konfigurieren, um Konnektivitätsprobleme bei der Verbindung zu OCI PostgreSQL-Datenbanken zu vermeiden.

Bestätigungen

Weitere Lernressourcen

Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.